Crexi Commercial Real Estate Listings Scraper avatar

Crexi Commercial Real Estate Listings Scraper

Pricing

Pay per event

Go to Apify Store
Crexi Commercial Real Estate Listings Scraper

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

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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

FieldTypeDefaultDescription
maxItemsinteger10Max listings to scrape. Leave empty for all.
transactionTypestringsaleFilter: sale, lease, or auction. Leave empty for all.
propertyTypesarray["office"]Property type filters (e.g. office, retail, industrial, multifamily).
statesarrayUS state codes to filter (e.g. ["CA", "NY", "TX"]). Leave empty for all.
minAskingPriceintegerMinimum asking price in USD.
maxAskingPriceintegerMaximum asking price in USD.
includeUnpricedbooleanfalseWhether 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 null if the listing owner did not provide that information.
  • All HTML is stripped from marketing_description and investment_highlights.