Crexi Property Listings Scraping avatar

Crexi Property Listings Scraping

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Crexi Property Listings Scraping

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

B2B Lead Generation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Crexi Property Listings Scraper

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.

FieldTypeDefaultDescription
stateCodestringCATwo-letter US state code (CA, TX, NY).
statestringFull state name (California, Texas).
citystringCity name. Matches across all states unless combined with stateCode.
zipCodestringFive-digit ZIP code.
countystringCounty name, e.g. Stanislaus County.
countyCodestringCounty FIPS code, e.g. 6037.
addressstringStreet address to match.
saleStatusselectfor_saleOne of for_sale, call_for_offers, auction, sold, off_market.
sortByselectnewest_listed, oldest_listed, price_high_to_low, price_low_to_high, or recently_updated.
minAskingPrice / maxAskingPriceintegerAsking price range in USD, inclusive.
minBuildingSqft / maxBuildingSqftintegerBuilding area range in square feet.
minLotSqft / maxLotSqftintegerLot size range in square feet (1 acre = 43,560 sqft).
minYearBuilt / maxYearBuiltintegerConstruction year range.
startPageinteger1Result page to start from (up to 200 listings per page).
maxItemsinteger100Stop after this many listings (fetched in pages of 200). Max 1000.
requestTimeoutSecsinteger30Timeout 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:

ColumnExample
listing_idcrexi_1000002
sale_statusfor_sale
street_address7101 Porter Rd
city / state / zip_codeNiagara Falls / NY / 14304
countyNiagara County
latitude / longitude43.108545 / -78.983714
asking_price_usd695000
building_sqft / lot_size_sqft / year_builtbuilding and lot details where Crexi provides them
property_class / property_subtypecommercial plus the Crexi subtype
broker_name / brokerage_namelisting agent and firm
cover_image_url / primary_photo_url / all_photo_urlshero photo plus the rest of the gallery
crexi_urldirect link to the listing on crexi.com
listed_on / last_updated_onlisting and update dates
data_sourcealways Crexi for this actor

Sample output

Here is how a run looks in the Apify dataset preview:

Sample 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_name and brokerage_name across a region to build outreach lists
  • Auction & CFO tracking: filter by auction or call_for_offers status to catch non-standard sale processes early
  • Comp research: filter sale_status: sold with 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 + maxItems is how you page past the 1,000-row-per-run ceiling.
  • The data_source column is always Crexi for 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.

ActorCategory
Skip Tracing Property RecordsReal estate
Realtor Properties Contact EmailReal estate
Google Maps Email ExtractorLocal / GMB
Chrome Extension Scraper (Email)Chrome Web Store
Chrome Extension Email ExtractorChrome Web Store
Shopify Website Scraper (Email)E-commerce
WooCommerce Website Scraper (Email)E-commerce
USA Business Leads ExtractorUSA leads
USA Professional Leads HubUSA leads
USA Medical Services ExtractorUSA leads
USA Beauty & Spa ExtractorUSA leads
USA Fitness Leads HubUSA leads
USA Home Repair LeadsUSA leads
USA Automotive Leads HubUSA leads
USA Pet Services ExtractorUSA leads
UK Electrician Leads ExtractorUK leads
AU Business Leads Search APIAustralia leads

Skip the scraper build and get clean Crexi CRE data in minutes.

Get started with the Crexi Property Listings Scraper