Realtor Property Scraper (Cheap) avatar

Realtor Property Scraper (Cheap)

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Realtor Property Scraper (Cheap)

Realtor Property Scraper (Cheap)

Realtor.com property details scraper that extracts price, beds, baths, sqft, tax history, and school ratings from any US address or property ID, so investors and agents can pull structured listing data at scale.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Realtor Property Details Scraper

Realtor Property Details Scraper

Pulling property data off Realtor.com by hand is slow: you search an address, open the listing, copy the price, scroll for the beds and baths, dig for the last sale, then repeat for the next one. This scraper skips all of that. Hand it a US address or a numeric property ID and it resolves the listing, calls Realtor.com directly, and gives you back the asking price, beds, baths, square footage, year built, last-sold history, and location already split into clean fields. No account, no browser, no manual lookups. Run one address or a list of thousands.

What you get

Each entry becomes one tidy row. Whatever the listing doesn't expose comes back as null rather than disappearing, so your columns stay lined up when you open the results in a sheet or load them into a database. Three kinds of data per property:

  • Price and historyaskingPrice, soldPrice, soldDate, updatedDate, listingStatus
  • Home detailsbedroomCount, bathroomCount, livingAreaSqft, constructionYear, homeType
  • Location and referencestreetAddress, cityName, stateCode, zipCode, listingUrl, listingId, queryInput, plus the full rawListing object for anything deeper

Quick start

  1. Hit Try for free and open the input form.
  2. Paste your US addresses or Realtor.com property IDs into Addresses or property IDs — one per line, and you can mix the two.
  3. Pick a proxy type and set a Results limit if you want to cap the run.
  4. Press Start, then export the rows as JSON, CSV, Excel, or XML once it finishes.

How it works

Use cases

  • Investment research — pull asking price, last-sold price, and home specs for a watchlist of addresses and flag the ones that look underpriced
  • Market analysis — line up beds, baths, square footage, and price across a neighborhood to read pricing trends without clicking through Realtor.com
  • Lead enrichment — bolt property specs onto a CRM export so every address carries beds, baths, square footage, year built, and listing status
  • Off-market tracking — keep an eye on addresses that sit off-market and catch the moment one comes back as for sale
  • Portfolio valuation — batch a list of owned homes to grab current prices, recent changes, and the raw listing record in a single run
  • Data pipelines — feed structured home data into Google Sheets, Airtable, or a database on a schedule with Apify integrations

Input

FieldTypeRequiredDescription
lookupValuesarray of stringsYesUS addresses or Realtor.com property IDs to look up. Mix both in the same run; one entry per line.
resultsLimitintegerNoCap on how many entries to handle per run. Default 50; set 0 for no cap.
timeoutSecondsintegerNoSeconds to wait on each HTTP call before moving on. Default 45; raise it on residential proxies.
proxyConfigurationobjectNoProxies used for requests. Defaults to US datacenter; switch to Residential if datacenter IPs get blocked.

Example input

{
"lookupValues": [
"9874561230",
"88 Birchwood Ln, Boise, ID 83702",
"204 Sandpiper Cove Dr Unit 3"
],
"resultsLimit": 50,
"timeoutSeconds": 45,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }
}

Output

Every entry produces one row, and every field is always present — values the listing doesn't carry come back as null, so the dataset stays rectangular. The flat columns cover the essentials, while rawListing holds the complete API response for tax history, schools, photos, estimates, and more.

Example output

{
"queryInput": "88 Birchwood Ln, Boise, ID 83702",
"listingId": "9874561230",
"listingStatus": "for_sale",
"askingPrice": 615000,
"soldPrice": 478000,
"soldDate": "2020-09-30",
"updatedDate": "2026-05-21",
"bedroomCount": 4,
"bathroomCount": 3,
"livingAreaSqft": 2480,
"constructionYear": 2004,
"homeType": "single_family",
"streetAddress": "88 Birchwood Ln",
"cityName": "Boise",
"stateCode": "ID",
"zipCode": "83702",
"listingUrl": "https://www.realtor.com/realestateandhomes-detail/88-Birchwood-Ln_Boise_ID_83702",
"rawListing": {
"description": { "lot_sqft": 8700, "garage": 2, "pool": false, "heating": "Forced Air", "cooling": "Central" },
"tax_history": [{ "year": 2023, "tax": 5900 }, { "year": 2022, "tax": 5600 }],
"schools": { "schools": [{ "name": "Birchwood Elementary", "rating": 9, "distance_in_miles": 0.3 }] },
"estimates": { "current_values": [{ "estimate": 622000 }] },
"photos": [{ "href": "https://ap.rdcpix.com/..." }],
"mortgage": { "estimate": { "monthly_payment": 3380 } },
"property_history": [{ "date": "2020-09-30", "event_name": "Sold", "price": 478000 }],
"local": { "flood": { "flood_factor_score": 1 }, "noise": { "score": 38 } }
}
}

Output fields

FieldTypeDescription
queryInputstringThe exact address or property ID you submitted for this row
listingIdstringRealtor.com property identifier (mpr_id) resolved for the entry
listingStatusstringListing state: for_sale, sold, off_market, pending, and similar
askingPricenumberCurrent list price in USD
soldPricenumberAmount the home last changed hands for, in USD
soldDatestringDate of the most recent sale
updatedDatestringWhen the listing was last refreshed on Realtor.com
bedroomCountnumberHow many bedrooms the home has
bathroomCountnumberHow many bathrooms the home has
livingAreaSqftnumberInterior floor area in square feet
constructionYearnumberYear the home was originally built
homeTypestringKind of home, for example single_family, condo, or townhouse
streetAddressstringStreet line of the property address
cityNamestringCity the property sits in
stateCodestringTwo-letter state abbreviation
zipCodestringZIP or postal code
listingUrlstringFull link to the property page on Realtor.com
rawListingobjectComplete unprocessed property object with tax history, schools, photos, estimates, mortgage info, and more

Tips for best results

  • Start small. Run 10 entries before committing to hundreds — address-format and proxy issues show up in the first few rows.
  • Mix addresses and IDs freely. Numeric entries are treated as property IDs and used directly; everything else goes through the address resolver, so a single list can hold both.
  • Switch to Residential if results come back empty. US datacenter proxies clear most lookups; residential helps when large batches start returning null rows.
  • Cap test runs with resultsLimit. Set it to 20–50 while you confirm the output fits your pipeline, then drop it to 0 for the full batch.
  • Raise timeoutSeconds to ~60 when running on slower residential proxies so single slow responses don't time out.
  • Reach for rawListing when the flat columns aren't enough — tax records, school ratings, flood scores, and price history all live inside it.

How can I use Realtor.com property data?

How can I use the Realtor Property Details Scraper to research a list of addresses at once? Paste your addresses or property IDs into lookupValues, one per line, and the scraper returns each home's asking price, last-sold price, beds, baths, square footage, and status as a single row. Set resultsLimit to 0 and the whole batch runs in one go — a quick base layer for any Realtor.com property research.

How can I get Realtor.com property data without an account or API key? You don't need either. The scraper resolves an address to a Realtor.com property ID, fetches the listing, and hands back the structured fields plus the raw record. Drop in a numeric ID to skip the lookup step, or a plain address to let the resolver do the matching.

How can I enrich a CRM or spreadsheet with home details from Realtor.com? Feed the scraper the addresses you already have and append the columns it returns — askingPrice, bedroomCount, bathroomCount, livingAreaSqft, constructionYear, and listingStatus — straight onto each contact. Export to CSV or Excel, or pipe the data into Google Sheets or Airtable with an Apify integration to keep it current.

How can I track sold and off-market homes on Realtor.com? Run a list of addresses on a schedule and watch listingStatus, soldPrice, and soldDate change over time. The scraper returns data for active, pending, off-market, and recently sold homes alike, so you can catch when a property's status flips and act on it.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.