ParseForge Scrapers

CommercialCafe Scraper

parseforge/commercialcafe-scraper

Real estateBusiness

Scrape commercial real estate listings from CommercialCafe.com: office, retail, industrial, flex, land. Captures address, property type, building size, available space, asking rent or sale price, year built, broker, images and more.

Run this scraper See the API call
Total users
9
Monthly active
2
Total runs
176
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

CommercialCafe Scraper

Scrape commercial real estate listings from CommercialCafe by city, state, or property type, up to a million per run. Each listing comes with its address, size, asking rent or sale price, broker contacts, and full property details. No login or API key. Export to CSV, JSON, Excel, or XML.

CommercialCafe's public search pages hold thousands of office, industrial, retail, multifamily, and land listings across the US and Canada, but there is no official API and manual copying is slow. This Actor reads those pages directly, filters by location, property type, and lease or sale, and returns each match in one fixed schema. You can also paste any CommercialCafe search URL to scrape exactly what you see.

Who uses it What they scrape CommercialCafe for
Commercial real estate brokers Monitor new lease and sale listings in their market before clients see them
Market researchers Track asking rents and sale prices by property type across metro areas
Investors and asset managers Build a pipeline of on-market office, industrial, and retail properties
Data analysts Feed clean CommercialCafe listing data into BI tools or valuation models

What it does

This Actor collects CommercialCafe commercial real estate listings by search URL or by country, state, city, property type, and listing type, and returns each one as a flat row.

  • πŸ“ Location search: pick a country, state, and city, or leave city empty to scrape an entire state.
  • 🏒 Property type filter: office, industrial, retail, flex, land, special purpose, multifamily, or coworking.
  • πŸ’° Lease or sale: filter to for-lease, for-sale, or all listings.
  • πŸ”— Direct URLs: paste any CommercialCafe search URL and the scraper follows it exactly.
  • πŸ“„ Detail pages: optionally visit each property page for full description, broker info, amenities, floors, year built, and image gallery.
  • ⚑ Fast mode: disable detail fetching to collect listing-card fields only and finish runs faster.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with CommercialCafe data

πŸ“ˆ Track asking rents by market.

A market researcher scrapes all for-lease office listings in New York City each week and charts asking rent per square foot to spot pricing trends.

🏭 Build an industrial property pipeline.

An investor scrapes industrial listings for sale across Texas and filters by size to shortlist warehouses that fit their acquisition criteria.

🀝 Find broker contacts for outreach.

A commercial real estate agent scrapes retail listings in Chicago with detail pages enabled to collect broker names and phone numbers for cold outreach.

πŸ—ΊοΈ Compare metro areas.

A data analyst scrapes multifamily listings in Los Angeles, San Francisco, and Seattle and joins the datasets to compare asking rents and vacancy signals.

Why choose this scraper

What you get
No API key or login Scrape public CommercialCafe pages without registering an app or waiting for approval
Full property details Get address, size, asking rent or sale price, broker contacts, and more in one row
US and Canada coverage Search all 50 states, DC, Puerto Rico, and every Canadian province
Flexible input Use a search URL or build a search from location and property type fields
Export anywhere Download as CSV, JSON, Excel, or XML, or push to Apify storage

How it compares

No other Store actor targets CommercialCafe the same way, so the honest comparison is with the alternatives teams actually weigh.

CommercialCafe Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When CommercialCafe changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from CommercialCafe search URLs or from country, state, city, property type, and listing type filters, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "startUrls": [
    {
      "url": "https://www.commercialcafe.com/commercial-real-estate/us/ny/new-york/"
    }
  ],
  "maxItems": 10
}

A larger pull:

{
  "startUrls": [
    {
      "url": "https://www.commercialcafe.com/commercial-real-estate/us/ny/new-york/"
    }
  ],
  "maxItems": 200
}

Pricing

Pay-per-result: $0.125 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $12.50
1,000 results $125.00
10,000 results $1250.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the CommercialCafe Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to CommercialCafe through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/commercialcafe-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your filters. If you set a city slug that does not match CommercialCafe's format, the search may return nothing. Try using a direct search URL from the site instead.

Why are some fields empty?

If Fetch Details is disabled, you only get listing-card fields. Enable it to collect broker info, full description, amenities, and more. Some listings may also have missing data on CommercialCafe itself.

Why is the run slow?

Fetch Details visits every property page, which takes time. Disable it if you only need listing-card fields, or reduce the maximum listings count.

Why did I get fewer results than expected?

CommercialCafe may paginate results, and the scraper stops at your maximum listings limit. Increase the limit or narrow your filters to a smaller area.

Can I scrape a specific property page?

Yes. Paste the property URL into Start URLs. The scraper will treat it as a single listing and return its details.

FAQ

Question Answer
Do I need a CommercialCafe account or API key? No. The scraper reads public listing pages directly. No login, no API registration, no rate-limit headaches.
Can I scrape a specific city or state? Yes. Use the country, state, and city fields to build a search. Leave city empty to scrape the entire state, or paste a CommercialCafe search URL for exact control.
What property types are supported? Office, industrial, retail, flex, land, special purpose, multifamily, and coworking. You can filter by one type or leave it on all types.
Can I get both lease and sale listings? Yes. Set listing type to for-lease, for-sale, or all listings. The default is all.
What extra fields do I get when I enable Fetch Details? Broker info, full description, amenities, floors, year built, and the full image gallery. Without it, you get only the fields visible on the listing card.
How many listings can I scrape in one run? Up to 1,000,000. Set the maximum listings field to control how many rows you want.
Does this work for Canada? Yes. Choose Canada as the country and pick a province like Ontario, British Columbia, or Quebec. City slugs work the same way.
Can I scrape a search URL I already have? Yes. Paste any CommercialCafe search URL into the Start URLs field and the scraper will follow it exactly, ignoring the location and property type filters.
What format is the output? Each listing is a flat row with consistent fields. You can export to CSV, JSON, Excel, or XML from Apify.
Is this legal? You should only scrape public data that you are allowed to access. Check CommercialCafe's terms of service and your local laws before scraping.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by CommercialCafe, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrls array Listing search URLs from CommercialCafe (e.g. https://www.commercialcafe.com/commercial-real-estate/us/ny/new-york/). If provided, the country/state/city/propertyType filters below are ignored. [{"url":"https://www.commercialcafe.com/
maxItems integer How many commercial listings to collect per run. 10
country string (2 options) Country to search in. Used only when no Start URLs are provided. us
state string (65 options) Two-letter state (US) or province (Canada) code, lowercase. Examples: ny, ca, tx, fl for US; on, bc, ab, qc for Canada. not set
city string City slug, lowercase, hyphens for spaces. Examples: new-york, los-angeles, san-francisco. Leave empty to search the entire state. not set
propertyType string (9 options) Filter listings by property type. Leave on "all" to include every category. all
listingType string (3 options) Filter by lease vs. sale listings. all
fetchDetails boolean If enabled, the scraper visits each property's detail page to capture extra fields (broker info, full description, amenities, floors, year built, full image gallery). Disabling speeds up runs but returns only the fields visible on the listing card. true

Pricing

from $93.75 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.09375 to $0.125

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~commercialcafe-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run CommercialCafe Scraper on Apify All scrapers