Crexi Scraper [💰$3.5/1K] | Commercial CRE | Broker Leads avatar

Crexi Scraper [💰$3.5/1K] | Commercial CRE | Broker Leads

Pricing

from $3.47 / 1,000 results

Go to Apify Store
Crexi Scraper [💰$3.5/1K] | Commercial CRE | Broker Leads

Crexi Scraper [💰$3.5/1K] | Commercial CRE | Broker Leads

Extract commercial real estate listings and broker data from Crexi for investment research and lead generation. Build CRE deal pipelines and broker contact datasets.

Pricing

from $3.47 / 1,000 results

Rating

5.0

(6)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

2

Bookmarked

71

Total users

4

Monthly active users

8 days ago

Last modified

Share

Crexi Scraper - Commercial Real Estate Listings and Broker Leads

The Crexi Scraper extracts commercial real estate listings and public broker records from Crexi. Paste a Crexi search URL and receive structured property rows with deal type, property type, asking price, price per square foot, cap rate, NOI, square footage, full address, coordinates, photo counts, listing dates, days on market and broker contacts when Crexi publishes them.

It is built for CRE deal sourcing, broker lead generation, market comps and portfolio monitoring. The Actor applies supported filters from the search URL, pages through the public Crexi API in batches of 60, and returns one row per property with a stable listing URL and scrape timestamp.

Main Use Cases for Commercial Real Estate Data

  • Deal sourcing - collect office, retail, industrial, multifamily and land listings that match a target market and price range.
  • Broker lead generation - build outreach lists from public broker names, brokerages, phone numbers, emails and profile URLs.
  • Market comps - compare asking prices, price per square foot, cap rates and NOI across similar properties.
  • Portfolio monitoring - schedule runs to detect new listings, price changes and days-on-market movement.
  • Opportunity zone research - filter and analyze listings flagged as opportunity zone properties.
  • CRM enrichment - append property, location, brokerage and broker details to an existing deal pipeline.
  • AI investment screening - feed an LLM compact property rows with numeric pricing and location fields.

How It Works

Crexi commercial property search becoming listing rows with pricing, location and broker contact details

Provide a Crexi search or property URL in startUrls and set maxResults. The current build reads the first start URL, extracts supported filters from its query string, and posts them to the Crexi search API. Supported filters include asking price range, cap rate range, price per square foot, square footage, listing types, property types and a keyword query.

Location filters use Crexi place IDs. When the URL contains placeIds[], the Actor opens the search page in a headless browser to capture the location polygons, then includes them in the API request. If the polygons cannot be captured, it continues without the location filter rather than stopping the run.

The API returns page sizes of up to 60 properties. Each row is written with Crexi fields plus a normalized listing url and scrapedAt. Paging continues until maxResults is reached, the API runs out, or an API error stops the loop. The free tier is capped at 20 properties; paid runs can request up to 10,000 per run.

Broker data is public but not guaranteed. A listing can have one or several broker records, and phone, email, title, license numbers or avatar may be missing. The top-level brokerName and brokerageName are convenient summary fields; the brokers array is the authoritative list when you need every contact on the deal.

Input

The input is a Crexi URL, a result budget and an optional proxy configuration. Filters belong in the URL rather than in separate fields.

FieldTypeRequiredDefaultWhat it does
startUrlsstring[]YesCrexi properties URLCrexi search or property URLs. The current build uses the first URL and reads its supported query filters.
maxResultsintegerNo500Maximum properties saved. Range 1-10,000. The free tier is capped at 20.
proxyConfigurationobjectNoApify ProxyProxy settings. Residential proxy is recommended for location capture and stable API access.

Build the search on Crexi first, then copy the resulting URL. Supported query parameters are read from the URL; unsupported UI filters may not be translated. Because the current build uses only the first start URL for the API query, run separate jobs when you need several distinct searches, or combine them at the analysis layer.

Output

Rows closely follow the Crexi API object. Numeric fields are numbers when Crexi supplies them, and optional fields are null rather than invented.

Field groupFieldsWhat you get
Identityid, url, name, description, dealType, status, propertyType, propertyTypesListing ID, canonical URL, name, marketing description and deal or property classification.
PricingaskingPrice, pricePerSqFt, pricePerAcre, capRate, netOperatingIncomeAsking price and the underwriting metrics Crexi exposes for the listing.
Size and locationsquareFootage, fullAddress, addressLine1, city, county, state, zipCode, country, latitude, longitudeBuilding size, mailing address, administrative location and coordinates.
Broker summarybrokerName, brokerageName, brokerageAddress, brokersPrimary broker summary plus an array of broker records with contact and profile data when published.
Media and flagsthumbnailUrl, photoCount, hasFlyer, hasOfferingMemorandum, hasVideo, hasVirtualTour, isNew, isInOpportunityZoneGallery thumbnail, media counts and listing or compliance flags.
DatesactivatedOn, updatedOn, daysOnMarket, scrapedAtListing activation and update times, days on market and observation timestamp.

capRate, netOperatingIncome, pricePerSqFt and pricePerAcre are often null because sellers do not always publish them. Do not treat a null as zero. brokers can contain several people, and a broker email or phone can be absent even when a name and profile URL exist. locations and other raw API fields may also be present because the Actor preserves the source object.

Pricing

Pricing is pay-per-event. A start event is charged per run and each property saved to the dataset is charged as a result.

EventFREEBRONZESILVERGOLD+
Actor start, per run$0.00005$0.00005$0.00005$0.00005
Property result$0.0035$0.00349$0.00348$0.00347

That is $3.50 per 1,000 properties on FREE, falling to $3.47 per 1,000 on GOLD and higher tiers. A 500-property run costs about $1.75. The free tier returns at most 20 properties, which is enough to validate a URL and filter combination.

Example Input

{
"startUrls": [
{
"url": "https://www.crexi.com/properties?listingTypes[]=sale&propertyTypes[]=Office&askingPriceMin=5000000"
}
],
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true
}
}

This targets for-sale office listings above $5 million and caps the run at 100 properties. Check that the filters appear in the URL, because the current build translates only a known subset of query parameters.

Example Output

{
"id": 2555498,
"url": "https://www.crexi.com/properties/2555498/alaska-1400-west-benson-boulevard",
"name": "1400 West Benson Boulevard",
"description": "100% leased Class A Office Building",
"dealType": "buy",
"status": "On-Market",
"propertyType": "Office",
"propertyTypes": [
"Office"
],
"askingPrice": 16000000,
"pricePerSqFt": null,
"capRate": null,
"netOperatingIncome": null,
"squareFootage": 75209,
"fullAddress": "1400 West Benson Boulevard, Anchorage, AK 99503",
"city": "Anchorage",
"state": "AK",
"zipCode": "99503",
"latitude": 61.1931435,
"longitude": -149.909059,
"brokerName": "Carl D. Kuhn",
"brokerageName": "Jack White Commercial",
"photoCount": 7,
"hasOfferingMemorandum": true,
"isInOpportunityZone": true,
"daysOnMarket": 142,
"scrapedAt": "2026-10-22T12:06:06.651Z",
"brokers": [
{
"name": "Carl D. Kuhn",
"brokerageName": "Jack White Commercial",
"phone": null,
"email": null,
"profileUrl": "https://www.crexi.com/professionals/carlku"
}
]
}

This is a trimmed real sample. Optional underwriting fields are null, while the broker record still carries a profile URL even when phone and email are absent. Treat the broker array as the source of truth for multi-broker listings.

Integrations and Automation

Call the Actor from the Apify API, Apify MCP, a scheduled task, Zapier, Make or n8n. Export JSON, CSV or Excel, or push rows into Google Sheets, Airtable, a CRM, a data warehouse or a webhook.

For deal sourcing, normalize propertyType and dealType, then score rows on asking price, price per square foot, cap rate and days on market. Keep null underwriting fields as null so a missing cap rate is not ranked as a zero.

For broker outreach, explode the brokers array and deduplicate on profile URL or normalized name plus brokerage. Keep the listing ID alongside each broker so a contact can be tied back to the property that produced it.

FAQ

Can I use more than one start URL?

The current build reads the first start URL for the API query. Run separate jobs for distinct searches and combine the datasets afterward.

Are cap rate and NOI always available?

No. Many listings do not publish underwriting metrics. The fields are null when Crexi does not supply them and should not be treated as zero.

Does the Actor visit each property page?

It uses the public Crexi search API and preserves the listing object. That object already includes many property and broker fields, so a separate page visit is not required for every row.

How many broker contacts can a listing have?

A listing can include several brokers in the brokers array. The top-level brokerName and brokerageName are summary fields and may represent only the primary contact.

Why did my location filter disappear?

Location filters depend on Crexi place IDs. The Actor tries to capture the polygons in a headless browser; if that fails, it continues without the location filter rather than returning no rows.

What is the free limit?

The free tier saves at most 20 properties. Paid runs can request up to 10,000 properties, subject to availability and API limits.

For AI Agents and LLM Apps

The Actor returns commercial property and public broker records with stable listing IDs, numeric pricing, geographic coordinates and source timestamps. It is suitable for CRE screening and lead-generation agents through the Apify API or Apify MCP.

  • One row represents one Crexi property. Use id or the canonical url as the key.
  • Preserve nulls in capRate, netOperatingIncome, pricePerSqFt and pricePerAcre; missing underwriting data is not zero.
  • Explode brokers before deduplicating contacts, and keep the listing ID as the relationship key.
  • The current build uses only the first start URL, so do not assume multiple URLs are combined in one run.
  • The free tier is capped at 20 properties, and every saved property is billed as a result.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Crexi. It reads publicly available listing and broker data for investment research, market analysis and legitimate business outreach. Crexi terms and applicable real estate, privacy and marketing law still apply.

Broker names, phone numbers and emails can be personal data. Use them only for lawful business communication, respect do-not-contact requests, and comply with telemarketing and anti-spam rules. Do not present scraped asking prices or underwriting fields as verified appraisals or investment advice.

SEO Keywords

Crexi scraper, commercial real estate scraper, Crexi listings, CRE broker data, commercial property data, Crexi API alternative, broker lead generation, commercial real estate dataset, cap rate data, NOI data, office property listings, retail property data, industrial property data, multifamily CRE data, Crexi property search, commercial real estate leads, CRE market research, opportunity zone properties, broker contact scraper, Crexi dataset