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
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
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?
| 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.