Crexi Property Listings Scraping
Pricing
from $3.99 / 1,000 results
Crexi Property Listings Scraping
Get commercial real estate listings straight from Crexi, searchable by state, city, ZIP, price, size, and more. Get address, coordinates, price, broker, photo, and link, ready for your spreadsheet, database, or dashboard.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
B2B Lead Generation
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Crexi Property Listings Scraper

Pull commercial real estate listings sourced from Crexi as flat, ready-to-use rows. Filter across 230,000+ US commercial properties by state, city, ZIP, county, sale status, price, building size, lot size, and construction year. Every row lands as a clean JSON record with the full address, coordinates, asking price, brokerage, cover photo, and a direct Crexi link, so it drops straight into Excel, Google Sheets, SQL, or any BI tool.
No login, cookies, browser, or scraping setup. Set the filters, hit Start.
Why this actor
- Curated CRE column names, nothing that looks like a raw HTML dump
- Auction, call-for-offers, sold, and off-market listings, not just for-sale
- Flat records with the fields CRE analysts actually want (asking price, sqft, lot, broker, brokerage, listed date)
- Two hard caps (
maxItems,requestTimeoutSecs) so runs stay predictable - Works out of the box
Input parameters
Everything is optional and freely combinable. Leave the whole form empty to search the entire US.
| Field | Type | Default | Description |
|---|---|---|---|
stateCode | string | CA | Two-letter US state code (CA, TX, NY). |
state | string | Full state name (California, Texas). | |
city | string | City name. Matches across all states unless combined with stateCode. | |
zipCode | string | Five-digit ZIP code. | |
county | string | County name, e.g. Stanislaus County. | |
countyCode | string | County FIPS code, e.g. 6037. | |
address | string | Street address to match. | |
saleStatus | select | for_sale | One of for_sale, call_for_offers, auction, sold, off_market. |
sortBy | select | newest_listed, oldest_listed, price_high_to_low, price_low_to_high, or recently_updated. | |
minAskingPrice / maxAskingPrice | integer | Asking price range in USD, inclusive. | |
minBuildingSqft / maxBuildingSqft | integer | Building area range in square feet. | |
minLotSqft / maxLotSqft | integer | Lot size range in square feet (1 acre = 43,560 sqft). | |
minYearBuilt / maxYearBuilt | integer | Construction year range. | |
startPage | integer | 1 | Result page to start from (up to 200 listings per page). |
maxItems | integer | 100 | Stop after this many listings (fetched in pages of 200). Max 1000. |
requestTimeoutSecs | integer | 30 | Timeout per API request. |
Example inputs
1. Retail centers under $2M in Los Angeles County
{"state": "California","county": "Los Angeles County","saleStatus": "for_sale","maxAskingPrice": 2000000,"sortBy": "price_low_to_high","maxItems": 200}
2. Large warehouses in Texas (25k+ sqft), newest first
{"stateCode": "TX","saleStatus": "for_sale","minBuildingSqft": 25000,"sortBy": "newest_listed","maxItems": 500}
3. Every active auction in Florida
{"stateCode": "FL","saleStatus": "auction","sortBy": "recently_updated","maxItems": 300}
4. Post-2000 commercial buildings in ZIP 33101 (Miami)
{"zipCode": "33101","saleStatus": "for_sale","minYearBuilt": 2000,"maxItems": 100}
5. Recently sold comps in a single county (FIPS 6037)
{"countyCode": "6037","saleStatus": "sold","sortBy": "newest_listed","maxItems": 200}
6. Nationwide sweep of premium listings ($10M+)
{"saleStatus": "for_sale","minAskingPrice": 10000000,"sortBy": "price_high_to_low","maxItems": 1000}
7. Land plays: 5+ acre lots in Arizona
{"stateCode": "AZ","saleStatus": "for_sale","minLotSqft": 217800,"sortBy": "newest_listed","maxItems": 250}
8. Paginating beyond 1,000 rows
Run A collects listings 1 to 1000, Run B picks up at listing 1001 by setting startPage: 6 (page 6 with a page size of 200 equals rows 1001 to 1200).
{"stateCode": "NY","saleStatus": "for_sale","sortBy": "newest_listed","startPage": 6,"maxItems": 1000}
Output columns
Each listing is one flat row. The main columns:
| Column | Example |
|---|---|
listing_id | crexi_1000002 |
sale_status | for_sale |
street_address | 7101 Porter Rd |
city / state / zip_code | Niagara Falls / NY / 14304 |
county | Niagara County |
latitude / longitude | 43.108545 / -78.983714 |
asking_price_usd | 695000 |
building_sqft / lot_size_sqft / year_built | building and lot details where Crexi provides them |
property_class / property_subtype | commercial plus the Crexi subtype |
broker_name / brokerage_name | listing agent and firm |
cover_image_url / primary_photo_url / all_photo_urls | hero photo plus the rest of the gallery |
crexi_url | direct link to the listing on crexi.com |
listed_on / last_updated_on | listing and update dates |
data_source | always Crexi for this actor |
Sample output
Here is how a run looks in the Apify dataset preview:

And the same record as raw JSON:
{"listing_id": "crexi_1000002","sale_status": "for_sale","street_address": "7101 Porter Rd","city": "Niagara Falls","state": "NY","zip_code": "14304","county": "Niagara County","latitude": 43.108545,"longitude": -78.983714,"asking_price_usd": 695000.0,"building_sqft": 12800,"lot_size_sqft": 43560,"year_built": 1978,"property_class": "commercial","property_subtype": "Retail","broker_name": "Ellicott Development","brokerage_name": "Ellicott Development Co.","cover_image_url": "https://images.crexi.com/assets/1000002/...jpg","crexi_url": "https://www.crexi.com/properties/1000002/new-york-7101-porter-rd","listed_on": "2022-11-30","last_updated_on": "2024-05-18","data_source": "Crexi"}
Use cases
- Deal sourcing: pull every commercial listing in a target county or ZIP, sort newest first, and pipe it into your acquisition workflow
- Market analysis: track asking prices and inventory in a metro area over time by scheduling weekly runs
- Brokerage prospecting: collect
broker_nameandbrokerage_nameacross a region to build outreach lists - Auction & CFO tracking: filter by
auctionorcall_for_offersstatus to catch non-standard sale processes early - Comp research: filter
sale_status: soldwith a tight geography to pull recent comps - Data enrichment: join records to your own property database by address, ZIP, or coordinates
Notes
- Commercial listings do not carry residential fields like beds/baths, so those arrive as null on purpose.
startPage+maxItemsis how you page past the 1,000-row-per-run ceiling.- The
data_sourcecolumn is alwaysCrexifor this actor; a future variant of this scraper may cover other sources and use the same column to distinguish them.
More lead generation actors
If you liked this one, here are related actors from the same author for other B2B lead generation and data extraction workflows.
| Actor | Category |
|---|---|
| Skip Tracing Property Records | Real estate |
| Realtor Properties Contact Email | Real estate |
| Google Maps Email Extractor | Local / GMB |
| Chrome Extension Scraper (Email) | Chrome Web Store |
| Chrome Extension Email Extractor | Chrome Web Store |
| Shopify Website Scraper (Email) | E-commerce |
| WooCommerce Website Scraper (Email) | E-commerce |
| USA Business Leads Extractor | USA leads |
| USA Professional Leads Hub | USA leads |
| USA Medical Services Extractor | USA leads |
| USA Beauty & Spa Extractor | USA leads |
| USA Fitness Leads Hub | USA leads |
| USA Home Repair Leads | USA leads |
| USA Automotive Leads Hub | USA leads |
| USA Pet Services Extractor | USA leads |
| UK Electrician Leads Extractor | UK leads |
| AU Business Leads Search API | Australia leads |
Skip the scraper build and get clean Crexi CRE data in minutes.
