Realtor.com Property Scraper — Homes, Rentals & Sales avatar

Realtor.com Property Scraper — Homes, Rentals & Sales

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Realtor.com Property Scraper — Homes, Rentals & Sales

Realtor.com Property Scraper — Homes, Rentals & Sales

Under maintenance

Scrape Realtor.com property listings for any US location. Extract prices, beds, baths, sqft, year built, lot size, property type, agent info, price history, and photos. Supports for-sale, rental, sold, and pending listings with filtering. Parses __NEXT_DATA__ and embedded JSON.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 hours ago

Last modified

Categories

Share

Realtor.com Property Scraper

Scrape Realtor.com property listings for any US location. Extract prices, bedrooms, bathrooms, square footage, year built, lot size, property type, listing agent, price history, photos, and more.

Supports homes for sale, rentals, recently sold, and pending properties. Search multiple locations in a single run. Filter by property type, price range, bedrooms, and bathrooms.

Features

  • Four listing statuses -- for sale, for rent, recently sold, and pending properties
  • Any US location -- search by city, ZIP code, or paste any Realtor.com search URL
  • Multiple locations -- search several cities or ZIPs in a single run
  • Eight property types -- single family, multi-family, condo, townhouse, mobile, land, farm, or any
  • Deep data extraction -- prices, beds, baths, sqft, lot size, year built, stories, garage, HOA fees
  • Four extraction strategies -- parses __NEXT_DATA__ (Next.js), embedded JSON, JSON-LD schema, and CSS selectors as fallback
  • Agent and broker info -- listing agent name, phone, brokerage, MLS ID
  • Price history -- historical price changes and listing events
  • Photo URLs -- primary image and full gallery URLs
  • Geolocation -- latitude and longitude coordinates for mapping
  • Smart pagination -- automatically follows multi-page results up to 50 pages
  • Deduplication -- tracks seen property IDs and addresses to avoid duplicates
  • Anti-bot handling -- 10 rotating User-Agent strings with full realistic browser headers, block detection, graceful shutdown
  • Per-location stats -- detailed breakdown of results per location in logs
  • Pay-per-event -- charged per property scraped

Use Cases

Real Estate Investment Analysis

Scrape listings across multiple cities to compare property values, identify undervalued markets, and track asking prices. Filter by property type and price range to focus on your investment criteria.

Rental Market Research

Monitor rental listings across neighborhoods to analyze rent prices by bedroom count, property type, and location. Identify emerging rental markets and seasonal trends.

Comparable Sales (Comps)

Collect recently sold properties for appraisals and comparative market analysis. Price history data shows how values changed over time.

Lead Generation for Real Estate Professionals

Extract agent and broker contact information alongside property data for marketing outreach, CRM enrichment, and competitive analysis.

Market Analytics and Mapping

Build datasets with geolocation data for heatmaps, spatial analysis, and market trend visualization. Track days on market and price reductions across regions.

Property Type Analysis

Compare single-family vs. condo vs. townhouse pricing and availability across markets. Identify which property types sell fastest in different areas.

Academic and Economic Research

Collect structured housing data for economics research, urban planning studies, affordability analysis, and demographic studies.

Input

FieldTypeDefaultDescription
locationsString[]["Los-Angeles_CA"]List of locations to search (city_state, ZIP, or full URL)
propertyTypeStringanyProperty type filter
minPriceInteger0Minimum price filter (0 = no minimum)
maxPriceInteger0Maximum price filter (0 = no maximum)
minBedsInteger0Minimum bedrooms (0 = no minimum)
minBathsInteger0Minimum bathrooms (0 = no minimum)
statusStringfor_saleListing status: for_sale, for_rent, recently_sold, pending
maxResultsInteger500Max properties per location (0 = unlimited)
proxyObject(none)Apify proxy settings (residential recommended)

Location Format

Use Realtor.com's URL-friendly slug format (City_STATE):

LocationSlug
Los Angeles, CALos-Angeles_CA
New York, NYNew-York_NY
Miami, FLMiami_FL
Chicago, ILChicago_IL
San Francisco, CASan-Francisco_CA
Austin, TXAustin_TX
Seattle, WASeattle_WA
Denver, CODenver_CO
Beverly Hills, CABeverly-Hills_CA
ZIP code 9021090210
ZIP code 1000110001

Property Types

ValueDescription
anyAll property types
single_familySingle family homes
multi_familyMulti-family / duplexes
condoCondos, co-ops, row homes
townhouseTownhouses
mobileMobile / manufactured homes
landVacant land
farmFarms and ranches

Input Examples

Homes for sale in Los Angeles under $1M

{
"locations": ["Los-Angeles_CA"],
"status": "for_sale",
"maxResults": 200,
"maxPrice": 1000000
}

Condos for rent in multiple cities

{
"locations": ["Manhattan_NY", "Brooklyn_NY", "Miami_FL"],
"status": "for_rent",
"propertyType": "condo",
"maxResults": 100
}

Recently sold homes in ZIP 90210

{
"locations": ["90210"],
"status": "recently_sold",
"maxResults": 500
}

Investment properties: cheap multi-family in Detroit

{
"locations": ["Detroit_MI"],
"status": "for_sale",
"propertyType": "multi_family",
"maxResults": 300,
"maxPrice": 150000,
"minBeds": 3,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Large-scale scan of multiple markets

{
"locations": [
"Austin_TX",
"Nashville_TN",
"Raleigh_NC",
"Boise_ID",
"Tampa_FL"
],
"status": "for_sale",
"propertyType": "single_family",
"minBeds": 3,
"minBaths": 2,
"maxResults": 200,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Custom Realtor.com search URL

{
"locations": ["https://www.realtor.com/realestateandhomes-search/San-Francisco_CA/type-condo-townhome-row-home-co-op/price-500000-1500000"],
"maxResults": 100
}

Output

Each property is saved to the default dataset. Fields vary based on data availability.

Standard output (search page)

{
"propertyId": "M1234567890",
"address": "123 Main St, Los Angeles, CA, 90001",
"streetAddress": "123 Main St",
"city": "Los Angeles",
"state": "CA",
"zipcode": "90001",
"price": 850000,
"priceFormatted": "$850,000",
"beds": 3,
"baths": 2,
"bathsFull": 2,
"bathsHalf": 0,
"sqft": 1650,
"lotSize": "5,500 sqft",
"lotSqft": 5500,
"yearBuilt": 1972,
"propertyType": "Single Family",
"status": "For Sale",
"stories": 1,
"garage": 2,
"daysOnMarket": 14,
"listDate": "2026-02-15",
"agent": "Jane Smith",
"agentPhone": "(310) 555-0123",
"brokerage": "Keller Williams Realty",
"mlsId": "SR26012345",
"mlsName": "CRMLS",
"priceHistory": [
{
"date": "2026-02-15",
"price": 875000,
"priceFormatted": "$875,000",
"event": "Listed",
"source": "CRMLS"
},
{
"date": "2026-02-28",
"price": 850000,
"priceFormatted": "$850,000",
"event": "Price Changed",
"source": "CRMLS"
}
],
"images": [
"https://ap.rdcpic.com/abc123-m.jpg",
"https://ap.rdcpic.com/def456-m.jpg"
],
"primaryImage": "https://ap.rdcpic.com/abc123-m.jpg",
"latitude": 34.0522,
"longitude": -118.2437,
"url": "https://www.realtor.com/realestateandhomes-detail/123-Main-St_Los-Angeles_CA_90001_M1234567890",
"description": null,
"scrapedAt": "2026-03-01T12:00:00.000Z",
"source": "realtor.com",
"searchLocation": "Los-Angeles_CA",
"searchPage": 1
}

Extended output (detail page data, when available)

Detail pages add these additional fields:

{
"description": "Beautifully renovated 3-bedroom home in prime Los Angeles location. Features updated kitchen with granite countertops, hardwood floors throughout...",
"taxHistory": [
{ "year": 2025, "assessment": 720000, "tax": 8640, "landValue": 432000, "buildingValue": 288000 }
],
"schools": [
{ "name": "Lincoln Elementary", "rating": 7, "distance": "0.3 mi", "type": "public", "grades": "K-5" }
],
"features": [
{ "category": "Interior", "text": "Hardwood Floors" },
{ "category": "Exterior", "text": "Fenced Yard" }
],
"hoaFee": 0,
"hoaFrequency": null,
"neighborhood": {
"name": "Downtown",
"city": "Los Angeles",
"state": "CA",
"walkScore": 82,
"transitScore": 65,
"bikeScore": 70
},
"heating": "Central",
"cooling": "Central Air",
"construction": "Stucco",
"roofType": "Tile",
"foundation": "Slab",
"detailPageScraped": true
}

Performance Tips

  1. Use residential proxies -- Realtor.com blocks many datacenter IP ranges. Use Apify's RESIDENTIAL proxy group for best results.
  2. Start with a small test -- run with maxResults: 10 first to verify your location and proxy setup before scaling up.
  3. Multiple locations in one run -- instead of running the actor multiple times, pass all locations in a single locations array for efficiency.
  4. Be patient with large searches -- the crawler limits itself to ~20 requests/minute to avoid blocks. A 500-property search may take 10-15 minutes.
  5. Use specific property types -- filtering by property type reduces the number of pages to crawl and speeds up results.
  6. Use price filters -- narrowing the price range reduces total results and makes scraping faster.
  7. Custom URLs for advanced filters -- for complex Realtor.com searches (pool, waterfront, specific features), perform the search in your browser and paste the URL into the locations array.

Anti-Bot Protection

Realtor.com uses moderate anti-bot measures including:

  • IP-based rate limiting
  • Datacenter IP blocking
  • Cloudflare-style challenge pages
  • JavaScript rendering requirements (handled by JSON extraction)
  • User-Agent validation

This actor handles these by:

  • Rotating 10 realistic User-Agent strings per request
  • Sending full browser-like headers (Sec-Ch-Ua, Sec-Fetch-*, Referer)
  • Limiting to 20 requests/minute with random delays between pages
  • Detecting block/CAPTCHA pages and stopping gracefully (3-strike rule)
  • Supporting Apify residential proxy rotation
  • Preferring JSON data extraction over DOM parsing (works even with partial page loads)

If you see "Block/CAPTCHA detected" in logs, all data collected before the block is saved. Switch to residential proxies for reliable, large-scale scraping.

Pricing (Pay Per Event)

This actor uses Apify's pay-per-event model. You are charged $0.008 for each property successfully scraped and saved to the dataset. There is no charge for blocked or failed requests.

This actor is provided as a technical tool for data collection. Users are responsible for ensuring their use complies with Realtor.com's Terms of Use and all applicable laws. This tool is intended for personal research, market analysis, and educational purposes. Do not use scraped data for purposes that violate Realtor.com's terms or applicable law.