Compass Scraper — Public Real Estate Listings avatar

Compass Scraper — Public Real Estate Listings

Pricing

from $5.00 / 1,000 compass listings

Go to Apify Store
Compass Scraper — Public Real Estate Listings

Compass Scraper — Public Real Estate Listings

Extract public Compass.com property listings by location or listing URL with price, beds, baths, address, media, agents, and source provenance. $0.005 per listing.

Pricing

from $5.00 / 1,000 compass listings

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

Compass Scraper

Compass Scraper extracts public Compass.com real estate listings into one stable dataset row per property. It supports location-built searches, existing Compass search URLs, individual listing URLs, for-sale, rental, and sold pages, and optional detail-page enrichment.

Each stored listing costs $0.005, plus a small actor-start event and normal Apify usage. The maximum record-event cost is maxResults × $0.005; the actor prints that cap before crawling and charges only after a schema-valid dataset write.

Input

Minimal location search:

{
"locations": ["Boston, MA"],
"listingType": "for-sale",
"maxResults": 1,
"maxPages": 1,
"includeDetails": false
}

For saved filters, neighborhoods, or a direct listing, provide a public Compass URL:

{
"startUrls": [
{ "url": "https://www.compass.com/homes-for-sale/manhattan-ny/" }
],
"maxResults": 50
}

locations defaults to Boston with one result, one page, and detail enrichment disabled so the default health check finishes quickly. Increase the limits and enable details for production runs. startUrls are combined with location URLs, so set locations to an empty list when you only want custom URLs. The actor accepts only https://www.compass.com/ URLs.

Output

Each dataset item includes listing identity and provenance plus fields such as price, price text, beds, baths, living area, lot size, property type, address, coordinates, description, images, agent, brokerage, MLS ID, and scrape time. Compass does not publish every field for every property; missing public fields are null and extraction warnings stay in the warnings array.

The actor supports both Compass's current cx-react-listingCard markup and its earlier listing-card attributes. Detail pages and JSON-LD/meta tags provide enrichment fallbacks.

Access and limitations

Compass may show JavaScript verification, rate-limit, or regional access challenges. The actor detects those pages, does not fabricate records, and reports a blocked run when no usable search page completes. An Apify residential proxy is requested by default; pass an authorized proxyConfiguration to change that behavior.

This actor reads public web pages only. You are responsible for complying with Compass terms, applicable law, privacy rules, MLS/data-feed restrictions, and responsible use of any public contact information. It is not affiliated with Compass.

API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('YOUR_USERNAME/compass-scraper').call({
"locations": ["Boston"],
"maxResults": 10,
"includeDetails": true
});
console.log(run.defaultDatasetId);

What data does Compass Scraper return?

FieldTypeDescription
listingIdstringCompass listing identifier or stable URL-derived identifier.
listingUrlstringCanonical public Compass listing URL.
statusstring or nullListing status when published by the page.
listingTypestring or nullSale, rental, or sold classification when available.
pricenumber or nullNumeric displayed price in the listing currency when available.
priceTextstring or nullOriginal displayed price string.
currencystring or nullCurrency code when published by structured data.
bedroomsnumber or nullDisplayed bedroom count.
bathroomsnumber or nullDisplayed bathroom count.
livingAreaSqFtnumber or nullDisplayed living area in square feet when available.
lotSizeSqFtnumber or nullDisplayed lot size in square feet when available.
propertyTypestring or nullHouse, condo, apartment, or other published type.
addressstring or nullPublicly displayed street address.
citystring or nullPublicly displayed city.
statestring or nullPublicly displayed state or region.
postalCodestring or nullPublicly displayed postal code.
neighborhoodstring or nullNeighborhood when exposed by the page.
latitudenumber or nullListing latitude when publicly embedded.
longitudenumber or nullListing longitude when publicly embedded.
descriptionstring or nullPublic listing description when available.
imageUrlsarrayPublic image URLs exposed by the listing.
agentNamestring or nullPublic listing agent name when available.
agentPhonestring or nullPublicly displayed agent phone when available.
brokeragestring or nullListing brokerage when available.

Use cases

  • Compare listings, locations, availability, and market signals for property research.
  • Build public prospect lists and qualify organizations or professionals before responsible outreach.
  • Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
  • Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
  • Feed schema-shaped records into a database, spreadsheet, BI tool, or AI workflow with the source URL retained for verification.