Home / Tools / Crexi Scraper for Commercial Real Estate

Crexi scraper: sale and lease listings as a clean dataset

kazkn/crexi-search-actor

$3.00 / 1,000 results4 users in the last 30 days195 runs

Turns a Crexi market search or listing URL into structured rows with asking terms, property facts, cap rate and source links. No Crexi account or cookies needed.

What you get

FieldWhat it contains
source_listing_idCrexi listing ID
listing_urlLink to the public listing
transaction_typesale or lease
asset_classOffice, retail, industrial and more
statusListing status
addressFull street address
cityCity
stateState
asking_price_or_rentAsking price or rent as listed
currencyCurrency of the amount
building_size_sqftBuilding size in square feet
cap_rateListed or computed cap rate
broker_nameListing broker, when public
broker_companyBrokerage firm, when public
enrichment_statusWhether detail enrichment ran for the row

Download as JSON, CSV or Excel, or read the rows through the Apify API.

What people use it for

Deal sourcing in one state

Search Nevada, sale only, sorted by asking amount. Export the list and open only the listings that pass your price and cap rate screen.

Lease comps

Collect lease listings for an asset class and city to compare asking rents, annualized, across buildings of similar size.

Scheduled market snapshot

Schedule the same search daily on Apify and keep each run's dataset to see what was added between snapshots.

Who it is for

  • Investors screening Crexi inventory by price, cap rate and size
  • Brokers who want a market export without copying listings
  • Analysts preparing underwriting inputs and comparable listings
  • Data teams syncing Crexi listings into spreadsheets or a CRM

How to run it

  1. Open the actor on Apify and sign in.
  2. Pick a state and city, sale, lease or both, and the filters you need, or paste a Crexi URL.
  3. Choose whether to enrich rows with public listing and broker details.
  4. Start the run.
  5. Download CSV, Excel or JSON, or read the dataset by API.

Run it from your code

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("kazkn/crexi-search-actor").call(run_input={"city": "Austin", "state": "TX"})

for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)

Your token is in Apify Console, under Settings, API & Integrations. The input above is the example from the tool's input form.

Questions

Do I need a Crexi account?

No. The actor reads public listings only and needs no Crexi cookies, session or API key.

Does it cover lease listings?

Yes. Choose sale, lease or both; lease amounts are made comparable on an annual basis when possible.

Are broker contacts included?

Only public broker details, and only when enrichment is turned on and the data is clearly shown on the listing.

How much does it cost?

You pay per result through Apify. The current price per 1,000 results is on the Apify page.

Is maxResults guaranteed?

It is a target. A market with fewer matching listings returns fewer rows.

Other tools