ScraperCity logo

Crexi Scraper API Documentation

Crexi Scraper

Extract commercial real estate listings and broker contact details from Crexi. Accepts Crexi property searches, city or market searches, and broker directory URLs.

$0.029 per propertyPOST /api/v1/scrape/crexi-scraper

Parameters

NameTypeRequiredDescription
startUrlsstring[]RequiredArray of Crexi URLs. Three forms are supported: (1) a property search or list URL (https://www.crexi.com/properties?...); (2) a city or market search copied from the Crexi search bar (https://www.crexi.com/search?... with a city or market set as the location) - these are automatically scoped to that location; (3) a broker directory URL (https://www.crexi.com/resources/find-a-broker/...). Set your filters (property type, price, cap rate) on Crexi first, then copy the URL. A Crexi map view with no location set (a panned or zoomed map only, with no city or market chosen) is not supported and returns a 400 asking you to search a specific city or market first.Example: ["https://www.crexi.com/properties?placeIds%5B%5D=ChIJPZDrEzLsZIgRoNrpodC5P30"]

Examples

Extract properties from a property search URL

curl -X POST https://app.scrapercity.com/api/v1/scrape/crexi-scraper \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      "https://www.crexi.com/properties?placeIds%5B%5D=ChIJAYWNSLS4QIYROwVl894CDco"
    ]
  }'

Extract from a city or market search (scoped to that location)

curl -X POST https://app.scrapercity.com/api/v1/scrape/crexi-scraper \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      "https://www.crexi.com/search?searchType=Sales&address_value=Austin%2C%20TX&propertyAttributes.type_tree_Multifamily=Apartment%20Building&propertyPrice.total_max=1200000&financials.capRatePercent_min=8"
    ]
  }'

Find brokers in multiple markets

curl -X POST https://app.scrapercity.com/api/v1/scrape/crexi-scraper \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      "https://www.crexi.com/resources/find-a-broker/Dallas%2C_TX",
      "https://www.crexi.com/resources/find-a-broker/Houston%2C_TX/Retail",
      "https://www.crexi.com/resources/find-a-broker/Austin%2C_TX/Multifamily"
    ]
  }'

Use Cases

  • •Commercial real estate investment analysis
  • •Broker relationship building and outreach
  • •Market pricing and inventory tracking
  • •Off-market deal sourcing
  • •Competitive intelligence on CRE listings
  • •Portfolio acquisition research

Best Practices

  • •Set a location (a city or market) on Crexi before copying the URL, so results are scoped to that area
  • •Property searches, city or market searches, and broker directories are all accepted
  • •A Crexi map view with no location set is not supported - choose a specific city or market first, then copy the URL
  • •Apply your filters (property type, price, cap rate) on Crexi first, then copy the filtered URL
  • •Returns complete property details including investment highlights
  • •Includes direct broker contact information and license details
  • •Each URL typically returns 50-200 properties depending on filters
  • •Can process multiple URLs in a single request
  • •Results include latitude/longitude for mapping
  • •Can be cancelled while running

Every scrape returns a runId. Poll GET /api/v1/scrape/status/{runId} until it completes, then download via GET /api/downloads/{runId}?format=csv.

Authenticate every request with Authorization: Bearer YOUR_API_KEY. See the full API reference for authentication, rate limits and error codes.