Crexi.com - US Commercial Real Estate Listings avatar

Crexi.com - US Commercial Real Estate Listings

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Crexi.com - US Commercial Real Estate Listings

Crexi.com - US Commercial Real Estate Listings

Scrape US commercial real estate for sale on Crexi: asking price, $/sq ft, size, type, tenants, address + lat/lng, opportunity zone, auction status, photos, broker contacts. Filter by state, city, zip, type, price, cap rate, size, lease type, tenant.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Swerve

Swerve

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Crexi Scraper - US Commercial Real Estate Listings

Extract every commercial property for sale on Crexi, the second-largest US commercial real estate marketplace (~245,000 active listings). One run returns asking price, size, price per sq ft, property type, tenants, exact address with coordinates, opportunity-zone flag, auction status, photos, and the listing brokers with phone and license - as JSON, CSV, Excel, or through the API.

No Crexi login is needed. Leave every filter empty to sweep the whole US market; the actor shards large searches automatically so nothing is skipped.

What you get

FieldExample
name, headline"Iroquois Manor Shopping Center", "Grocery Store Anchored"
propertyTypes, subtypes["Retail"], ["Strip Center"]
askingPrice, pricePerSqft, squareFootage, lotSizeAcres2000000, 14.85, 134699, 12.4
status, isAuction, offersDueOn"Auction", true, "2026-09-30T16:00:00Z"
address, city, county, state, zip, latitude, longitude"5300 S 3rd St", "Louisville", "Jefferson County", "KY", "40214", 38.171, -85.768
tenants, investmentType, leaseType, tenancy["Kroger"], "Net Lease", "NNN", "Multi"
brokerageName, brokers[]"Mid-America Real Estate", [{ name, title, brokerage, phone, licenseNumber, licenseState, profileUrl }]
description, investmentHighlights[], images[]full text, bullets, full-size photo URLs
isInOpportunityZone, hasOfferingMemorandum, hasVideotrue / false
activatedOn, updatedOnISO timestamps

See the Output tab for the complete field list with descriptions.

Input

FieldWhat it does
states, cities, zips, countiesGeography. Combine freely, e.g. states: ["TX"], cities: ["Austin"].
propertyTypesRetail, Office, Industrial, Multifamily, Land, Hospitality, Mixed Use, Self Storage, Mobile Home Park, Senior Living, Special Purpose, Business for Sale, Note/Loan.
minPrice / maxPrice, includeUnpricedAsking-price band. About 13% of listings have no published price.
minCapRate / maxCapRate, minOccupancyFinancial filters (applied by Crexi even though the values themselves are hidden from anonymous visitors - see below).
minSqft / maxSqft, minPricePerSqft / maxPricePerSqftSize and unit-price bands.
tenants, tenancy, leaseTypes, opportunityZoneOnlyInvestment filters, e.g. tenants: ["Dollar General"], leaseTypes: ["NNN"].
listingStatusactive (on-market + auctions) or underContract.
updatedSincee.g. 2026-09-01 - only listings the broker touched since then. Ideal for daily delta runs.
sortBy, sortDescendingCrexi relevance, recently updated, recently listed, price, cap rate.
maxItemsOptional cost cap. Blank = everything that matches.
enrichDetailsDefault on. Fetches the detail page, photo gallery and broker roster for every listing (3 extra requests each). Turn off for a fast price/location sweep.
proxyConfigApify datacenter proxy by default - Crexi's API accepts it, so runs are cheap.

Example: every NNN retail deal in Texas over $1M

{
"states": ["TX"],
"propertyTypes": ["Retail"],
"leaseTypes": ["NNN"],
"minPrice": 1000000
}

Example: daily feed of new listings nationwide (no enrichment, fast)

{
"updatedSince": "2026-09-01",
"sortBy": "activatedOn",
"enrichDetails": false
}

How it works

The actor talks to Crexi's own listing search API, the same one the website uses, and pages through results 60 at a time. Crexi caps any single search at 1,500 results, so when a query is larger the actor splits it by state, then property type, then asking-price band (with a separate pass for unpriced listings), then building size, and merges the shards with de-duplication by listing id. Results are pushed to the dataset as they arrive, so a stopped run still keeps everything collected so far.

With enrichDetails on, each listing gets three more calls: the detail record (description, highlights, subtypes, tenants, lot size, year built, sale condition, broker of record), the photo gallery, and the broker roster with license data and brokerage phone. Failed detail fetches are retried on a fresh proxy session; if a detail still fails, the row ships with the search-card fields and enriched: false rather than being dropped.

Limits and honest notes

  • Financials are hidden for anonymous visitors. Crexi shows cap rate, NOI, occupancy, year built, lease term and similar numbers only to logged-in users. The filters still work server-side (you can ask for cap rate 6-8%), but the values come back null with financialsMasked: true. Everything else - price, size, location, tenants, brokers, photos, text - is public and fully extracted.
  • For-sale only. Crexi's for-lease marketplace is rendered server-side without a public API; it is not covered by this actor.
  • Portfolios list several addresses. address/city/... describe the first one; locationCount tells you how many there are.
  • Listings that Crexi hides from anonymous traffic (private / vault-only) are not returned by the search API and therefore not by this actor.

Use cases

  • Deal sourcing: pull every NNN, multifamily or industrial listing in your target states daily; diff against yesterday to catch new inventory and price changes.
  • Broker prospecting: brokers, brokerages, license numbers and phone numbers for every active listing in a market.
  • Market research and comps: asking-price and $/sq ft distributions by county, type and size band.
  • Feeding your CRM, spreadsheet or model: export CSV/Excel or read the dataset via the Apify API.

Export formats

JSON, CSV, Excel (XLSX), XML, HTML table, or RSS - from the Console or via the Apify API (/v2/datasets/{datasetId}/items?format=csv). Schedule the actor and connect a webhook or Zapier/Make integration to push new listings anywhere.

Frequently asked questions

Does this scrape LoopNet too? No, Crexi only. LoopNet and Crexi have largely separate inventories, so many teams run both.

How many listings are there? Around 245,000 for sale across the US at any time; Texas alone is ~33,000, Land ~120,000.

Is it legal? The actor reads publicly available listing data with no login, at a polite request rate. You are responsible for how you use the output; check Crexi's terms for your use case.

Can I get cap rates? Only if Crexi publishes them to the public - currently they are shown to logged-in users only. Contact us if you need an authenticated mode.