Home / Tools / Crexi Scraper for Commercial Real Estate

Crexi scraper: sale and lease listings as a clean dataset
kazkn/crexi-search-actor
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
| Field | What it contains |
|---|---|
source_listing_id | Crexi listing ID |
listing_url | Link to the public listing |
transaction_type | sale or lease |
asset_class | Office, retail, industrial and more |
status | Listing status |
address | Full street address |
city | City |
state | State |
asking_price_or_rent | Asking price or rent as listed |
currency | Currency of the amount |
building_size_sqft | Building size in square feet |
cap_rate | Listed or computed cap rate |
broker_name | Listing broker, when public |
broker_company | Brokerage firm, when public |
enrichment_status | Whether 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
- Open the actor on Apify and sign in.
- Pick a state and city, sale, lease or both, and the filters you need, or paste a Crexi URL.
- Choose whether to enrich rows with public listing and broker details.
- Start the run.
- 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)import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });
const run = await client.actor("kazkn/crexi-search-actor").call({"city": "Austin", "state": "TX"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);curl -X POST "https://api.apify.com/v2/acts/kazkn~crexi-search-actor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"city": "Austin", "state": "TX"}'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

Vinted Smart Scraper
kazkn/vinted-smart-scraper
Vinted Smart Scraper pulls public Vinted listings, seller profiles and price data from 26 country sites, from vinted.fr and vinted.de to vinted.co.uk and vinted.com, into structured rows.

LoopNet + Crexi Scraper
kazkn/commercial-real-estate-brokerage-intel
Pulls public commercial real estate listings from LoopNet and Crexi, merges them, removes listings that appear on both, and normalizes price, size and cap rate.

Vinted Turbo Scraper
kazkn/vinted-turbo-scraper
Vinted Turbo Scraper reads the Vinted pages you point it at (searches, brand and category pages, seller wardrobes or single items) and returns each listing as a structured row with price, brand, size, condition, photos and seller.

Vestiaire Collective Scraper
kazkn/vestiaire-collective-smart-scraper
This Apify actor collects public Vestiaire Collective listings and sold-search results, with price, currency, condition, brand, model, images and seller country for each item.