Realtor.com Scraper avatar

Realtor.com Scraper

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Realtor.com Scraper

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

ScrapeMind

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

  1. Go to Realtor.com and run a property search in your target area.
  2. Apply whatever filters you need — location, price range, beds, baths, property type.
  3. Copy the URL from your browser's address bar.
  4. Paste it into the Start URLs field in the Actor input.
  5. Choose Get Property Details if you want the full data set, or leave it off for a faster lightweight run.
  6. 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

FieldTypeDefaultDescription
Start URLsarrayOne or more Realtor.com search page URLs. Filters (beds, baths, price, type, sqft, keywords) are parsed automatically from the URL.
Full ScrapebooleanfalsePaginate 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 DetailsbooleanfalseFetch 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 OutputbooleantrueFlatten all fields to simple scalars with no nested objects — ideal for CSV and Excel. Disable to receive the full nested JSON structure.
Max Itemsinteger100Maximum listings to collect across all URLs. Set to 0 for unlimited. Ignored when Full Scrape is enabled.
Proxy ConfigurationobjectdisabledOptional 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.

FieldModeDescription
property_idS+DUnique Realtor.com property identifier
listing_idS+DActive listing identifier
listing_keyDMLS listing key
statusS+Dfor_sale or for_rent
urlS+DDirect link to the listing page
application_urlDRental application URL
list_dateS+DDate the listing was published
last_update_dateS+DDate the listing was last updated
last_price_change_dateDDate of the most recent price change
last_price_change_amountDDollar amount of the most recent price change
coming_soon_dateDExpected listing date for coming-soon properties
last_sold_dateS+DDate of the previous sale
list_priceS+DCurrent asking price
list_price_min / list_price_maxS+DPrice range (for multi-unit listings)
price_per_sqftS+DPrice ÷ interior square footage
price_reduced_amountS+DDollar amount of the most recent price cut
last_sold_priceS+DPrice of the previous sale
hoa_feeS+DMonthly HOA fee (0 if none)
estimated_valueDAutomated valuation estimate
mortgage_monthly_paymentDEstimated monthly mortgage payment
mortgage_loan_amountDEstimated loan amount
mortgage_down_paymentDEstimated down payment
bedsS+DNumber of bedrooms
beds_min / beds_maxDBedroom range (for multi-unit listings)
bathsS+DNumber of bathrooms
baths_consolidatedS+DCombined baths as display string
baths_min / baths_maxDBathroom range (for multi-unit listings)
sqftS+DInterior square footage
sqft_min / sqft_maxDSqft range (for multi-unit listings)
lot_sqftS+DLot size in square feet
year_builtS+DYear of construction
garageS+DNumber of garage spaces
garage_min / garage_maxDGarage range (for multi-unit listings)
poolDPool present
fireplaceDFireplace present
storiesDNumber of stories
heatingDHeating system type(s)
coolingDCooling system type(s)
property_typeS+DProperty type (single_family, condos, etc.)
property_sub_typeSProperty sub-type
property_stylesDArchitectural style(s)
property_nameS+DBuilding or community name
description_textDFull listing description
addressS+DStreet address
cityS+DCity
state_codeS+DTwo-letter state code
stateDFull state name
postal_codeS+DZIP code
latitude / longitudeS+DGPS coordinates
street_view_urlDGoogle Street View URL
is_new_listingS+DListed within the past few days
is_pendingS+DUnder contract / pending
is_contingentDSale is contingent
is_price_reducedS+DPrice has been reduced
is_new_constructionS+DNewly built property
is_foreclosureS+DForeclosure property
is_coming_soonDNot yet active on MLS
is_deal_availableDSpecial deal or incentive available
is_usda_eligibleDEligible for USDA loan
has_new_availabilitySNew unit availability (rentals)
cats_allowed / dogs_allowedDPet policy (rentals)
agent_name / agent_phone / agent_emailDPrimary listing agent contact
agent_urlDAgent profile URL
agent_state_licenseDAgent license number
office_name / office_phone / office_emailDBrokerage contact
office_urlDBrokerage profile URL
mls_id / mls_nameDMLS listing ID and source name
days_on_mlsDNumber of days on the MLS
feed_typeDMLS feed type
listing_agent_name / listing_agent_phone / listing_agent_emailDMLS source agent contact
listing_office_nameDMLS source office name
photo_urlS+DPrimary listing photo
photo_countS+DTotal number of photos
photo_urlsDAll listing photo URLs (array)
virtual_tour_urlD3D or video tour link
last_tax_year / last_tax_amountDMost recent tax year and amount
last_assessed_building / last_assessed_land / last_assessed_totalDMost recent assessed values
noise_scoreDNeighborhood noise level (0–100)
flood_factor_score / flood_zoneDFlood risk score and FEMA zone
featuresDFull amenity and feature list as text
open_housesDUpcoming open house schedule (array)
schoolsDNearby schools with name, rating, grades, distance (array)
property_historyDPrice and event history (array)
building_permitsDHistorical 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!