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.
- Total users
- 6
- Monthly active
- 1
- Total runs
- 442
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
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
- Create a free Apify account with $5 in credit.
- Open the Realtor.com Property Listings Scraper.
- Set your inputs and any filters, then click Start.
- 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
| Field | Type | What it does | Default |
|---|---|---|---|
| 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 for | What it is | Price 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.
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.
{
"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
