Realtor.com Property Listings Scraper
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Field | Type | Description |
|---|---|---|
searchLocations | array (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. |
listingType | select | for_sale (default), for_rent, sold (recently sold), or ready_to_build (new construction). |
sortBy | select | relevant (default), newest, price_low, price_high, lot_size. |
maxResultsPerLocation | integer | Max listings per location (default 1000; up to ~10,000, the API's window). |
maxResults | integer | Optional overall cap across all locations combined. |
priceMin / priceMax | integer | Price filter (monthly rent bounds for rentals). |
bedsMin / bedsMax | integer | Bedroom filter. |
bathsMin | integer | Minimum bathrooms. |
sqftMin | integer | Minimum interior square feet. |
propertyTypes | array | Restrict types, e.g. single_family, condo, townhomes, multi_family, mobile, land, farm. |
proxyConfiguration | proxy | Fallback 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,
listPriceis the asking price. For rentals,listPriceis the monthly rent; apartment communities instead carry a rent range inlistPriceMin/listPriceMax(singlelistPriceis null for those). For recently sold,listPriceis the last asking price andsoldDateis the closing date (soldPriceis present when Realtor.com discloses it — it is not disclosed for every sale). - Photos are returned up to 25 per listing;
photoCountis how many came back. - Status flags (
isForeclosure,isPriceReduced,isComingSoon, …) aretrue/falsewhen set andnullwhen Realtor.com doesn't flag that condition — anullmeans "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.