Crexi Listings Scraper avatar

Crexi Listings Scraper

Pricing

from $2.00 / 1,000 listings

Go to Apify Store
Crexi Listings Scraper

Crexi Listings Scraper

Scrape Crexi.com commercial real estate listings for sale, auction or lease: asking price, $/sq ft, size, address, brokerage and dates. Optional broker phones and licenses, cap rate, descriptions, auction terms and photos. Filters or search URLs, no 1,500-result cap.

Pricing

from $2.00 / 1,000 listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

🏢 Crexi Listings Scraper

Crexi Listings Scraper extracts commercial real estate listings from Crexi.com, one of the largest US marketplaces for commercial property, with no login and no API key. It covers properties for sale (including auctions) and spaces for lease. Search with simple filters (property type, state, city, price, cap rate, size, sale type) or paste any Crexi search URL. You get clean JSON with asking price, price per sq ft, size, address with GPS, brokerage and listing dates. You can also add the listing brokers with phone numbers and licenses, cap rate, full description, property facts, auction terms and all photos.

Run it on the Apify platform to get scheduling, an API, webhooks and exports to Google Sheets, Excel or CSV.

✨ Features

  • 🏷️ Sale and lease. Over 250,000 properties for sale and 175,000 lease listings across every US state: retail, multifamily, office, industrial, hospitality, land, self storage, mobile home parks, notes and businesses for sale.
  • 📞 Broker contacts. Turn on Include details to add each listing broker's name, brokerage, brokerage website and address, license numbers and phone number where one is on record (about half of brokers).
  • 💰 Investment data. Asking price, price per sq ft, cap rate, lot size, investment type, opportunity zone flag, tenant brand, zoning, and auction terms (starting bid, bidding end, deposits, closing period).
  • 🔍 Filters or URLs. Use the built-in filters, or set up a search on crexi.com and paste the URL. Filters, sort and page are kept.
  • 📦 No 1,500-result cap. Crexi stops at 1,500 results per search. The Actor splits large searches automatically, so you can collect a whole state or the entire marketplace. Each listing appears once, even when searches overlap.
  • 🗓️ Fresh listings. Sort by newest and use Listed within (days) for a daily or weekly feed of new listings.

💡 Use cases

  • Deal sourcing. Track new NNN, multifamily or industrial listings in your target markets every morning.
  • Broker lead lists. Build lists of active CRE brokers and brokerages by state and property type, with phones and licenses.
  • Market research. Compare asking prices, price per sq ft and cap rates by market and asset class.
  • Lease comps. Collect asking rents and available spaces by city and property type.
  • Auction monitoring. Follow upcoming auctions with starting bids and bidding deadlines.

🛠️ How to use

  1. Choose what to search. Pick For sale or For lease and fill in the filters (for example Property types Retail, States Texas), or paste one or more Crexi search URLs.
  2. Set Max listings. The default is 50. Use 0 for every result.
  3. (Optional) Turn on Include details to get brokers, cap rate, the description and photos.
  4. Run the Actor, then export the dataset as JSON, CSV or Excel, or read it through the API.

With empty input the Actor returns the 50 newest properties for sale.

📥 Input

FieldTypeDescription
searchUrlsarrayCrexi search URLs (/properties?... or /lease/properties?...). When set, the filter fields are ignored.
listingTypestringsale (default, includes auctions) or lease
propertyTypesarrayRetail, Multifamily, Office, Industrial, Hospitality, Mixed Use, Land, Self Storage, Mobile Home Park, Senior Living, ...
statesarrayUS state codes, e.g. TX, FL
citiesarrayCity, ST, e.g. Austin, TX. A city without a state is combined with the selected states.
keywordstringFree-text search, e.g. walgreens
saleTypesarrayFor sale only: Auction, On-Market, Call For Offers, Highest & Best
priceMin / priceMaxintegerFor sale only: asking price range in USD
capRateMin / capRateMaxnumberFor sale only: cap rate range in %
sqFtMin / sqFtMaxintegerBuilding size (or space size for lease) in sq ft
postedWithinDaysintegerOnly listings that went live in the last N days
sortstringnewest (default), recommended, updated, priceAsc, priceDesc, sizeDesc, capRateDesc, auctionEnding
maxItemsintegerMaximum listings to save. Default 50, 0 = no limit.
includeDetailsbooleanAdd brokers, cap rate, description, property facts, auction terms, photos and lease spaces. Default false.

Example:

{
"listingType": "sale",
"propertyTypes": ["Retail"],
"states": ["TX", "FL"],
"capRateMin": 6,
"priceMax": 5000000,
"maxItems": 200,
"includeDetails": true
}

Or paste a URL:

{
"searchUrls": ["https://www.crexi.com/properties?types%5B%5D=Multifamily&states%5B%5D=TX&sort=New%20Listings"],
"maxItems": 0
}

📤 Output

Each listing is one dataset item:

{
"id": "2734960",
"url": "https://www.crexi.com/properties/2734960/new-york-128-fahy-avenue",
"listingType": "sale",
"name": "128 Fahy Avenue",
"subtitle": "Multifamily | 1 Unit",
"status": "On-Market",
"propertyTypes": ["Multifamily"],
"address": "128 Fahy Avenue",
"city": "Staten Island",
"county": null,
"state": "NY",
"zip": "10314",
"latitude": 40.618868,
"longitude": -74.164932,
"fullAddress": "128 Fahy Avenue, Staten Island, NY 10314",
"locationCount": 1,
"brokerageName": "Re/Max Edge",
"brokerName": "Chu Chu Chen",
"thumbnailUrl": "https://crexi.com/images/format=auto,width=716,height=444,fit=cover/assets/2734960/2310178dd65a4aa2a073f7ae0ba73161.JPG",
"imageCount": 34,
"isNew": true,
"activatedOn": "2026-10-05T12:02:40.319Z",
"updatedOn": "2026-10-05T12:02:48.431Z",
"askingPrice": 875000,
"pricePerSqFt": 332.45,
"squareFootage": 2632,
"investmentType": null,
"isInOpportunityZone": false,
"offersDueOn": null,
"hasOfferingMemorandum": false,
"hasFlyer": true
}

Lease listings have numberOfSpaces, rentableSqFtMin, rentableSqFtMax, rateYearly, rateMonthly and rateType instead of the sale price fields. Portfolio listings also have a locations array with every property.

With Include details on, each item also has:

{
"propertySubtypes": ["Sports/Entertainment"],
"marketingDescription": "The Orpheum at 216 State Street, Madison, WI 53703 offers a rare opportunity to acquire ...",
"investmentHighlights": "Cresa is pleased to present the opportunity to acquire the Orpheum Theatre ...",
"propertyDetails": {
"Property Type": "Retail, Special Purpose",
"Class": "A",
"Square Footage": "41,930",
"Stories": "3",
"Zoning": "Downtown Core (DC), Designated Landmark (HIST-L)",
"Lot Size (SqFt)": "19,469",
"Ground Lease": "No"
},
"capRate": 8,
"lotSizeAcres": null,
"brokers": [
{
"name": "Tim Rikkers",
"brokerage": "Cresa Madison",
"brokerageWebsite": "https://www.cresa.com/madison-wi",
"brokerageAddress": "613 Williamson St, Madison, WI, 53703",
"phone": "608-467-0720",
"licenses": ["WI 72972-94"],
"isAuctioneer": false,
"listingsCount": 14,
"photoUrl": "https://crexi.com/images/format=auto,width=164,height=164,fit=cover/users/382866/8ca740f0200a4fbeba6de6298ce04302.jpg"
}
],
"imageUrls": [
"https://crexi.com/images/format=auto,width=3000,height=2000/assets/2734805/cdb8783a304543e59ff3d57e4dd5994f.JPG"
],
"isSold": false,
"auction": null,
"createdOn": "2026-10-04T13:51:18.022Z"
}

Auction listings have auction with startingBid, biddingEndsOn, participationDeposit, earnestDeposit, closingDays and auctioneer. Lease listings have a spaces array with each available suite (rate, size, monthly rent, lease type and description).

Fields the broker left empty are null. Some facts (NOI, occupancy, year built, APN) are shown by Crexi only to signed-in users and are not included.

💰 How much does it cost to scrape Crexi?

The Actor uses pay-per-event pricing, so you pay only for listings you get:

EventPriceWhen it's charged
Actor start$0.00005Once per run
Listing$0.002 ($2 per 1,000)For every saved listing
Listing details$0.003 ($3 per 1,000)On top of the listing price, for each listing saved with details

For example, 1,000 listings cost about $2.00, or $5.00 with brokers, cap rates, descriptions and photos. Set a maximum cost per run in Apify, and the Actor stops when it reaches that cost.

⚙️ Tips

  • Large runs: searches with more than 1,500 results are collected in slices by listing date, so the output is grouped by listing date rather than by your sort order.
  • Daily monitoring: schedule a run with sort: newest and postedWithinDays: 1 to collect only new listings.
  • Map locations in URLs: a pasted URL keeps whole-state locations. For a city, county or map area, use the states and cities fields (or the zips[], cities[] URL parameters).
  • Skip details when you don't need them. Listing rows already include price, size, address, brokerage and dates.

❓ FAQ

Is it legal to scrape Crexi? The Actor collects only publicly visible listing information. Broker names and phone numbers are business contact data published by the brokers. You are responsible for using it lawfully and for respecting Crexi's terms.

Do I need a proxy or a Crexi account? No. The default Apify proxy is preselected and works, and no login is needed.

Is there a result limit? No. The Actor works around Crexi's 1,500-result limit per search. maxItems and your maximum cost per run are the only limits.

Why did a run return fewer listings than requested? Either the search had fewer results, or some listings went off the market between the search and the detail visit. Those are skipped and not charged. The run's status message explains any shortfall.

🛟 Support

Missing a field or a filter? Open an issue in the Issues tab. Feedback and feature requests are welcome.