Compass Scraper — Public Real Estate Listings
Pricing
from $5.00 / 1,000 compass 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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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?
| Field | Type | Description |
|---|---|---|
listingId | string | Compass listing identifier or stable URL-derived identifier. |
listingUrl | string | Canonical public Compass listing URL. |
status | string or null | Listing status when published by the page. |
listingType | string or null | Sale, rental, or sold classification when available. |
price | number or null | Numeric displayed price in the listing currency when available. |
priceText | string or null | Original displayed price string. |
currency | string or null | Currency code when published by structured data. |
bedrooms | number or null | Displayed bedroom count. |
bathrooms | number or null | Displayed bathroom count. |
livingAreaSqFt | number or null | Displayed living area in square feet when available. |
lotSizeSqFt | number or null | Displayed lot size in square feet when available. |
propertyType | string or null | House, condo, apartment, or other published type. |
address | string or null | Publicly displayed street address. |
city | string or null | Publicly displayed city. |
state | string or null | Publicly displayed state or region. |
postalCode | string or null | Publicly displayed postal code. |
neighborhood | string or null | Neighborhood when exposed by the page. |
latitude | number or null | Listing latitude when publicly embedded. |
longitude | number or null | Listing longitude when publicly embedded. |
description | string or null | Public listing description when available. |
imageUrls | array | Public image URLs exposed by the listing. |
agentName | string or null | Public listing agent name when available. |
agentPhone | string or null | Publicly displayed agent phone when available. |
brokerage | string or null | Listing 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:
| Event | Price (USD) | When it is charged |
|---|---|---|
compass-listing | $0.005 | Compass listing — Charged after one schema-valid public Compass listing is stored in the dataset. |
apify-actor-start | $0.00005 | Actor 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.