Realtor.com Scraper
Pricing
from $0.70 / 1,000 results
Realtor.com Scraper
Extract property listings, prices, agent details, and more from Realtor.com at scale. No API key required. Get structured JSON data for market research, lead generation, or real estate analytics — ready to use in minutes.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeMind
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Realtor.com Property Scraper do?
Realtor.com Property Scraper extracts property listings from any Realtor.com search page and delivers structured, ready-to-use data — no account, no API key, no code required. Paste a search URL and get back price, address, beds, baths, square footage, listing agent contacts, photos, and much more in seconds. Scrape up to 10,000 listings per search across the entire US market.
Need deeper data? Enable Get Property Details to also pull tax history, nearby school ratings, flood and noise risk scores, mortgage estimates, price history, HOA fees, open house schedules, and full photo galleries for every listing.
Output is available as JSON, CSV, or Excel — perfect for spreadsheets, CRM imports, or downstream data pipelines.
Why scrape Realtor.com data?
- Market research — track median prices, days on market, and price reduction trends across any zip code or city
- Investment analysis — combine list price, last sold price, estimated value, tax assessments, and HOA fees in a single dataset
- Lead generation — export listing agent names, phone numbers, and emails for every active listing in a target area
- Competitive intelligence — monitor new listings and price changes in a market by scheduling automatic daily or weekly runs
- Academic & journalistic research — build housing affordability datasets, school-district analyses, or neighborhood reports
- Portfolio tracking — pull detailed data for specific addresses to monitor value and listing status over time
How to scrape Realtor.com listings — step by step
- Go to Realtor.com and run a property search in your target area.
- Apply whatever filters you need — location, price range, beds, baths, property type.
- Copy the URL from your browser's address bar.
- Paste it into the Start URLs field in the Actor input.
- Choose Get Property Details if you want the full data set, or leave it off for a faster lightweight run.
- Click Save & Run. Results appear in the Output tab within seconds to minutes.
No technical setup needed. The Actor reads all filters directly from the URL.
Input
| Field | Type | Default | Description |
|---|---|---|---|
| Start URLs | array | — | One or more Realtor.com search page URLs. Filters (beds, baths, price, type, sqft, keywords) are parsed automatically from the URL. |
| Full Scrape | boolean | false | Paginate through all available results until the end (up to ~10,000 per search). Uses a larger page size for efficiency. Overrides Max Items. |
| Get Property Details | boolean | false | Fetch the full listing detail page for every result: tax history, schools, flood risk, mortgage estimate, price history, and more. Slower but far richer. |
| CSV-Friendly Output | boolean | true | Flatten all fields to simple scalars with no nested objects — ideal for CSV and Excel. Disable to receive the full nested JSON structure. |
| Max Items | integer | 100 | Maximum listings to collect across all URLs. Set to 0 for unlimited. Ignored when Full Scrape is enabled. |
| Proxy Configuration | object | disabled | Optional proxy settings for high-volume or restricted runs. |
Example input
{"startUrls": [{ "url": "https://www.realtor.com/realestateandhomes-search/Austin_TX/type-single-family-home/price-300000-600000/beds-3" }],"fullScrape": false,"getDetails": false,"csvFriendly": true,"maxItems": 500}
You can add multiple URLs to scrape several markets in a single run.
Output
Search results (fast mode, getDetails: false)
Each row is fully flat — no nested objects, ready to open directly in Excel or import into a database:
{"property_id": "3948201234","listing_id": "2981234567","status": "for_sale","url": "https://www.realtor.com/realestateandhomes-detail/123-Main-St_Austin_TX_78701","list_date": "2026-04-15T14:00:00.000000Z","last_update_date": "2026-05-01T09:30:00Z","list_price": 449000,"price_per_sqft": 224,"price_reduced_amount": 10000,"last_sold_price": 312000,"last_sold_date": "2020-06-12","hoa_fee": 75,"photo_url": "https://ap.rdcpix.com/example.jpg","photo_count": 34,"is_new_listing": true,"is_price_reduced": true,"is_new_construction": false,"is_foreclosure": false,"beds": 3,"baths": 2,"sqft": 2005,"lot_sqft": 6534,"year_built": 2003,"property_type": "single_family","garage": 2,"address": "123 Main St","city": "Austin","state_code": "TX","postal_code": "78701","latitude": 30.2672,"longitude": -97.7431}
Full property details (getDetails: true)
Includes everything above plus:
{"pool": false,"fireplace": true,"stories": 1,"heating": "Central","cooling": "Central Air","property_styles": "Ranch","description_text": "Beautiful 3/2 in a quiet cul-de-sac with updated kitchen...","state": "Texas","street_view_url": "https://maps.googleapis.com/...","estimated_value": 461000,"mortgage_monthly_payment": 2389,"mortgage_loan_amount": 404100,"mortgage_down_payment": 44900,"agent_name": "Jane Smith","agent_phone": "512-555-0101","agent_email": "jane@brokeragefirm.com","agent_state_license": "TX-12345","office_name": "Austin Premier Realty","office_phone": "512-555-0200","mls_id": "1234567","mls_name": "Austin MLS","days_on_mls": 12,"photo_urls": ["https://ap.rdcpix.com/img1.jpg", "https://ap.rdcpix.com/img2.jpg"],"virtual_tour_url": "https://tours.example.com/123-main-st","last_tax_year": 2024,"last_tax_amount": 8342,"last_assessed_total": 398000,"noise_score": 42,"flood_factor_score": 1,"flood_zone": "X","features": "Interior: Hardwood Floors, Granite Counters; Exterior: Covered Patio, Sprinkler System","schools": [{ "name": "Travis Elementary", "rating": 8, "grades": "K-5", "funding_type": "public", "distance_miles": 0.4 },{ "name": "O. Henry Middle", "rating": 7, "grades": "6-8", "funding_type": "public", "distance_miles": 0.9 }],"open_houses": [{ "start_date": "2026-05-11T13:00:00", "end_date": "2026-05-11T16:00:00", "methods": "In Person" }],"property_history": [{ "date": "2026-04-15", "event": "Listed", "price": 449000, "source": "Austin MLS" },{ "date": "2020-06-12", "event": "Sold", "price": 312000, "source": "Public Record" }],"building_permits": [{ "project_name": "Kitchen Remodel", "type_of_work": "Alteration", "date": "2022-03-10", "status": "Final" }]}
You can download the dataset in JSON, CSV, Excel, or XML from the Output tab after the run completes.
Data fields reference
Fields marked D are only available when getDetails: true.
| Field | Mode | Description |
|---|---|---|
property_id | S+D | Unique Realtor.com property identifier |
listing_id | S+D | Active listing identifier |
listing_key | D | MLS listing key |
status | S+D | for_sale or for_rent |
url | S+D | Direct link to the listing page |
application_url | D | Rental application URL |
list_date | S+D | Date the listing was published |
last_update_date | S+D | Date the listing was last updated |
last_price_change_date | D | Date of the most recent price change |
last_price_change_amount | D | Dollar amount of the most recent price change |
coming_soon_date | D | Expected listing date for coming-soon properties |
last_sold_date | S+D | Date of the previous sale |
list_price | S+D | Current asking price |
list_price_min / list_price_max | S+D | Price range (for multi-unit listings) |
price_per_sqft | S+D | Price ÷ interior square footage |
price_reduced_amount | S+D | Dollar amount of the most recent price cut |
last_sold_price | S+D | Price of the previous sale |
hoa_fee | S+D | Monthly HOA fee (0 if none) |
estimated_value | D | Automated valuation estimate |
mortgage_monthly_payment | D | Estimated monthly mortgage payment |
mortgage_loan_amount | D | Estimated loan amount |
mortgage_down_payment | D | Estimated down payment |
beds | S+D | Number of bedrooms |
beds_min / beds_max | D | Bedroom range (for multi-unit listings) |
baths | S+D | Number of bathrooms |
baths_consolidated | S+D | Combined baths as display string |
baths_min / baths_max | D | Bathroom range (for multi-unit listings) |
sqft | S+D | Interior square footage |
sqft_min / sqft_max | D | Sqft range (for multi-unit listings) |
lot_sqft | S+D | Lot size in square feet |
year_built | S+D | Year of construction |
garage | S+D | Number of garage spaces |
garage_min / garage_max | D | Garage range (for multi-unit listings) |
pool | D | Pool present |
fireplace | D | Fireplace present |
stories | D | Number of stories |
heating | D | Heating system type(s) |
cooling | D | Cooling system type(s) |
property_type | S+D | Property type (single_family, condos, etc.) |
property_sub_type | S | Property sub-type |
property_styles | D | Architectural style(s) |
property_name | S+D | Building or community name |
description_text | D | Full listing description |
address | S+D | Street address |
city | S+D | City |
state_code | S+D | Two-letter state code |
state | D | Full state name |
postal_code | S+D | ZIP code |
latitude / longitude | S+D | GPS coordinates |
street_view_url | D | Google Street View URL |
is_new_listing | S+D | Listed within the past few days |
is_pending | S+D | Under contract / pending |
is_contingent | D | Sale is contingent |
is_price_reduced | S+D | Price has been reduced |
is_new_construction | S+D | Newly built property |
is_foreclosure | S+D | Foreclosure property |
is_coming_soon | D | Not yet active on MLS |
is_deal_available | D | Special deal or incentive available |
is_usda_eligible | D | Eligible for USDA loan |
has_new_availability | S | New unit availability (rentals) |
cats_allowed / dogs_allowed | D | Pet policy (rentals) |
agent_name / agent_phone / agent_email | D | Primary listing agent contact |
agent_url | D | Agent profile URL |
agent_state_license | D | Agent license number |
office_name / office_phone / office_email | D | Brokerage contact |
office_url | D | Brokerage profile URL |
mls_id / mls_name | D | MLS listing ID and source name |
days_on_mls | D | Number of days on the MLS |
feed_type | D | MLS feed type |
listing_agent_name / listing_agent_phone / listing_agent_email | D | MLS source agent contact |
listing_office_name | D | MLS source office name |
photo_url | S+D | Primary listing photo |
photo_count | S+D | Total number of photos |
photo_urls | D | All listing photo URLs (array) |
virtual_tour_url | D | 3D or video tour link |
last_tax_year / last_tax_amount | D | Most recent tax year and amount |
last_assessed_building / last_assessed_land / last_assessed_total | D | Most recent assessed values |
noise_score | D | Neighborhood noise level (0–100) |
flood_factor_score / flood_zone | D | Flood risk score and FEMA zone |
features | D | Full amenity and feature list as text |
open_houses | D | Upcoming open house schedule (array) |
schools | D | Nearby schools with name, rating, grades, distance (array) |
property_history | D | Price and event history (array) |
building_permits | D | Historical permit filings (array) |
Tips and advanced options
- Filter in the URL first — use Realtor.com's own search filters before copying the URL. The Actor reads them automatically, so you only pay to scrape what you actually need.
- Multiple URLs in one run — add several city, zip-code, or filter-set URLs to scrape multiple markets simultaneously without running the Actor multiple times.
- Schedule for market monitoring — use the built-in Apify scheduler to re-run daily or weekly on the same URL and track price and availability changes over time.
- Raw JSON mode — turn off CSV-Friendly Output when ingesting data into a database or pipeline to receive the full nested structure without any field renaming or transformation.
- For-rent searches — paste any
realtor.com/apartments/URL to scrape rental listings with the same field set.
FAQ and support
Why are some fields empty? Not every listing has every field populated. New construction may lack tax history; some rentals omit school data; certain agents opt out of displaying contact information.
Why did the Actor stop before reaching my limit? Realtor.com limits search results to roughly 10,000 listings per query. For larger datasets, break the search into smaller sub-queries using tighter price ranges or specific zip codes.
Can I scrape a specific property address?
The Actor works with Realtor.com search page URLs. To get data on a specific property, search for its address on Realtor.com, copy the resulting search URL, and run it with maxItems: 1 and getDetails: true.
Something not working or a feature request? Open an issue in the Issues tab on this Actor's page. Custom integrations, scheduled pipelines, or white-label solutions are available on request.
Contact
If you need a custom web scraping solution or have any questions, feel free to contact me or reach out via Discord. Let's discuss how I can help with your data needs!