Crexi Scraper — CRE Listings, Financials & Broker Leads
Pricing
from $5.00 / 1,000 listing scrapeds
Crexi Scraper — CRE Listings, Financials & Broker Leads
Scrape Crexi commercial real estate: for-sale listings, property details, financials, and broker contact leads via Crexi's public API. MCP/API-ready.
Pricing
from $5.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Crexi Scraper — Commercial Real Estate Listings, Financials & Broker Leads
Scrape Crexi (crexi.com) commercial real estate at scale: for-sale listings, full property details, financials, and listing-broker leads — straight from Crexi's own data API. No login, no cookies, HTTP-only. Built for CRE investors, brokers, analysts, and AI agents.
What it does
Give it a location (state + city) and property types, or paste specific Crexi property URLs, and it returns clean, structured JSON: asking price, property type & sub-types, square footage, lot size, year built, zoning, APN, geo-coordinates, full address, investment highlights, marketing description, and the listing broker(s) with brokerage name, website, license numbers, and Crexi profile.
When to use it
- CRE lead generation — build lists of active commercial listings + their brokers in a market.
- Investor deal sourcing — filter by state, city, and property type; sort by price.
- Market & comp research — pull asking prices, sizes, cap-rate fields, and locations across a metro.
- Broker prospecting — extract broker names, brokerages, websites, and profile links.
- Feeding AI agents — MCP-ready: narrow input, flat structured output.
Not for LoopNet or Apartments.com (CoStar sites) — those require different tooling. This actor targets Crexi specifically.
Output — one record per property
| Field | Description |
|---|---|
id, url | Crexi asset ID + public listing URL |
name, status | Property headline + listing status |
propertyTypes, subtypes | Category (Office, Retail, Multifamily…) + sub-types |
askingPrice, askingPriceDisplay | Numeric price + formatted string |
capRate | Cap rate when the broker publishes it |
squareFootage, lotSizeSqFt, units | Building size, lot size, unit count |
yearBuilt, yearRenovated, buildings, stories, zoning, apn | Physical + legal detail |
address, city, county, state, stateCode, zip, latitude, longitude, fullAddress | Full location + geo |
brokerageName, brokers[] | Listing brokerage + broker leads (name, brokerage, website, licenses, profile URL) |
investmentHighlights[], marketingDescription | Marketing copy, cleaned of HTML |
isInOpportunityZone, isSold, isUnpriced, hasFlyer, hasOM, hasVideo, hasVirtualTour | Status flags |
thumbnailUrl, numberOfImages | Media |
activatedOn, updatedOn, scrapedAt | Timestamps (ISO 8601) |
Pricing — Pay Per Event
- Actor start: $0.00005 per run.
- Listing scraped: $0.005 per listing returned (primary event).
- Detail + broker enrichment: $0.009 per listing when enriched with full detail and/or broker data.
Turn off enrichDetails and includeBrokers for listing-card-only output at $0.005/listing. A 100-listing enriched run costs about $1.40. Pay-Per-Usage (compute + proxy) is also available.
Input
Search mode (default)
{"states": ["TX"],"cities": ["Austin"],"propertyTypes": ["Office", "Retail"],"sortBy": "priceHighToLow","includeUnpriced": true,"maxResults": 100,"enrichDetails": true,"includeBrokers": true}
- states — two-letter state codes. Primary, reliable location filter.
- cities — city names, most precise when paired with the matching state.
- propertyTypes — Retail, Office, Multifamily, Industrial, Land, Hospitality, Special Purpose, Mixed Use, Self Storage, Business for Sale.
- sortBy —
relevance,priceLowToHigh,priceHighToLow. - maxResults — hard cap (0 = unlimited).
Detail mode
Paste Crexi property URLs or bare asset IDs — the actor scrapes exactly those:
{"startUrls": ["https://www.crexi.com/properties/2610175/texas-4700-barbara-rd-river-oaks","2586166"],"enrichDetails": true,"includeBrokers": true}
Usage examples
Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('khadinakbar/crexi-scraper').call({states: ['CA'], cities: ['Los Angeles'], propertyTypes: ['Multifamily'], maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("khadinakbar/crexi-scraper").call(run_input={"states": ["FL"], "cities": ["Miami"], "propertyTypes": ["Retail"], "maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item["askingPriceDisplay"])
MCP / AI agents
Exposed as apify--crexi-scraper in the Apify MCP server. Narrow input, flat JSON output — ideal for Claude, GPT, and other agents doing CRE research and lead generation.
FAQ
Does it get broker email/phone? Crexi does not expose direct broker contact publicly — it routes messages through in-app chat. The actor returns broker name, brokerage, brokerage website, license numbers, and Crexi profile link, which are enough to reach the broker.
Why state + city instead of a free-text search box? Crexi's free-text search does not reliably filter by location. State + city filters are precise and dependable, so the actor uses those.
Does it cover for-lease listings? This version targets for-sale commercial listings, the largest Crexi inventory.
How fast is it? It calls Crexi's JSON API directly (no browser), so runs are fast. Enrichment adds ~2 requests per listing.
Legal
This actor collects only publicly available data from Crexi's public endpoints and performs no login or access-control circumvention. You are responsible for using the output in compliance with Crexi's Terms of Service, applicable laws, and data-protection regulations (including how you contact brokers). Use for legitimate business research and lead generation. Not affiliated with or endorsed by Crexi or CoStar.