ParseForge Scrapers

Realtor.com Property Listings Scraper

parseforge/realtor-com-scraper

Real estateLead generationOther

Scrapes Realtor.com property listings from search URLs or location keywords. Returns each listing as a flat row with optional detail enrichment including tax history, school ratings, and risk factors.

Run this scraper See the API call
Total users
6
Monthly active
1
Total runs
442
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Realtor.com Property Listings Scraper

Scrape Realtor.com property listings from any city, ZIP code, or direct URL, up to a million per run. Each listing comes with price, beds, baths, square footage, lot size, year built, and full property history when you enable details. Export to CSV, JSON, Excel, or XML.

Realtor.com's public search pages show only a fraction of the data behind each listing. This actor reads the full listing cards and optional detail pages directly, collecting every property that matches your filters. Feed it a city name, a ZIP code, or a list of search URLs, and it returns a structured dataset ready for market analysis, lead generation, or investment research.

Who uses it What they scrape Realtor.com for
Real estate investors Compare on-market prices and property history across a target ZIP code.
Market analysts Track inventory volume, median prices, and days on market by city.
Lead generation agencies Build lists of for-sale-by-owner or recently sold properties for outreach.
Property managers Monitor rental listings and price changes in a specific neighborhood.

What it does

This Actor collects Realtor.com property listings by location, listing status, and property filters, and returns each one as a flat row with optional detail enrichment.

  • ๐Ÿ  Search builder: type a city, address, or ZIP code and pick Buy, Rent, or Sold mode to generate the search URL automatically.
  • ๐Ÿ”— Direct URL input: paste one or more Realtor.com search or detail page URLs to scrape exactly the listings you see.
  • ๐Ÿ“Š Detail enrichment: toggle Include Details to fetch property history, tax records, school ratings, and flood risk data from each listing's full page.
  • ๐Ÿ“ Floorplan capture: when details are on, optionally pull available floorplans as structured data.
  • ๐ŸŽฏ Precision filters: narrow results by property type, beds, baths, price range, square footage, lot size, year built, and sold recency.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Realtor.com data

๐Ÿ“ˆ Monitor a market before investing.

An investor runs the actor weekly on a ZIP code in For Sale mode, exports to CSV, and tracks median price per square foot to time a purchase.

๐Ÿ“‹ Build a lead list of recently sold homes.

A real estate agent scrapes Sold listings from the last 30 days in three suburbs, filters by single-family homes, and uses the address list for direct mail.

๐Ÿข Compare rental inventory across neighborhoods.

A property manager scrapes Rent listings for two ZIP codes, filters by condo and apartment types, and compares average rent per bedroom to set a competitive price.

๐Ÿ” Audit listing accuracy at scale.

A data quality team feeds a list of detail URLs, enables Include Details, and verifies that public records match the listing card data for a compliance report.

Why choose this scraper

What you get
No per-result fee Pay only for platform usage, not per listing scraped.
Bypasses front-end limits Reads past the 3,000-result cap that the public search UI enforces.
Detail-page depth Optionally enriches every listing with tax history, school scores, and risk factors.
Fixed flat schema Every run returns the same columns, so your downstream pipeline never breaks.

How it compares

Two other Apify actors also scrape Realtor.com. This one focuses on property listing data with deep detail-page enrichment, while the others emphasize agent profiles or per-result pricing.

Feature ParseForge Realtor.com [$1.5๐Ÿ’ฐ] [GET ALL AGENTS] [NO 3K LIMIT] โœ… Realtor $1/1k Real Estate Agent Leads Scraper
Property detail enrichment (tax, schools, risk) Yes, optional via Include Details Not listed Not listed
Agent profile and contact extraction Not listed Yes Yes
Search by city, ZIP, or address keyword Yes, via Search Builder Not listed Not listed
Bypasses 3,000-result front-end limit Yes Yes Not listed
Per-result pricing model No, platform usage only Yes, $1.50 per 1,000 results Yes, $1 per 1,000 results
Floorplan extraction Yes, optional Not listed Not listed

Configure the run

Drive the Actor from a location keyword, a direct URL, or a list of URLs, and apply listing status, property type, and numeric range filters so only matching properties land in your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "startUrl": "https://www.realtor.com/realestateandhomes-search/Los-Angeles_CA",
  "maxItems": 10,
  "includeDetails": true,
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

A larger pull:

{
  "startUrl": "https://www.realtor.com/realestateandhomes-search/Los-Angeles_CA",
  "maxItems": 200,
  "includeDetails": true,
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}

Pricing

Pay-per-result: $0.03199 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $3.20
1,000 results $31.99
10,000 results $319.90

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Realtor.com Property Listings Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Realtor.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/realtor-com-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results even though the search URL works in my browser?

Check that your filters are not too restrictive. Try removing numeric range filters one at a time, and confirm that the location or ZIP code you entered returns listings on the live Realtor.com site.

The actor stops after collecting fewer items than my maxItems setting.

This usually means the search ran out of matching listings. Try broadening your filters, increasing the endPage value, or using a more general location keyword.

Detail enrichment is slowing down the run significantly.

Detail pages are fetched one per listing, which adds time. Lower maxConcurrency if you see rate-limiting, or disable Include Details for faster bulk collection of listing-card data only.

I see proxy errors or blocked requests in the log.

The actor defaults to residential proxies. If you still see blocks, reduce maxConcurrency to 5 or lower, and consider spreading large runs across multiple smaller jobs.

FAQ

Question Answer
Can I scrape listings from a specific city without pasting a URL? Yes. Use the Search Builder section: type a city, address, or ZIP code into the search field, choose Buy, Rent, or Sold mode, and the actor will construct the search URL for you.
Does this actor get past the 3,000 listing limit on Realtor.com? Yes. The public website stops showing results after about 3,000 listings, but this actor paginates through the underlying data feed and can collect up to the maxItems you set, well beyond that cap.
What extra data do I get when I enable Include Details? With Include Details turned on, the actor visits each property's full detail page and returns property history, tax records, nearby school ratings, and flood or fire risk factors when available.
Can I filter by property type and price at the same time? Yes. The Filters section lets you combine property type, listing status, and numeric ranges for beds, baths, price, square footage, lot size, and year built in a single run.
How do I scrape recently sold listings? Set the Mode to Sold or the listingStatus to recently_sold, and optionally use the Sold Within filter to limit results to properties sold in the last N days.
Does this actor require a Realtor.com account or API key? No. It reads the public listing feeds directly. You do not need to register an app, log in, or manage OAuth tokens.
Can I limit how many listings are scraped per search URL? Yes. Use maxItemsPerStartUrl to cap the number of properties collected from each seed URL, which is useful when you run many URLs in parallel.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform.
Is residential proxy included? The input schema pre-selects Apify's residential proxy group, which helps avoid blocks when scraping at scale. You can adjust the proxy configuration if needed.
Can I scrape agent information along with property listings? This actor focuses on property listing data and optional detail-page enrichment. It does not currently extract agent profiles or contact details.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Move, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Single Realtor.com URL (search or detail) to use as a seed. https://www.realtor.com/realestateandhom
startUrls array Multiple Realtor.com URLs (search or detail) to process. not set
maxItems integer Maximum number of properties to collect per run. 10
maxItemsPerStartUrl integer Maximum number of properties to collect from each seed URL. not set
search string Search keyword/location used with Mode (example: Las Vegas, NV). not set
mode string (3 options) Search mode for keyword search. not set
location string Location token or ZIP (example: New-York_NY, 10001). not set
listingStatus string (3 options) Filter by listing status. not set
propertyType string (7 options) Filter by property type. not set
minBeds integer Minimum number of bedrooms. not set
minBaths number Minimum number of bathrooms. not set
minPrice integer Minimum listing price in USD. not set
maxPrice integer Maximum listing price in USD. not set
minSqft integer Minimum interior square feet. not set
maxSqft integer Maximum interior square feet. not set
minLotSqft integer Minimum lot square feet. not set
maxLotSqft integer Maximum lot square feet. not set
minYearBuilt integer Minimum construction year. not set
maxYearBuilt integer Maximum construction year. not set
soldWithin integer Sold recency filter in days (for sold listings). not set
endPage integer Last page number to process per seed URL. not set
includeDetails boolean Fetch property detail page data (history, schools, tax, risk). true
includeFloorplans boolean When details are enabled, include floorplans when available. not set
maxConcurrency integer Maximum parallel requests. 10
proxyConfiguration object Apify proxy settings. {"useApifyProxy":true,"apifyProxyGroups"

Pricing

from $23.99 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged once when the run starts. $0.005
Result Item Charged once per result collected. $0.02399 to $0.03199

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~realtor-com-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Realtor.com Property Listings Scraper on Apify All scrapers