Realtor.com Scraper
Pricing
from $0.69 / 1,000 properties
Realtor.com Scraper
Scrape Realtor.com property listings for sale, for rent and recently sold: price, beds, baths, sqft, address, agent contacts, photos, price and tax history, schools, value estimates and climate risk scores.
Pricing
from $0.69 / 1,000 properties
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Realtor.com Scraper
Realtor.com Scraper extracts property listings from Realtor.com: homes for sale, rentals and recently sold properties with price, beds, baths, square footage, full address and coordinates, listing agent and office contacts, photos, value estimates, price and tax history, schools and climate risk scores, as clean JSON, CSV or Excel.
| Search any US city, ZIP code, neighborhood, county or state, or paste Realtor.com search and property URLs, filter by listing status and property type, and get 88 fields per home, including assigned schools, mortgage estimate and flood, fire, heat, wind and air risk scores. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/realtor-scraper. Scrapes US property listings from Realtor.com (homes for sale, rentals, recently sold). Call via ApifyClient: client.actor("parsebird/realtor-scraper").call(run_input={"searchLocations": ["Austin, TX", "78701"], "listingStatus": "for_sale", "propertyType": "single_family", "maxItems": 100, "includePropertyDetails": true}). Inputs: searchLocations (array of strings: "City, ST", ZIP code, neighborhood "Zilker, Austin, TX", county "Travis County, TX", state "Texas" or a street address), startUrls (array of Realtor.com search URLs such as https://www.realtor.com/realestateandhomes-search/Austin_TX, /apartments/Miami_FL, /realestateandhomes-search/Denver_CO/show-recently-sold, with type-, price-, beds-, baths-, sqft-, lot-sqft- filters read from the URL; or property URLs /realestateandhomes-detail/..._M12345-67890), listingStatus (for_sale | for_rent | recently_sold, default for_sale, applies to searchLocations), propertyType (all | single_family | condos | townhomes | multi_family | land | mobile | farm, default all, applies to searchLocations), maxItems (integer, total properties across all searches, default 100, 0 = no limit), includePropertyDetails (boolean, default true: schools, property_history, tax_history, mortgage estimate, local flood/fire/heat/wind/air scores and severities, features). Output: one record per property with property_id, listing_id, status, href, list_price, list_price_min, list_price_max, price_per_sqft, last_sold_price, last_sold_date, days_on_market, list_date, address_line, address_city, address_state_code, address_postal_code, address_lat, address_lon, county_name, neighborhoods, beds, baths_consolidated, sqft, lot_sqft, year_built, property_type, description_text, tags, is_new_construction, is_foreclosure, is_pending, is_contingent, primary_agent_name, primary_agent_email, primary_agent_phone, primary_office_name, source_name, source_listing_id, hoa_fee, estimates_current, photo_urls, photo_count, rental_units, open_houses, has_details, scraped_at; with details also mortgage_monthly_payment, property_tax_rate, property_history, tax_history, assigned_schools, nearby_schools, local_flood_score, local_fire_score, local_heat_score, local_wind_score, local_air_score (each with *_severity), features. Pricing: pay per event, "property" per property saved plus "details" per property with full details. Full API spec: https://apify.com/parsebird/realtor-scraper/api. Get your token: https://console.apify.com/settings/integrations.
What is Realtor.com Scraper?
Realtor.com Scraper turns Realtor.com search results and property pages into a structured dataset. Type a location such as "Austin, TX" or a ZIP code, pick For sale, For rent or Recently sold, and click Start. On October 18, 2026, Realtor.com showed 6,842 homes for sale in Austin, 14,239 rentals in Miami and 92,159 sold homes in Denver, and the actor can read searches of that size end to end.
It works as a Realtor.com API alternative: no account, API key or browser needed. You can also set up a search on Realtor.com in your browser, copy the URL and paste it in.
What can Realtor.com Scraper do?
- 🔎 Search by location. City and state, ZIP code, neighborhood, county, whole state or a single street address.
- 🔗 Paste Realtor.com URLs. Search-results URLs keep their location, listing status and filters (property type, price, beds, baths, sqft, lot size). Property page URLs return that one home.
- 🏠 For sale, for rent and sold. Recently sold searches return the most recent sales first.
- 🏘️ Property type filter. Single family, condos, townhomes, multi-family, land, mobile homes, farms and ranches.
- 📋 Full property details. Assigned and nearby schools with ratings, price and listing history, tax history with assessments, mortgage estimate, HOA fee and the full feature list.
- 🌊 Climate risk scores. Flood (with FEMA zone), wildfire, heat, wind and air quality scores from 1 to 10 with severity labels.
- 💵 Value estimates. Current automated valuations from several providers (for example Cotality™, Quantarium and Collateral Analytics), with high and low range.
- 📈 Past the 10,000-result limit. Realtor.com stops paging at 10,000 results; the actor splits large searches into price ranges so a whole city or state can be read.
- 📅 Scheduling. Run daily or weekly with Apify Schedules to track new listings and price changes.
- 🔌 API and integrations. Use the Apify API, or send results to Google Sheets, Zapier, Make, Slack or webhooks with Apify integrations. Export as JSON, CSV, Excel, XML or HTML.
What data can you extract from Realtor.com?
| Field | Description |
|---|---|
property_id, listing_id, href | Realtor.com property id, listing id and listing URL |
status | for_sale, for_rent or sold |
list_price, list_price_min, list_price_max | Asking price or rent in USD; rental communities show a min/max range |
price_per_sqft, hoa_fee | Price per square foot and monthly HOA fee |
last_sold_price, last_sold_date | Previous sale |
list_date, days_on_market | When the current listing went live, and days since then (empty on sold listings) |
address_line, address_city, address_state_code, address_postal_code | Full address |
address_lat, address_lon, county_name, neighborhoods | Coordinates, county and neighborhood names |
beds, baths_consolidated, sqft, lot_sqft, year_built | Size and age of the home |
property_type, property_sub_type, stories, garage | Home type and layout |
description_text, tags | Listing description and feature tags (e.g. central_air, hardwood_floors) |
is_new_construction, is_foreclosure, is_pending, is_contingent | Listing flags |
primary_agent_name, primary_agent_email, primary_agent_phone | Listing agent contact (when shown on Realtor.com) |
primary_office_name, primary_office_phone, broker_name | Listing office and broker |
source_name, source_listing_id | MLS name and MLS listing number |
estimates_current | Automated value estimates by provider |
photo_urls, photo_count, primary_photo | Full-size listing photos |
rental_units, pets_cats_allowed, pets_dogs_allowed | Rental floor plans and pet policy |
mortgage_monthly_payment, property_tax_rate | Estimated monthly payment, loan, down payment, rate and tax rate (details) |
property_history, tax_history | Price and listing events, yearly tax and assessment (details) |
assigned_schools, nearby_schools | Schools with rating, grades, distance and student count (details) |
local_flood_score … local_air_score | Flood, fire, heat, wind and air risk scores and severities (details) |
features | Full feature list grouped by category (details) |
How to scrape Realtor.com
- Open Realtor.com Scraper in Apify Console and sign in (or create a free account).
- Type one or more Locations, for example
Austin, TXor78701. - Pick the Listing status (For sale, For rent or Recently sold) and, if you like, a Property type.
- Or paste Realtor.com URLs copied from your browser: search pages or single property pages.
- Set Max properties. Start with 10-50 to test.
- Leave Include property details on for schools, history, mortgage and risk scores, or turn it off for search data only.
- Click Start, then download the results from the Output tab as JSON, CSV or Excel, or read them through the API.
How much does it cost to scrape Realtor.com?
Realtor.com Scraper uses pay-per-event pricing. Compute and proxy costs are included in the event prices; there are no other usage charges for the run.
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
property (per property saved) | $0.00089 | $0.00079 | $0.00069 | $0.00069 |
details (per property with full details) | $0.00059 | $0.00049 | $0.00039 | $0.00039 |
| Per 1,000 properties, details off | $0.89 | $0.79 | $0.69 | $0.69 |
| Per 1,000 properties, details on | $1.48 | $1.28 | $1.08 | $1.08 |
For example, 1,000 Austin homes for sale with full details cost $1.48 on the Free plan, or $0.89 without details. details is charged only for properties whose property page was loaded. Set a maximum cost per run in Apify Console and the actor stops when it's reached.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchLocations | string[] | No* | [] | City and state ("Austin, TX"), ZIP code ("78701"), neighborhood, county, state or street address |
startUrls | URL[] | No* | [] | Realtor.com search or property URLs; the type is detected automatically |
listingStatus | string | No | for_sale | for_sale, for_rent or recently_sold (applies to searchLocations) |
propertyType | string | No | all | all, single_family, condos, townhomes, multi_family, land, mobile, farm (applies to searchLocations) |
maxItems | integer | No | 100 | Total properties to return across all searches; 0 = no limit |
includePropertyDetails | boolean | No | true | Load property pages for schools, history, mortgage, risk scores and features |
proxyConfiguration | object | No | none | Optional proxy; the actor switches to Apify Proxy on its own if needed |
* Give at least one location or URL.
Search by location
{"searchLocations": ["Austin, TX"],"maxItems": 50}
Recently sold single-family homes
{"searchLocations": ["Denver, CO"],"listingStatus": "recently_sold","propertyType": "single_family","maxItems": 200}
Realtor.com URLs with filters
{"startUrls": [{ "url": "https://www.realtor.com/realestateandhomes-search/Austin_TX/type-single-family-home/beds-3/price-300000-600000" },{ "url": "https://www.realtor.com/apartments/Miami_FL" },{ "url": "https://www.realtor.com/realestateandhomes-detail/6700-Tulloch-Way_Austin_TX_78754_M83959-32351" }],"maxItems": 100}
Output example
One property with details on (lists shortened, agent contact masked):
{"property_id": "7989332242","listing_id": "3001951700","status": "for_sale","href": "https://www.realtor.com/realestateandhomes-detail/9802-Zion-Way_Austin_TX_78733_M79893-32242","list_price": 625000,"price_per_sqft": 597,"last_sold_date": "2021-09-22","days_on_market": 0,"list_date": "2026-10-18T02:15:37Z","photo_count": 32,"address_line": "9802 Zion Way","address_city": "Austin","address_state_code": "TX","address_postal_code": "78733","address_lat": 30.345631,"address_lon": -97.8612,"county_name": "Travis","neighborhoods": "Austin Lake Estates, West Austin","beds": 2,"baths_consolidated": "2","sqft": 1047,"lot_sqft": 14505,"year_built": 1965,"property_type": "single_family","description_text": "Tucked beneath a canopy of towering trees in highly sought-after Austin Lake Estates, this updated '60s fishing cabin blends original charac...","tags": ["central_air", "central_heat", "community_clubhouse", "community_outdoor_space", "community_park"],"is_new_construction": false,"is_pending": false,"primary_agent_name": "Jane Smith","primary_agent_email": "jane@example.com","primary_agent_phone": "5125550100","primary_office_name": "Coldwell Banker Realty","source_name": "UnlockMLS","source_listing_id": "7487574","hoa_fee": 54,"estimates_current": [{ "source": { "type": "corelogic", "name": "Cotality™" }, "estimate": 530500, "estimate_high": 574300, "estimate_low": 486800, "date": "2026-10-05", "is_best_home_value": true },{ "source": { "type": "quantarium", "name": "Quantarium" }, "estimate": 510897, "estimate_high": 648839, "estimate_low": 372954, "date": "2026-10-14", "is_best_home_value": false }],"photo_urls": ["https://ap.rdcpix.com/62514f69c46cf0e4708de23e2093ee45l-m1880588193r.jpg"],"mortgage_monthly_payment": 4422,"mortgage_loan_amount": 500000,"mortgage_down_payment": 125000,"mortgage_rate": 0.07247,"property_tax_rate": 0.01188,"property_history": [{ "date": "2026-10-18", "event_name": "Listed", "price": 625000, "price_change": 0, "source_name": "UnlockMLS", "source_listing_id": "7487574" }],"tax_history": [{ "year": 2026, "tax": 7110, "assessment_building": 78631, "assessment_land": 401369, "assessment_total": 480000 }],"assigned_schools": [{ "name": "West Ridge Middle School", "rating": 10, "parent_rating": 2, "distance_in_miles": 3.2, "education_levels": ["middle"], "grades": ["6", "7", "8"], "funding_type": "public", "student_count": 885, "assigned": true }],"local_flood_score": 1,"local_flood_severity": "minimal","local_flood_fema_zone": ["X (unshaded)"],"local_fire_score": 1,"local_fire_severity": "Minimal","local_heat_score": 8,"local_heat_severity": "Severe","local_wind_score": 6,"local_wind_severity": "Major","local_air_score": 2,"local_air_severity": "Minor","has_details": true,"scraped_at": "2026-10-18T06:25:14Z"}
With details off, the detail fields (mortgage_*, property_history, tax_history, schools, local_*, features) are null and has_details is false. Download the dataset in JSON, CSV, Excel, XML or HTML from the Output tab.
Use the Realtor.com Scraper API
Start the actor and read its results from your own code with the Apify API clients. Find your token in Apify Console → Settings → Integrations.
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/realtor-scraper").call(run_input={"searchLocations": ["Austin, TX", "78704"],"listingStatus": "for_sale","propertyType": "single_family","maxItems": 200,})for home in client.dataset(run["defaultDatasetId"]).iterate_items():print(home["address_line"], home["list_price"], home["beds"], home["local_flood_score"])
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/realtor-scraper').call({startUrls: [{ url: 'https://www.realtor.com/apartments/Miami_FL' }],maxItems: 100,includePropertyDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((home) => console.log(home.address_line, home.list_price, home.primary_agent_phone));
Use cases
- Real estate investors: find homes by price, size and type, and compare asking prices with automated value estimates.
- Market research: analyse prices, price per square foot, days on market and inventory by ZIP code, city or state.
- Comparable sales: pull recently sold homes with sale dates and price history for valuation work.
- Rental analysis: collect rents, floor plans and pet policies across a metro area.
- Lead generation: list agents, offices and brokers with their contact details.
- Risk and insurance: combine flood (FEMA zone), fire, heat, wind and air scores with property data.
- Relocation and schools: compare homes by assigned school ratings.
How it works
- Each location is matched to a Realtor.com city, ZIP code, neighborhood, county, state or address; each URL is read for its location, status and filters.
- The actor pages through the search results, newest listings first (sold searches: latest sales first), and removes duplicates across searches.
- Searches with more than 10,000 results are split into price ranges so they can be read past Realtor.com's paging limit.
- With Include property details on, it loads each property page for schools, history, mortgage, risk scores and features.
- Records are saved as they come in, and each property is charged once, when it's saved. If Realtor.com starts refusing requests, the actor switches to Apify Proxy by itself.
FAQ
How many properties can I scrape?
Set maxItems to 0 to read a whole search. In our tests on Apify, 1,000 properties with full details took 36 seconds, and 12,000 Chicago rentals without details took about 100 seconds.
Why does a search return a little fewer properties than Realtor.com's total? Realtor.com counts listings, and some homes have more than one listing (for example, listed by two agents, or for sale and for rent at once). The actor returns each property once. When a search is split into price ranges, the few listings without any price are left out.
How is days_on_market calculated?
It's the number of days since the current listing's list_date. It resets when a home is relisted, and it's empty on sold listings because their clock has stopped.
What's the sale price of a sold home?
For sold homes, last_sold_price and last_sold_date are the sale, and list_price is the last asking price before the sale. A price filter in a sold search URL (e.g. price-na-500000) applies to the sale price.
Why are the agent email or phone empty for some homes? The actor returns the contacts Realtor.com shows for the listing. Some listings show only the office, and some show no contact details.
Do the filters in the input apply to pasted URLs? No. A search URL keeps its own location, status and filters (property type, price, beds, baths, sqft, lot size). Listing status and Property type apply to the Locations field. Filters the actor doesn't support are listed in the run log.
Which time zone are dates in?
Timestamps such as list_date, last_update_date and scraped_at are UTC. Plain dates (last_sold_date, property_history.date) are as Realtor.com shows them.
Can I schedule runs and connect them to other tools? Yes. Use Apify Schedules for recurring runs and integrations for Google Sheets, Slack, Zapier, Make, n8n or webhooks. Results are also available through the API.
Something doesn't work or a field is missing? Open an issue on the actor's Issues tab with the input you used, and we'll look into it.
Is it legal to scrape Realtor.com?
This actor collects publicly available property listing data from Realtor.com. Agent names, emails and phone numbers can be personal data, so if you process them, make sure you have a lawful basis under the privacy laws that apply to you (for example the CCPA), and respect Realtor.com's terms of use. Scraping public data is generally lawful, but you are responsible for how you use it. Read more in Apify's blog post Is web scraping legal?, and ask a lawyer if you're unsure.
Other real estate scrapers
| Actor | What it does |
|---|---|
| Trulia Property Scraper | US homes for sale and rent from Trulia |
| Apartments.com Scraper & API | US apartment rentals, prices and floor plans |
| RentCafe Scraper | US rental listings from RentCafe |
| LoopNet Commercial Property Scraper | US and UK commercial real estate for sale and lease |
| Airbnb Scraper & API | Short-term rental listings, prices and hosts |