Crexi Property Details Scraper
Pricing
from $3.99 / 1,000 results
Crexi Property Details Scraper
Get full Crexi commercial property details from a list of property IDs. Fetches listings in parallel and returns flat records with asking price, cap rate, NOI, lease type and term, tenants, address with coordinates, and marketing text, ready for Excel, SQL, or any BI tool.
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
7 days ago
Last modified
Categories
Share
Crexi Property Details: Full Commercial Listing Data by Property ID
This actor takes one or more Crexi property IDs and returns the complete listing detail for each as a single flat record. You get the asking price, cap rate, NOI, lease terms, tenants, full address with coordinates, investment highlights, and marketing description, all as ready-to-use columns instead of nested JSON. IDs are fetched in parallel, so a batch of 50 properties takes seconds, not minutes.
How it works
Paste property IDs into the input, one per line. The actor fetches each listing's detail page data concurrently, flattens the nested response into flat fields, and pushes one record per property to the dataset. A failed ID (removed listing, timeout) is logged and skipped without affecting the rest of the batch.
Both ID formats work and can be mixed:
2340253(the numeric ID from a Crexi listing URL)crexi_2340253(theproperty_idreturned by the Crexi Property Listings actor)
Duplicates resolve to one fetch, so you can paste ID lists without cleaning them first.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
propertyIds | list of strings | Property IDs, one per line. Up to 1,000 per run. Required. | |
maxConcurrency | integer | 5 | How many properties to fetch in parallel (max 20). |
requestTimeoutSecs | integer | 30 | Timeout per request, in seconds. |
proxyConfiguration | object | No proxy | Optional. Switch to Residential if requests start getting blocked. |
What data does this actor extract?
Each record has 80+ flat fields. They come in three groups:
Identity and location
| Field | Example |
|---|---|
property_id / crexi_id | crexi_2340253 / 2340253 |
name | Dutch Bros Ground Lease |
status | Active |
address, city, county, state_code, zip | 2930 Sperry Ave, Patterson, Stanislaus County, CA, 95363 |
latitude / longitude | 37.4645 / -121.1751 |
crexi_url | direct link to the listing |
thumbnailUrl | primary photo URL |
Deal terms in two flavors. Display strings under detail_* and typed numeric values under summary_*, so spreadsheets get readable text and pipelines get sortable numbers:
| Display field | Example | Typed field | Example |
|---|---|---|---|
detail_asking_price | $1,534,000 | askingPrice | 1534000.0 |
detail_cap_rate | 4.50% | summary_cap_rate | 4.5 |
detail_noi | $69,000 | summary_net_operating_income | 69000.0 |
detail_price_per_sqft | $1,614.74 | summary_price_per_sq_ft | 1614.74 |
detail_lease_term | 15.1 years | summary_lease_term | 15.1 |
detail_lot_size_acres | 0.5 | summary_lot_size | 0.5 |
Plus lease type, tenancy, tenants, rent bumps, ground lease flag, lease commencement and expiration dates, investment type, year built, and square footage in both forms.
Marketing text and flags. investment_highlights and marketing_description arrive as clean plain text (HTML stripped). Boolean flags include isInOpportunityZone, hasOM, hasFlyer, hasVirtualTour, isSold, and isPaused.
Sample output
{"property_id": "crexi_2340253","name": "Dutch Bros Ground Lease","status": "Active","address": "2930 Sperry Ave","city": "Patterson","state_code": "CA","zip": "95363","askingPrice": 1534000.0,"summary_cap_rate": 4.5,"summary_net_operating_income": 69000.0,"detail_lease_type": "Absolute NNN","detail_lease_term": "15.1 years","tenants": "Starbucks, Dutch Bros. Coffee","detail_rent_bumps": "10% Every 5 Years","investment_highlights": "Prime Retail Location: High-visibility and easily accessible location...","crexi_url": "https://www.crexi.com/properties/2340253/california-dutch-bros-ground-lease-grocery-outlet-outparcel"}
Use cases
- Deal underwriting: pull cap rate, NOI, lease term, and rent bumps for a shortlist of properties into one spreadsheet
- Pipeline enrichment: run the Crexi Property Listings actor for a region, then feed its
property_idvalues here for full lease-level detail - Tenant research: extract tenant names and lease structures across many net-lease listings at once
- Comp building: collect price per square foot, year built, and lot size for properties in a submarket
- Monitoring: re-run the same ID list on a schedule and diff
status,askingPrice, andupdatedOn
FAQ
How many properties can I look up in one run? Up to 1,000 IDs per run. Duplicates count once.
What happens if an ID does not exist anymore? That ID is logged as failed and skipped. The run continues, and the final status message lists which IDs failed.
What is the difference between detail_ and summary_ fields?
They carry the same facts in two forms. detail_cap_rate is the display string (4.50%), summary_cap_rate is the number (4.5). Use detail_* for reports and summary_* for filtering, sorting, or math.
Why are some fields missing on certain properties? Listings only include the facts the broker published. A property without a lease section has no lease fields; the columns simply stay empty for that record.
Do I need a proxy? Usually not. If large batches start failing, switch the proxy setting to Residential and lower the concurrency.
Where do the IDs come from?
From a Crexi listing URL (the number after /properties/), or from the property_id field of the Crexi Property Listings actor, which searches listings by state, city, ZIP, county, price, and size.
Turn a list of Crexi property IDs into structured commercial real estate data with one run.