Dataspryva

Crexi Commercial Property Listings & Pricing Extractor

Collects active commercial real estate listings from Crexi across any US state and 14 property types, with asking price, square footage, location, and brokerage details.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
propertyUrlsarrayoptionalPaste Crexi property links or IDs (e.g. https://www.crexi.com/properties/123456/name, /lease/properties/987/name, a bare ID, or a property-record link) to fetch those exact listings. A Crexi search URL (https://www.crexi.com/search/...) is also accepted and its filters are reused. Leave empty to search by the filters below.
transactionTypesarrayoptionalWhich Crexi marketplaces to search. Empty = for-sale listings only.
searchTermsarrayoptionalFree-text keywords matched against listing names, descriptions and addresses (e.g. warehouse, medical office).
Show all input fields
FieldTypeRequiredDescription
propertyUrlsarrayoptionalPaste Crexi property links or IDs (e.g. https://www.crexi.com/properties/123456/name, /lease/properties/987/name, a bare ID, or a property-record link) to fetch those exact listings. A Crexi search URL (https://www.crexi.com/search/...) is also accepted and its filters are reused. Leave empty to search by the filters below.
transactionTypesarrayoptionalWhich Crexi marketplaces to search. Empty = for-sale listings only.
searchTermsarrayoptionalFree-text keywords matched against listing names, descriptions and addresses (e.g. warehouse, medical office).
propertyTypesarrayoptionalOne or more commercial property categories. Empty searches every type.
subtypesarrayoptionalNarrow to specific subtypes (e.g. Shopping Center, Medical Office, Warehouse). Note: some subtypes exist only for sale or only for lease listings.
locationsarrayoptionalUS states to search, by two-letter code or full name. Each state is searched and combined. Empty searches nationwide.
citiesarrayoptionalCity names to filter by (e.g. Austin). Works alongside or instead of states.
countiesarrayoptionalCounty names to filter by, including the word County where Crexi uses it (e.g. Travis County).
zipCodesarrayoptionalUS ZIP codes to filter by (e.g. 78701).
minPriceintegeroptionalOnly return listings asking at least this much. Sale and auction listings only.
maxPriceintegeroptionalOnly return listings asking at most this much. Sale and auction listings only.
minPricePerSqftnumberoptionalOnly return sale listings priced at or above this per square foot.
maxPricePerSqftnumberoptionalOnly return sale listings priced at or below this per square foot.
minCapRatenumberoptionalOnly return sale listings with a published cap rate at or above this percentage.
maxCapRatenumberoptionalOnly return sale listings with a published cap rate at or below this percentage.
minSquareFootageintegeroptionalOnly return listings whose building is at least this large.
maxSquareFootageintegeroptionalOnly return listings whose building is at most this large.
minRatePerSqftAnnualnumberoptionalFor-lease listings only: minimum annual rate per square foot.
maxRatePerSqftAnnualnumberoptionalFor-lease listings only: maximum annual rate per square foot.
buildingClassesarrayoptionalFilter by commercial building class. Empty includes all classes.
opportunityZoneOnlybooleanoptionalOnly return sale listings located in a designated Opportunity Zone.
includeUnpricedbooleanoptionalInclude sale and auction listings Crexi shows without a public asking price (auctions, call for offers).
sortBystringoptionalOrder of results within each search.
sortDirectionstringoptionalAscending or descending order for the sort chosen above.
scrapeDetailsbooleanoptionalFetch each listing's detail data: broker contacts (phone and email), the broker of record when published, the full photo gallery in high resolution, investment highlights, the marketing description, published fact-sheet values, and full auction details for auction listings. Adds a few requests per listing.
includeSimilarPropertiesbooleanoptionalAdd up to 6 similar nearby listings (comps) to each record.
maxPropertiesintegeroptionalStop once this many listings have been collected. Crexi returns at most 1,500 rows per filter combination; larger requests are automatically split into price-range partitions.

Download the published input schema

View complete JSON
{
  "description": "Search Crexi sale, lease and auction listings by keyword, location, property type, size, price, cap rate and more — or paste specific Crexi property or search URLs. No proxy, cookies or API keys needed.",
  "properties": {
    "buildingClasses": {
      "default": [],
      "description": "Filter by commercial building class. Empty includes all classes.",
      "editor": "select",
      "items": {
        "enum": [
          "A",
          "B",
          "C"
        ],
        "enumTitles": [
          "Class A",
          "Class B",
          "Class C"
        ],
        "type": "string"
      },
      "title": "Building classes",
      "type": "array",
      "uniqueItems": true
    },
    "cities": {
      "default": [],
      "description": "City names to filter by (e.g. Austin). Works alongside or instead of states.",
      "editor": "stringList",
      "prefill": [],
      "title": "Cities",
      "type": "array"
    },
    "counties": {
      "default": [],
      "description": "County names to filter by, including the word County where Crexi uses it (e.g. Travis County).",
      "editor": "stringList",
      "prefill": [],
      "title": "Counties",
      "type": "array"
    },
    "includeSimilarProperties": {
      "default": false,
      "description": "Add up to 6 similar nearby listings (comps) to each record.",
      "prefill": false,
      "title": "Include similar properties",
      "type": "boolean"
    },
    "includeUnpriced": {
      "default": true,
      "description": "Include sale and auction listings Crexi shows without a public asking price (auctions, call for offers).",
      "prefill": true,
      "title": "Include listings without a price",
      "type": "boolean"
    },
    "locations": {
      "default": [],
      "description": "US states to search, by two-letter code or full name. Each state is searched and combined. Empty searches nationwide.",
      "editor": "select",
      "items": {
        "enum": [
          "AL",
          "AK",
          "AZ",
          "AR",
          "CA",
          "CO",
          "CT",
          "DE",
          "FL",
          "GA",
          "HI",
          "ID",
          "IL",
          "IN",
          "IA",
          "KS",
          "KY",
          "LA",
          "ME",
          "MD",
          "MA",
          "MI",
          "MN",
          "MS",
          "MO",
          "MT",
          "NE",
          "NV",
          "NH",
          "NJ",
          "NM",
          "NY",
          "NC",
          "ND",
          "OH",
          "OK",
          "OR",
          "PA",
          "RI",
          "SC",
          "SD",
          "TN",
          "TX",
          "UT",
          "VT",
          "VA",
          "WA",
          "WV",
          "WI",
          "WY",
          "DC",
          "Alabama",
          "Alaska",
          "Arizona",
          "Arkansas",
          "California",
          "Colorado",
          "Connecticut",
          "Delaware",
          "Florida",
          "Georgia",
          "Hawaii",
          "Idaho",
          "Illinois",
          "Indiana",
          "Iowa",
          "Kansas",
          "Kentucky",
          "Louisiana",
          "Maine",
          "Maryland",
          "Massachusetts",
          "Michigan",
          "Minnesota",
          "Mississippi",
          "Missouri",
          "Montana",
          "Nebraska",
          "Nevada",
          "New Hampshire",
          "New Jersey",
          "New Mexico",
          "New York",
          "North Carolina",
          "North Dakota",
          "Ohio",
          "Oklahoma",
          "Oregon",
          "Pennsylvania",
          "Rhode Island",
          "South Carolina",
          "South Dakota",
          "Tennessee",
          "Texas",
          "Utah",
          "Vermont",
          "Virginia",
          "Washington",
          "West Virginia",
          "Wisconsin",
          "Wyoming",
          "District Of Columbia"
        ],
        "enumTitles": [
          "Alabama (AL)",
          "Alaska (AK)",
          "Arizona (AZ)",
          "Arkansas (AR)",
          "California (CA)",
          "Colorado (CO)",
          "Connecticut (CT)",
          "Delaware (DE)",
          "Florida (FL)",
          "Georgia (GA)",
          "Hawaii (HI)",
          "Idaho (ID)",
          "Illinois (IL)",
          "Indiana (IN)",
          "Iowa (IA)",
          "Kansas (KS)",
          "Kentucky (KY)",
          "Louisiana (LA)",
          "Maine (ME)",
          "Maryland (MD)",
          "Massachusetts (MA)",
          "Michigan (MI)",
          "Minnesota (MN)",
          "Mississippi (MS)",
          "Missouri (MO)",
          "Montana (MT)",
          "Nebraska (NE)",
          "Nevada (NV)",
          "New Hampshire (NH)",
          "New Jersey (NJ)",
          "New Mexico (NM)",
          "New York (NY)",
          "North Carolina (NC)",
          "North Dakota (ND)",
          "Ohio (OH)",
          "Oklahoma (OK)",
          "Oregon (OR)",
          "Pennsylvania (PA)",
          "Rhode Island (RI)",
          "South Carolina (SC)",
          "South Dakota (SD)",
          "Tennessee (TN)",
          "Texas (TX)",
          "Utah (UT)",
          "Vermont (VT)",
          "Virginia (VA)",
          "Washington (WA)",
          "West Virginia (WV)",
          "Wisconsin (WI)",
          "Wyoming (WY)",
          "District Of Columbia (DC)",
          "Alabama",
          "Alaska",
          "Arizona",
          "Arkansas",
          "California",
          "Colorado",
          "Connecticut",
          "Delaware",
          "Florida",
          "Georgia",
          "Hawaii",
          "Idaho",
          "Illinois",
          "Indiana",
          "Iowa",
          "Kansas",
          "Kentucky",
          "Louisiana",
          "Maine",
          "Maryland",
          "Massachusetts",
          "Michigan",
          "Minnesota",
          "Mississippi",
          "Missouri",
          "Montana",
          "Nebraska",
          "Nevada",
          "New Hampshire",
          "New Jersey",
          "New Mexico",
          "New York",
          "North Carolina",
          "North Dakota",
          "Ohio",
          "Oklahoma",
          "Oregon",
          "Pennsylvania",
          "Rhode Island",
          "South Carolina",
          "South Dakota",
          "Tennessee",
          "Texas",
          "Utah",
          "Vermont",
          "Virginia",
          "Washington",
          "West Virginia",
          "Wisconsin",
          "Wyoming",
          "District Of Columbia"
        ],
        "type": "string"
      },
      "title": "States",
      "type": "array",
      "uniqueItems": true
    },
    "maxCapRate": {
      "description": "Only return sale listings with a published cap rate at or below this percentage.",
      "editor": "number",
      "maximum": 100,
      "minimum": 0,
      "nullable": true,
      "title": "Maximum cap rate (%)",
      "type": "number"
    },
    "maxPrice": {
      "description": "Only return listings asking at most this much. Sale and auction listings only.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Maximum asking price (USD)",
      "type": "integer"
    },
    "maxPricePerSqft": {
      "description": "Only return sale listings priced at or below this per square foot.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Maximum price per sq ft (USD)",
      "type": "number"
    },
    "maxProperties": {
      "default": 100,
      "description": "Stop once this many listings have been collected. Crexi returns at most 1,500 rows per filter combination; larger requests are automatically split into price-range partitions.",
      "editor": "number",
      "maximum": 100000,
      "minimum": 1,
      "prefill": 5,
      "title": "Maximum listings",
      "type": "integer"
    },
    "maxRatePerSqftAnnual": {
      "description": "For-lease listings only: maximum annual rate per square foot.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Maximum lease rate ($/sq ft/year)",
      "type": "number"
    },
    "maxSquareFootage": {
      "description": "Only return listings whose building is at most this large.",
      "editor": "number",
      "minimum": 1,
      "nullable": true,
      "title": "Maximum building size (sq ft)",
      "type": "integer"
    },
    "minCapRate": {
      "description": "Only return sale listings with a published cap rate at or above this percentage.",
      "editor": "number",
      "maximum": 100,
      "minimum": 0,
      "nullable": true,
      "title": "Minimum cap rate (%)",
      "type": "number"
    },
    "minPrice": {
      "description": "Only return listings asking at least this much. Sale and auction listings only.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Minimum asking price (USD)",
      "type": "integer"
    },
    "minPricePerSqft": {
      "description": "Only return sale listings priced at or above this per square foot.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Minimum price per sq ft (USD)",
      "type": "number"
    },
    "minRatePerSqftAnnual": {
      "description": "For-lease listings only: minimum annual rate per square foot.",
      "editor": "number",
      "minimum": 0,
      "nullable": true,
      "title": "Minimum lease rate ($/sq ft/year)",
      "type": "number"
    },
    "minSquareFootage": {
      "description": "Only return listings whose building is at least this large.",
      "editor": "number",
      "minimum": 1,
      "nullable": true,
      "title": "Minimum building size (sq ft)",
      "type": "integer"
    },
    "opportunityZoneOnly": {
      "default": false,
      "description": "Only return sale listings located in a designated Opportunity Zone.",
      "prefill": false,
      "title": "Opportunity Zones only",
      "type": "boolean"
    },
    "propertyTypes": {
      "default": [],
      "description": "One or more commercial property categories. Empty searches every type.",
      "editor": "select",
      "items": {
        "enum": [
          "Office",
          "Retail",
          "Industrial",
          "Multifamily",
          "Land",
          "Hospitality",
          "Mixed Use",
          "Special Purpose",
          "Self Storage",
          "Mobile Home Park",
          "Senior Living",
          "Business for Sale",
          "Note/Loan",
          "Restaurant"
        ],
        "enumTitles": [
          "Office",
          "Retail",
          "Industrial",
          "Multifamily",
          "Land",
          "Hospitality",
          "Mixed Use",
          "Special Purpose",
          "Self Storage",
          "Mobile Home Park",
          "Senior Living",
          "Business for Sale",
          "Note/Loan",
          "Restaurant"
        ],
        "type": "string"
      },
      "title": "Property types",
      "type": "array",
      "uniqueItems": true
    },
    "propertyUrls": {
      "default": [],
      "description": "Paste Crexi property links or IDs (e.g. https://www.crexi.com/properties/123456/name, /lease/properties/987/name, a bare ID, or a property-record link) to fetch those exact listings. A Crexi search URL (https://www.crexi.com/search/...) is also accepted and its filters are reused. Leave empty to search by the filters below.",
      "editor": "stringList",
      "prefill": [],
      "title": "Property or search URLs",
      "type": "array"
    },
    "scrapeDetails": {
      "default": false,
      "description": "Fetch each listing's detail data: broker contacts (phone and email), the broker of record when published, the full photo gallery in high resolution, investment highlights, the marketing description, published fact-sheet values, and full auction details for auction listings. Adds a few requests per listing.",
      "prefill": false,
      "title": "Enrich with full details",
      "type": "boolean"
    },
    "searchTerms": {
      "default": [],
      "description": "Free-text keywords matched against listing names, descriptions and addresses (e.g. warehouse, medical office).",
      "editor": "stringList",
      "prefill": [],
      "title": "Keywords",
      "type": "array"
    },
    "sortBy": {
      "default": "Rank",
      "description": "Order of results within each search.",
      "editor": "select",
      "enum": [
        "Rank",
        "Price",
        "CapRate",
        "Noi",
        "UpdatedOn",
        "ActivatedOn",
        "CreatedOn"
      ],
      "enumTitles": [
        "Recommended (best match)",
        "Asking price",
        "Cap rate",
        "Net operating income",
        "Recently updated",
        "Recently listed",
        "Newest created"
      ],
      "prefill": "Rank",
      "title": "Sort by",
      "type": "string"
    },
    "sortDirection": {
      "default": "Descending",
      "description": "Ascending or descending order for the sort chosen above.",
      "editor": "select",
      "enum": [
        "Descending",
        "Ascending"
      ],
      "enumTitles": [
        "Descending (high to low / newest first)",
        "Ascending (low to high)"
      ],
      "prefill": "Descending",
      "title": "Sort direction",
      "type": "string"
    },
    "subtypes": {
      "default": [],
      "description": "Narrow to specific subtypes (e.g. Shopping Center, Medical Office, Warehouse). Note: some subtypes exist only for sale or only for lease listings.",
      "editor": "select",
      "items": {
        "enum": [
          "Apartment Building",
          "Student Housing",
          "Single Family Rental Portfolio",
          "RV Park",
          "Traditional Office",
          "Executive Office",
          "Medical Office",
          "Creative Office",
          "Warehouse",
          "Distribution",
          "Flex",
          "Manufacturing",
          "R&D",
          "Refrigerated/Cold Storage",
          "Storefront",
          "Shopping Center",
          "Restaurant",
          "QSR/Fast Food",
          "Bar",
          "Bank",
          "Convenience Store",
          "Grocery Store",
          "Pharmacy/Drug",
          "Gas Station",
          "Auto Shop",
          "Day Care/Nursery",
          "Hotel",
          "Motel",
          "Casino",
          "Agricultural",
          "Farm",
          "Ranch",
          "Timber",
          "Hunting/Recreational",
          "Residential",
          "Commercial",
          "Industrial",
          "Islands",
          "Telecom/Data Center",
          "Sports/Entertainment",
          "Marina",
          "Golf Course",
          "School",
          "Religious/Church",
          "Garage/Parking",
          "Car Wash",
          "Airport",
          "Business Only",
          "Business and Building",
          "Coworking"
        ],
        "enumTitles": [
          "Apartment Building",
          "Student Housing",
          "Single Family Rental Portfolio",
          "RV Park",
          "Traditional Office",
          "Executive Office",
          "Medical Office",
          "Creative Office",
          "Warehouse",
          "Distribution",
          "Flex",
          "Manufacturing",
          "R&D",
          "Refrigerated/Cold Storage",
          "Storefront",
          "Shopping Center",
          "Restaurant",
          "QSR/Fast Food",
          "Bar",
          "Bank",
          "Convenience Store",
          "Grocery Store",
          "Pharmacy/Drug",
          "Gas Station",
          "Auto Shop",
          "Day Care/Nursery",
          "Hotel",
          "Motel",
          "Casino",
          "Agricultural",
          "Farm",
          "Ranch",
          "Timber",
          "Hunting/Recreational",
          "Residential",
          "Commercial",
          "Industrial",
          "Islands",
          "Telecom/Data Center",
          "Sports/Entertainment",
          "Marina",
          "Golf Course",
          "School",
          "Religious/Church",
          "Garage/Parking",
          "Car Wash",
          "Airport",
          "Business Only",
          "Business and Building",
          "Coworking"
        ],
        "type": "string"
      },
      "title": "Property subtypes",
      "type": "array",
      "uniqueItems": true
    },
    "transactionTypes": {
      "default": [],
      "description": "Which Crexi marketplaces to search. Empty = for-sale listings only.",
      "editor": "select",
      "items": {
        "enum": [
          "sale",
          "lease",
          "auction"
        ],
        "enumTitles": [
          "For sale",
          "For lease",
          "Auctions"
        ],
        "type": "string"
      },
      "title": "Listing kind",
      "type": "array",
      "uniqueItems": true
    },
    "zipCodes": {
      "default": [],
      "description": "US ZIP codes to filter by (e.g. 78701).",
      "editor": "stringList",
      "prefill": [],
      "title": "ZIP codes",
      "type": "array"
    }
  },
  "required": [],
  "schemaVersion": 1,
  "title": "Crexi Commercial Property Listings & Pricing Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
listingsstringoptionalDataset containing all scraped Crexi commercial property listings.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "Dataset of Crexi sale, lease and auction commercial property listings with pricing, cap rate, NOI, sizes, brokers, locations, photos and optional detail enrichment.",
  "properties": {
    "listings": {
      "description": "Dataset containing all scraped Crexi commercial property listings.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Listings",
      "type": "string"
    }
  },
  "title": "Crexi Commercial Property Listings & Pricing Extractor Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "broker_names": {
            "format": "text",
            "label": "Brokers"
          },
          "building_sqft": {
            "format": "text",
            "label": "Building SqFt"
          },
          "cap_rate": {
            "format": "text",
            "label": "Cap Rate %"
          },
          "city": {
            "format": "text",
            "label": "City"
          },
          "name": {
            "format": "text",
            "label": "Property Name"
          },
          "net_operating_income": {
            "format": "text",
            "label": "NOI"
          },
          "price": {
            "format": "text",
            "label": "Price"
          },
          "property_type": {
            "format": "text",
            "label": "Type"
          },
          "property_url": {
            "format": "link",
            "label": "URL"
          },
          "state": {
            "format": "text",
            "label": "State"
          },
          "transaction_type": {
            "format": "text",
            "label": "Kind"
          }
        }
      },
      "title": "Listings",
      "transformation": {
        "fields": [
          "name",
          "transaction_type",
          "property_type",
          "city",
          "state",
          "price",
          "cap_rate",
          "net_operating_income",
          "building_sqft",
          "broker_names",
          "property_url"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Crexi Commercial Property Listings & Pricing Extractor

Crexi is one of the largest US marketplaces for commercial real estate. This actor reads Crexi's own public listing APIs and returns for-sale, for-lease and auction properties as clean, structured rows — asking price, cap rate, NOI, building size, year built, lot size, broker contacts, photo galleries and coordinates. No account, cookies or proxy setup are required.

What this actor does

  • Three marketplaces in one actor: for-sale listings, for-lease listings and live auctions, with the filters each one actually supports.
  • Full filter surface: keywords, states, cities, counties, ZIP codes, 14 property categories, 50 subtypes, building class, asking price, price per square foot, cap rate, building size, lease rate, and Opportunity Zone listings.
  • Handles Crexi's result window for you. Crexi's API only returns 1,500 rows per filter combination. When you ask for more, the actor automatically splits the search into price-range partitions and merges the results, deduplicated.
  • Direct URL mode: paste any Crexi property link or ID — for-sale or for-lease — and the actor fetches exactly those records.
  • Optional enrichment: one toggle adds full broker contacts (name, brokerage website, license, profile), high-resolution gallery photos, investment highlights, the marketing write-up and published fact-sheet values.
  • Optional comps: attach up to six similar nearby listings to each record.
  • Fields Crexi does not publish for a listing (for example an undisclosed price) are omitted from that record instead of being written as blank or null.

Output per listing

  • property_id, name, property_url, record_type: "property" (property-record rows use record_type: "property_record")
  • transaction_type — sale or lease; is_auction and the auction block for auction listings
  • property_type (asset class), subtypes[]
  • address, city, county, state, zip_code, latitude, longitude
  • price (formatted) and price_usd (number), price_per_sqft, price_per_acre
  • square_footage (formatted) and building_sqft (number), lot_acres
  • cap_rate, net_operating_income (formatted) and noi_usd (number)
  • year_built, year_renovated, class, tenancy, units, stories
  • brokerage, broker_names[] — and with enrichment, brokers[] with profile, website, license, photo, phone and email, plus broker_phones[]/broker_emails[] and broker_of_record (name, license, phone when Crexi publishes it)
  • listing_status, investment_type, offers_due_on, is_opportunity_zone
  • Auction rows: is_auction, auction_starting_bid_usd, auction_minimum_bid_usd, auction_starts_on, auction_ends_on; with enrichment also auction_status, auction_bid_increment_usd, auction_reserve_met, auction_marketing_starts_on, auction_earnest_deposit_usd/auction_earnest_deposit_percent, auction_deposit_option, auction_escrow_period_days, auction_participation_deposit_usd, auctioneer, auction_transaction_fee_percent, auction_minimum_fee_usd, auction_registered_bidders, auction_approved_bidders, auction_page_views
  • has_om, has_flyer, has_video, has_virtual_tour
  • activated_on, updated_on, days_on_market
  • description; with enrichment also marketing_description, investment_highlights[], details
  • images[] (all gallery photos), image_count
  • source, scraped_at
  • Lease listings add lease_type, rate_type, lease_rate_per_sqft_annual, lease_rate_monthly_total, rentable_sqft_min, rentable_sqft_max, suites, vacant_suites
  • With similar properties enabled: similar_properties[] — id, name, price and link for each comp (Crexi returns up to 500 per listing)

Output per property record (property-record URL input)

  • property_id, name, property_url (https://www.crexi.com/property-records/...), record_type: "property_record"
  • apn, regrid_path — parcel identifiers
  • address, city, county, state, zip_code, latitude, longitude
  • property_type, subtypes[], class, building_sqft, buildings, units, lot_acres, lot_sqft, year_built, tenancy
  • days_on_market, sale_transaction_type, is_sales_comp, is_lease_comp, sales_comp_type, lease_comp_type, is_broker_reported_sales_comp
  • broker_names[], description, images[], image_count, activated_on, updated_on
  • related_sale_listing_ids[] / related_lease_listing_ids[] when Crexi links the record to marketplace listings

Input

Field Type Default Description
propertyUrls Array – Crexi property links, /lease/properties/... links, bare IDs, or property-records/... links to fetch exact rows. A Crexi search URL is also accepted and its filters are reused. When set, the filter fields below are skipped.
transactionTypes Select (multi) – sale, lease or auction. Empty means for-sale only.
searchTerms Array – Keywords matched against listing names, descriptions and addresses.
propertyTypes Select (multi) – 14 commercial categories. Empty searches every type.
subtypes Select (multi) – 50 subtypes such as Shopping Center, Medical Office, Warehouse. Some subtypes exist only for sale or only for lease.
locations Select (multi) – US states by two-letter code or full name. Empty searches nationwide.
cities Array – City names, e.g. Austin.
counties Array – County names as Crexi writes them, e.g. Travis County.
zipCodes Array – US ZIP codes, e.g. 78701.
minPrice / maxPrice Integer – Asking-price range in USD (sale and auction listings).
minPricePerSqft / maxPricePerSqft Number – Price-per-square-foot range (sale listings).
minCapRate / maxCapRate Number – Cap-rate range in percent (sale listings with a published cap rate).
minSquareFootage / maxSquareFootage Integer – Building-size range in square feet.
minRatePerSqftAnnual / maxRatePerSqftAnnual Number – Annual lease-rate range per square foot (lease listings).
buildingClasses Select (multi) – A, B or C.
opportunityZoneOnly Boolean false Only listings in designated Opportunity Zones.
includeUnpriced Boolean true Keep listings without a public asking price.
sortBy Select Rank Recommended, price, cap rate, NOI, recently updated, recently listed or newest.
sortDirection Select Descending Descending or ascending. Lease listings always sort by Crexi's recommended order and skip this.
scrapeDetails Boolean false Add broker phone/email contacts, high-resolution photos, highlights, marketing text, fact-sheet values and full auction details.
includeSimilarProperties Boolean false Attach up to 6 similar nearby listings to each record.
maxProperties Integer 100 Stop after this many listings (1–100,000). The daily sample uses 5.

Example: multifamily deals in Texas, $2M–$10M, with details

{
  "transactionTypes": ["sale"],
  "propertyTypes": ["Multifamily"],
  "locations": ["TX"],
  "minPrice": 2000000,
  "maxPrice": 10000000,
  "scrapeDetails": true,
  "maxProperties": 200
}

Example: retail and office space for lease in Austin

{
  "transactionTypes": ["lease"],
  "cities": ["Austin"],
  "zipCodes": ["78701", "78702"],
  "maxProperties": 100
}

Example: live auctions over $1M

{
  "transactionTypes": ["auction"],
  "minPrice": 1000000,
  "maxProperties": 50
}

Example: fetch specific listings

{
  "propertyUrls": [
    "https://www.crexi.com/properties/2492041/pennsylvania-former-pittsburgh-hospital",
    "https://www.crexi.com/lease/properties/28945/california-french-valley-village-center"
  ],
  "scrapeDetails": true
}

Use cases

  • Acquisition sourcing — build lists of for-sale and for-lease assets that match a buy box of state, city, ZIP, type, size, price and cap rate.
  • Market research — compare inventory and asking prices across metros, categories and lease versus sale markets.
  • Broker outreach — collect brokerage and broker names, license numbers and profile links tied to active listings.
  • Underwriting support — pull NOI, cap rate, year built, lot size and fact-sheet values for first-pass screening.
  • Auction monitoring — track live auctions with starting bids and start/end dates before offers close.

FAQ

Do I need a Crexi account, cookies or a proxy? No. The actor connects to Crexi automatically; there is nothing to configure.

Why did I get exactly 1,500 rows for a broad search? Crexi's API returns at most 1,500 rows per filter combination. The actor works around this by splitting large searches into price-range partitions and merging the results; a nationwide request for more than 1,500 rows is collected partition by partition. If a single indivisible slice still exceeds 1,500, the run's status message tells you the site's total and suggests narrowing filters.

Why is price missing on some listings? Some sellers publish a listing without an asking price. Those rows still contain everything else; with includeUnpriced off they are excluded entirely — and an active price filter always requires a published price.

Why are cap_rate or net_operating_income missing on some rows? Crexi only exposes those figures when the listing publishes them. When they are absent from the source, the fields are omitted rather than estimated.

What does scrapeDetails add? Each listing's detail data: broker phone and email contacts (with brokerage website, license number and profile link), plus broker_phones[]/broker_emails[] roll-ups; the full gallery in high resolution; investment highlights; the marketing description; published fact-sheet values such as zoning and ownership; the lease rate block for lease listings; and full auction details (deposits, bid increment, reserve status, bidder counts). It takes longer to run, so it is off by default.

Does this include sold or off-market properties? Crexi's sold prices and sale dates sit behind its paid Intelligence product and are never published anonymously, so the actor cannot return them. It does cover active for-sale, for-lease and auction listings, and it can fetch public property records (parcel data such as APN, lot and building size, class and comp flags) when you paste a crexi.com/property-records/... URL into propertyUrls.

Can I filter by year built, NOI or occupancy? Crexi only filters cap rate server-side (the minCapRate/maxCapRate inputs). Year built and NOI are returned on each record when published but cannot be filtered before download; occupancy is masked for anonymous users on sale listings (for-lease rows expose vacant_suites).

Can I mix sale and lease results in one run? Yes — select both in transactionTypes and the actor searches each marketplace and combines the rows into one deduplicated dataset. Crexi's for-sale and for-lease marketplaces use separate ID spaces, so the same property_id can appear once per marketplace; transaction_type and property_url tell the two records apart.

How fresh is the data? Every run queries Crexi live, so results reflect the marketplace at the moment the run starts.

Is this actor affiliated with Crexi? No. It is an independent tool that reads Crexi's public listing pages and APIs and is not operated by or affiliated with Crexi.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build SreNgxMszQEyRWGfu. Documentation is regenerated from the default published build; private drafts are not included.