Real Estate Listings Scraper avatar

Real Estate Listings Scraper

Pricing

Pay per usage

Go to Apify Store
Real Estate Listings Scraper

Real Estate Listings Scraper

Extracts structured property data from real estate search pages via schema.org and CSS selectors. No API key needed. Built-in presets for Realtor.com, Zillow, Rightmove. Customize selectors for any portal via input config.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Proyecto Apify

Proyecto Apify

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extracts structured property listing data from real estate portal search pages or direct listing URLs. No API key, no login — just public pages.

How It Works

  1. Start URLs — Provide search results page URLs or direct listing URLs.
  2. Phase 1 (CheerioCrawler) — Fast HTML parsing. Tries schema.org/RealEstateListing JSON-LD first (most stable), then CSS selectors.
  3. Phase 2 (PlaywrightCrawler) — If Cheerio finds zero listing cards (portal uses JavaScript rendering), the Actor automatically retries with a headless browser.
  4. Output — One row per listing in the Dataset.

Extracted Fields

FieldDescription
titleListing title / property name
priceNormalized price (numeric)
currencyCurrency code (e.g. USD, GBP)
addressFull address string
propertyTypeHouse, apartment, land, etc.
sizeValueNumeric size
sizeUnitsqft, sqm, or null
bedroomsNumber of bedrooms
bathroomsNumber of bathrooms
descriptionListing description text
primaryPhotoUrlMain photo URL
listingUrlDirect link to the listing
publishDateDate listed
agentNameAgent/agency name (if visible)
agentPhoneAgent phone (if visible)
extractionMethodHow the data was extracted

Portal Configuration

The Actor includes built-in presets for: Realtor.com, Zillow, Rightmove, and a generic preset that uses schema.org markup (works with many portals worldwide).

Using a Built-In Preset

Just add the URL — the Actor auto-detects the portal:

{
"startUrls": [{ "url": "https://www.realtor.com/realestateandhomes-search/San-Francisco_CA" }]
}

Custom Selectors for a New Portal

Override any selector via portalConfig:

{
"startUrls": [{
"url": "https://example-real-estate.com/search",
"portalConfig": {
"searchCardSelector": ".listing-item",
"cardLinkSelector": "a.listing-link",
"cardPriceSelector": ".price-tag",
"priceSelector": "[data-price]",
"addressSelector": ".property-address",
"titleSelector": "h1.title",
"descriptionSelector": ".listing-body",
"sizeSelector": ".area-value",
"bedroomsSelector": ".bed-count",
"bathroomsSelector": ".bath-count",
"imageSelector": ".main-photo img",
"agentNameSelector": ".agent-info .name",
"agentPhoneSelector": "a[href^='tel:']"
}
}]
}

Input

ParameterTypeDefaultDescription
startUrlsArray(required)Search page or listing URLs
maxListingsPerSearchInteger30Max listings per search page
currencyStringUSDPreferred currency code
includeAgentContactBooleantrueExtract agent name and phone
proxyConfigurationObjectApify proxyProxy settings
maxConcurrencyInteger2Max concurrent requests

Example Output

{
"title": "123 Main St, San Francisco, CA 94102",
"price": 1250000,
"currency": "USD",
"address": "123 Main St, San Francisco, CA 94102",
"propertyType": "House",
"sizeValue": 1850,
"sizeUnit": "sqft",
"bedrooms": 3,
"bathrooms": 2,
"description": "Beautiful Victorian home...",
"primaryPhotoUrl": "https://example.com/photo.jpg",
"listingUrl": "https://www.realtor.com/property/123",
"publishDate": "2025-01-10",
"agentName": "Jane Smith",
"agentPhone": "+1-555-0123",
"portal": "realtor",
"extractionMethod": "schema.org",
"scrapedAt": "2025-01-15T10:30:00Z"
}

⚠️ Important

  • Only accesses publicly visible pages — no login-gated listings
  • No MLS/IDX data — only what portals show to unauthenticated visitors
  • Selector presets may need adjustment if a portal redesigns
  • Results depend on portal structure; not all fields will be available for every listing

Costs

Pay per result pricing. Each listing row in the Dataset counts as one result. Pages that return no data or fail to load are not charged.

License

ISC