Realtor.com Property Listings Scraper avatar

Realtor.com Property Listings Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Realtor.com Property Listings Scraper

Realtor.com Property Listings Scraper

Scrape Realtor.com listings in bulk - for-sale homes, rentals, recently sold and new construction. Get price, beds, baths, sqft, lot, year built, address, GPS, agent/brokerage, photos and status flags. Paginate deep by city, ZIP or county. No login or API key.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Nicolas van Arkens

Nicolas van Arkens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape real-estate listings from Realtor.com in bulk — for-sale homes, rentals, recently-sold properties and new construction — and get one clean, structured row per listing. Feed it a list of cities, ZIP codes, counties or addresses and it paginates deep automatically, returning up to ~10,000 listings per location with price, beds/baths, square footage, lot size, year built, full address, GPS coordinates, listing agent/brokerage, photos, open-house times and status flags.

No login, no API key, no browser needed. This actor reads Realtor.com's own public data API, so it's fast and reliable.


What you can do with it

  • Real-estate lead generation — pull every new listing in your farm area each morning (sort by Newest), with agent/brokerage names attached.
  • Investor / iBuyer deal sourcing — filter by price, beds and property type across dozens of ZIP codes at once; flag foreclosures, price cuts and coming-soon homes.
  • Comparative market analysis (CMA) & AVM training — pull Recently sold listings with sold dates to build comps and price models.
  • Rental market analysis — pull For rent inventory with monthly rents (and rent ranges for apartment communities) by metro.
  • Market dashboards & reports — track inventory, median price, days-on-market signals and new-construction supply across regions.

Input

FieldTypeDescription
searchLocationsarray (required)Places to scrape. Each entry is a city + state ("Austin, TX"), a ZIP ("78701"), a county ("Travis County, TX"), a neighborhood, or a street address. Add many for bulk.
listingTypeselectfor_sale (default), for_rent, sold (recently sold), or ready_to_build (new construction).
sortByselectrelevant (default), newest, price_low, price_high, lot_size.
maxResultsPerLocationintegerMax listings per location (default 1000; up to ~10,000, the API's window).
maxResultsintegerOptional overall cap across all locations combined.
priceMin / priceMaxintegerPrice filter (monthly rent bounds for rentals).
bedsMin / bedsMaxintegerBedroom filter.
bathsMinintegerMinimum bathrooms.
sqftMinintegerMinimum interior square feet.
propertyTypesarrayRestrict types, e.g. single_family, condo, townhomes, multi_family, mobile, land, farm.
proxyConfigurationproxyFallback proxy (Apify Residential US by default). The actor runs direct first and only uses the proxy if a request is ever rate-limited.

Example input

{
"searchLocations": ["Austin, TX", "Denver, CO", "78701"],
"listingType": "for_sale",
"sortBy": "newest",
"maxResultsPerLocation": 1000,
"priceMin": 250000,
"priceMax": 750000,
"propertyTypes": ["single_family", "condo"]
}

Output

One row per listing. Example (a for-sale home in Austin, TX):

{
"propertyId": "7211899596",
"listingId": "2997168140",
"listingType": "for_sale",
"status": "for_sale",
"url": "https://www.realtor.com/realestateandhomes-detail/4719-Castleman-Dr_Austin_TX_78725_M72118-99596",
"listPrice": 185000,
"listPriceMin": null,
"listPriceMax": null,
"priceReducedAmount": null,
"soldPrice": null,
"soldDate": null,
"beds": 3,
"baths": 2,
"bathsFull": 2,
"bathsHalf": null,
"sqft": 1405,
"lotSqft": 5227,
"yearBuilt": 1996,
"propertyType": "single_family",
"propertySubType": null,
"garage": 2,
"stories": 1,
"streetAddress": "4719 Castleman Dr",
"city": "Austin",
"state": "Texas",
"stateCode": "TX",
"postalCode": "78725",
"county": "Travis",
"latitude": 30.246305,
"longitude": -97.583195,
"isNewListing": false,
"isPriceReduced": null,
"isForeclosure": null,
"isNewConstruction": null,
"isPending": true,
"isContingent": null,
"isComingSoon": null,
"listDate": "2026-06-12T00:36:33.000000Z",
"lastUpdateDate": "2026-06-19T19:34:09Z",
"brokerName": "Keller Williams Realty",
"officeName": "Keller Williams Realty",
"primaryPhoto": "http://ap.rdcpix.com/7ed047f0f69ede3a6499c5571a4a6548l-m1699133238s.jpg",
"photos": ["http://ap.rdcpix.com/7ed047f0f69ede3a6499c5571a4a6548l-m1699133238s.jpg"],
"photoCount": 1,
"virtualTourUrl": null,
"streetViewUrl": "https://maps.googleapis.com/maps/api/streetview?...",
"openHouseStart": null,
"openHouseEnd": null,
"tags": ["central_air", "central_heat", "dishwasher", "fireplace", "community_swimming_pool", "single_story", "garage_2_or_more", "new_roof"],
"searchLocation": "Austin, TX",
"resultPosition": 1,
"scrapedAt": "2026-07-19T13:51:43Z"
}

Field notes

  • Price by listing type: for sale and new construction, listPrice is the asking price. For rentals, listPrice is the monthly rent; apartment communities instead carry a rent range in listPriceMin / listPriceMax (single listPrice is null for those). For recently sold, listPrice is the last asking price and soldDate is the closing date (soldPrice is present when Realtor.com discloses it — it is not disclosed for every sale).
  • Photos are returned up to 25 per listing; photoCount is how many came back.
  • Status flags (isForeclosure, isPriceReduced, isComingSoon, …) are true/false when set and null when Realtor.com doesn't flag that condition — a null means "not flagged", not an error.

How pagination & scale work

Realtor.com serves 200 listings per API page and exposes up to a ~10,000-result window per search location. The actor pages through that window automatically for every location you provide. To pull an entire large metro, split it by ZIP codes or counties and pass them all in searchLocations — each is scraped to its own depth, so the total is unbounded by the per-location window.

FAQ

Do I need a Realtor.com login or API key? No. The actor reads Realtor.com's public listing data directly.

Is scraping Realtor.com allowed? This actor collects only publicly visible listing data. You are responsible for using the data in line with Realtor.com's terms and applicable law (e.g. don't resell MLS-restricted data or spam agents).

How fresh is the data? It's pulled live from Realtor.com at run time, so it reflects the current listings shown on the site.

Why are some fields null? Not every listing publishes every field (e.g. lot size, garage, sold price). A null means Realtor.com didn't provide that value for that listing.

How am I billed? Pay-per-result: you're charged once for each listing returned. Blocked or empty pages are never charged.