Crexi Property Listing avatar

Crexi Property Listing

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Crexi Property Listing

Crexi Property Listing

Get Crexi commercial real estate listings as flat JSON. Filter 230,000+ US properties by state, city, ZIP, county, sale status, price, size, and year built. Each record has full address, coordinates, asking price, brokerage, photo, and Crexi link, ready for Excel, SQL, or any BI tool.

Pricing

from $1.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

7 days ago

Last modified

Share

Crexi Property Listings: Commercial Real Estate Data by State, City, ZIP, or County

This actor extracts commercial real estate listings sourced from Crexi, one of the largest commercial property marketplaces in the US. Search over 230,000 listings by location, sale status, price range, building size, lot size, and year built. Every result is a flat JSON record with the full address, coordinates, asking price, brokerage contact, photo URL, and a direct Crexi link, ready for Excel, Google Sheets, SQL, or any BI tool without extra parsing.

How it works

The actor searches a nightly-refreshed database of Crexi listings. You set the filters, the actor pulls matching listings page by page (200 per page), flattens each record, and pushes it to the dataset. A run stops when it reaches your item limit or runs out of results. No login, cookies, or setup required: set the filters and run.

Input parameters

All filters are optional and freely combinable. Leave everything empty to search nationwide.

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.
statusselectfor_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.
minListPrice / maxListPriceintegerAsking price range in USD, inclusive.
minSqft / maxSqftintegerBuilding area range in square feet.
minLotSqft / maxLotSqftintegerLot size range in square feet (1 acre = 43,560 sqft).
minYearBuilt / maxYearBuiltintegerConstruction year range.
pageinteger1API result page to start from (200 listings per page).
maxItemsinteger100Stop after this many listings. Caps the run cost. Max 1000.
requestTimeoutSecsinteger30Timeout per API request.
proxyConfigurationobjectNo proxyOptional. Normally unnecessary.

What data does this actor extract?

Each listing is one flat record with 49 fields. The main ones:

FieldExample
property_idcrexi_1000002
statusfor_sale
address7101 Porter Rd
city / state_code / postal_codeNiagara Falls / NY / 14304
county_nameNiagara County
lat / lon43.108545 / -78.983714
list_price695000
sqft / lot_sqft / year_builtbuilding and lot details where Crexi provides them
p_type / sub_typecommercial plus the Crexi subtype
agent_name / office_namelisting brokerage
property_photoprimary photo URL
hrefdirect link to the listing on crexi.com
list_date / last_update_datelisting and update dates

Sample output

{
"property_id": "crexi_1000002",
"status": "for_sale",
"address": "7101 Porter Rd",
"city": "Niagara Falls",
"state_code": "NY",
"postal_code": "14304",
"county_name": "Niagara County",
"lat": 43.108545,
"lon": -78.983714,
"list_price": 695000.0,
"p_type": "commercial",
"agent_name": "Ellicott Development",
"property_photo": "https://images.crexi.com/assets/1000002/...jpg",
"href": "https://www.crexi.com/properties/1000002/new-york-7101-porter-rd",
"list_date": "2022-11-30",
"source": "Crexi"
}

Use cases

  • Deal sourcing: pull every commercial listing in a target county or ZIP, sorted by newest first, and feed it to your acquisition pipeline
  • Market analysis: track asking prices and inventory for a metro area over time by scheduling weekly runs
  • Brokerage prospecting: collect listings with brokerage names to build outreach lists for a region
  • Auction tracking: filter by auction or call_for_offers status to catch non-standard sale processes early
  • Data enrichment: join records to your own property database by address or coordinates

FAQ

Where does the data come from? From a database of Crexi listings that is refreshed nightly. You get stable, structured records instead of scraping Crexi yourself.

Why are beds and baths empty? These are commercial listings. The fields exist in the record for schema compatibility, but Crexi does not report them, so they stay null.

What do call_for_offers and auction mean? Crexi uses a sale-process vocabulary. Call for offers means the seller collects offers until a deadline. Auction listings sell through a bidding event. Both are distinct from a standard for-sale listing.

How many listings can one run collect? Up to 1,000 per run via maxItems. For bigger exports, use the page input to slice the result set across several runs: page 1 covers listings 1 to 200, page 6 covers 1,001 to 1,200, and so on.

Do I need a proxy? No. Runs work out of the box without any proxy. The option exists only for special cases.

What happens if a filter matches nothing? The run ends normally with zero items and the log shows the total the API reported.

Get structured Crexi commercial real estate data in minutes instead of building and maintaining your own scraper.