Crexi Commercial Real Estate Listings Scraper
Pricing
Pay per event
Crexi Commercial Real Estate Listings Scraper
Scrape commercial real estate listings from Crexi. Filter by transaction type, property type, state, and price range. Extracts asking price, cap rate, NOI, square footage, location coordinates, brokerage, tenancy, zoning, and marketing descriptions.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape commercial real estate listings from Crexi — the largest commercial real estate marketplace in the US. Filter by transaction type (sale, lease, or auction), property type (office, retail, industrial, multifamily, and more), state, and price range. Returns 36 fields per listing including asking price, cap rate, NOI, square footage, tenancy type, zoning, brokerage details, GPS coordinates, and full marketing descriptions.
What You Get
Each listing record contains:
- Identifiers:
listing_id,listing_url - Property basics:
name,description,property_types,subtypes,status - Financials:
asking_price,price_per_sqft,noi,cap_rate,pro_forma_cap_rate - Property details:
square_footage,investment_type,sale_condition,tenancy,zoning,year_built,lot_size_sqft,occupancy_pct - Location:
address,city,state,zip,county,latitude,longitude - Brokerage:
brokerage_name,has_om(offering memorandum available) - Media:
thumbnail_url - Content:
marketing_description(HTML stripped),investment_highlights(HTML stripped) - Metadata:
is_in_opportunity_zone,activated_on,updated_on,scraped_at
Input
| Field | Type | Default | Description |
|---|---|---|---|
maxItems | integer | 10 | Max listings to scrape. Leave empty for all. |
transactionType | string | sale | Filter: sale, lease, or auction. Leave empty for all. |
propertyTypes | array | ["office"] | Property type filters (e.g. office, retail, industrial, multifamily). |
states | array | — | US state codes to filter (e.g. ["CA", "NY", "TX"]). Leave empty for all. |
minAskingPrice | integer | — | Minimum asking price in USD. |
maxAskingPrice | integer | — | Maximum asking price in USD. |
includeUnpriced | boolean | false | Whether to include listings without a price. |
Example Output
{"listing_id": 2569056,"listing_url": "https://www.crexi.com/properties/florida-storage-pup-leesburg","name": "StoragePup Leesburg","description": "Self Storage | 23,745 SqFt","asking_price": 2050000,"price_per_sqft": 86.33,"noi": 166248,"cap_rate": 8.11,"pro_forma_cap_rate": 17.22,"square_footage": 23745,"property_types": "Self Storage","investment_type": "Value-Add","status": "On-Market","year_built": 1984,"occupancy_pct": 58.0,"city": "Leesburg","state": "FL","latitude": 28.8095,"longitude": -81.8779,"brokerage_name": "Marcus & Millichap","has_om": true,"marketing_description": "Marcus & Millichap is pleased to offer for sale StoragePup...","investment_highlights": "Leesburg, Florida MSA Self-Storage Offering...","scraped_at": "2026-06-12T13:22:44.516Z"}
Scale
Crexi hosts over 200,000 sale listings and 200,000 lease listings as of mid-2026. The actor paginates the search API at 50 records per page. For a full scrape of all listings, maxItems can be omitted to retrieve everything.
Notes
- No authentication required — all listed data is publicly accessible via the Crexi API.
- Cap rate, NOI, tenancy, zoning, and marketing descriptions are fetched from the detail endpoint for every record.
- Some fields may be
nullif the listing owner did not provide that information. - All HTML is stripped from
marketing_descriptionandinvestment_highlights.