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

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Compass Scraper

Free-plan limit: Apify free-plan runs can return at most 5 dataset records per run from this Actor, even if you request more.

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. Browser traffic uses the DataImpulse proxy configured by the Actor owner; proxy settings are not part of the Actor input.

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.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
compass-listing$0.005Compass listing — Charged after one schema-valid public Compass listing is stored in the dataset.
apify-actor-start$0.00005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.