Realtor Scraper (from $1/1,000 listings) - Realtor.com Data
Pricing
from $1.00 / 1,000 dataset items
Realtor Scraper (from $1/1,000 listings) - Realtor.com Data
Scrape for-sale, for-rent and sold Realtor.com listings by keyword, URL or filter. First 10 items free per search, then $1/1,000 for summaries (list $0.01 + item $0.001). Full detail adds $0.001/property, floor plans $0.001. No proxies. Fits market research and PropTech teams.
Pricing
from $1.00 / 1,000 dataset items
Rating
5.0
(10)
Developer
epctex
Maintained by CommunityActor stats
61
Bookmarked
1.8K
Total users
51
Monthly active users
21 hours ago
Last modified
Categories
Share
Realtor Scraper
The Realtor Scraper extracts structured property data from Realtor.com by keyword search, by a Realtor.com search URL, or by a direct property URL, covering for-sale, for-rent and sold listings, from $1 per 1,000 properties for summaries and $0.001 per property for full detail.
The Realtor Scraper calls Realtor.com's direct API rather than a browser, needs no proxies, exposes 22 input parameters, and returns up to 38 top-level fields per property in full detail or 20 fields in summary output. Realtor Scraper pricing is pay-per-event across 4 billable event types, with no flat platform fee, and it covers 3 modes: BUY, RENT and SOLD.
What Does the Realtor Scraper Extract?
The Realtor Scraper extracts property data across 6 capabilities:
| Capability | What It Does |
|---|---|
| Scrape Listings | Search for-sale, for-rent and recently-sold properties by keyword or Realtor.com URL |
| Apply Any Filter | Paste a filtered Realtor.com search URL, or set filters directly in the input |
| Property Details | Full detail including pricing and sale history, tax history, schools, agents, flood and noise data |
| Summaries Only | Turn off details for a cheaper listing-summary output |
| Floor Plans | Optional community rental floor plans |
| Limit Results | Control the number of results with maxItems |
Which Identifiers Does the Realtor Scraper Accept?
The Realtor Scraper accepts 2 input identifiers, and at least one is required on every run:
| Identifier | Field | Accepts |
|---|---|---|
| Keyword | search | A location keyword: city, ZIP code, neighborhood or county |
| URL | startUrls | Realtor.com search URLs (with filters already applied) or property detail URLs, mixed freely in the same run |
Who Uses the Realtor Scraper?
The Realtor Scraper serves 10 types of users wherever structured, up-to-date Realtor.com data carries commercial or analytical value:
Real estate market research and analytics teams. Pull structured pricing, inventory and days-on-market data across markets instead of manually browsing listings.
PropTech and real estate platforms. Bulk-import BUY, RENT and SOLD listing data to power comparison, valuation or search tools.
Real estate investors and wholesalers. Screen for-sale and recently-sold listings by price, bed/bath count, square footage and lot size to find deals matching an investment thesis.
Real estate agents and brokerages. Track competing listings, price reductions and sold comps in a specific area.
Rental market analysts and property managers. Monitor rental listings, pricing trends and floor plans across markets with mode: RENT.
Appraisers and lenders. Pull tax history, assessment and sale history from full-detail output to support valuation work.
Data science and AI teams. Assemble structured property datasets for model training, evaluation or benchmarking.
Academic and urban researchers. Collect reproducible property datasets defined by location, mode, filters and time window (soldWithin).
Journalists and analysts. Document local housing market trends: price reductions, days on market, sold prices, over time.
Developers building internal tools. Feed property data into dashboards, CRMs or internal search tools without maintaining scraping infrastructure in-house.
What Does the Realtor Scraper Cost?
The Realtor Scraper charges through 4 pay-per-event event types, with no flat platform fee and no proxies required.
What Are the Realtor Scraper's Event Costs?
The Realtor Scraper bills 4 event types:
| Event | Cost | Description |
|---|---|---|
| List Query | $0.01 | Each search you provide, keyword or URL (includes first 10 dataset items free) |
| Detail Query | $0.001 | Each property detail lookup, whether enriching a search result or a detail URL you provide |
| Dataset Item | $0.001 | Each property saved to output (after the first 10 per list query) |
| Floor Plans Query | $0.001 | Fetching floor plans for a property |
Note: Each list query includes the first 10 dataset items for free, across all of its pages. You only pay for items beyond that.
What Do Realtor Scraper Cost Examples Look Like?
The Realtor Scraper's pricing works out to these 6 worked examples:
-
Search with full details (10 properties):
- 1 list query: $0.01
- 10 detail queries: $0.01
- 10 dataset items: included
- Total: $0.02
-
Search with full details (50 properties):
- 1 list query: $0.01
- 50 detail queries: $0.05
- First 10 dataset items: included
- 40 dataset items: $0.04
- Total: $0.10
-
Search, summaries only (50 properties):
- 1 list query: $0.01
- First 10 dataset items: included
- 40 dataset items: $0.04
- Total: $0.05
-
A single property URL:
- 1 detail query: $0.001
- 1 dataset item: $0.001
- Total: $0.002
-
Rental search with floor plans (3 properties):
- 1 list query: $0.01
- 3 detail queries: $0.003
- 3 floor plans queries: $0.003
- 3 dataset items: included
- Total: $0.016
-
Summaries only, at volume (1,000 properties):
- 1 list query: $0.01
- First 10 dataset items: included
- 990 dataset items: $0.99
- Total: $1.00, or $1 per 1,000 properties
The table below turns those worked examples into per-property unit economics for a 1,000-property run from a single list query. Each figure states what it includes.
| Output Mode | Cost per Property | Includes |
|---|---|---|
| Summaries only | $0.001 | List query (amortized) + dataset item |
| Full detail | $0.002 | List query (amortized) + detail query + dataset item |
| Full detail with floor plans | $0.003 | List query (amortized) + detail query + dataset item + floor plan query |
How Do You Reduce Realtor Scraper Costs?
The Realtor Scraper's cost drops with 4 adjustments:
- Set
includeDetailstofalsewhen you only need listing summaries: it skips every detail query - Only enable
includeFloorplanswhen you need it - Spread queries across locations rather than paging deeply through one, so more results land in the free window
- Use
maxItemsto limit results if you don't need all properties
How Do You Try the Realtor Scraper for Free?
The Realtor Scraper runs on free platform credits without a paid plan: every Apify account includes monthly credits, spendable on this actor exactly as on a paid run, with no separate sign-up or trial flow.
On Apify's Free plan, the Realtor Scraper is capped at 5 runs per month and 10 items per run, and this cap overrides any maxItems value you provide: the Free plan does not let you scrape past 10 items per run. The API is not available on the Free plan. For unrestricted use, subscribe to a paid plan.
The Realtor Scraper also tracks its own spend against your account's cost limit for the run. If your planned queries would exceed what your remaining credits can cover, it stops before going over budget rather than running an unpaid query, so you can't accidentally overspend while testing.
To try the Realtor Scraper for free, follow these 3 steps:
- Run the actor with a small, single-location search and
includeDetails: falsefirst: this is the cheapest way to see the output shape. - Review the results in the Storage tab before spending credits on a larger, detail-enriched run.
- Once the output matches what you need, scale up
maxItemsand enableincludeDetails/includeFloorplansas required. Beyond the Free plan's 5 runs per month and 10-item cap, move to a paid plan.
How Do You Run the Realtor Scraper?
The Realtor Scraper is configured and run in 8 steps:
- Define your targets. Supply
startUrls,search, or both. At least one is required, or the run fails immediately. - Select a mode. Set
modetoBUY,RENTorSOLD. This applies tosearch; each start URL carries its own mode based on its URL pattern. - Apply filters. Set price, bed/bath, sqft, lot size, year built or amenity
tagsdirectly in the input, or simply paste an already-filtered Realtor.com search URL intostartUrls. - Decide on detail level. Leave
includeDetails: truefor full property detail (pricing, tax and sale history, schools, agents, flood and noise data), or set it tofalsefor cheaper listing summaries. - Decide on floor plans. Set
includeFloorplans: trueonly if you need community rental floor plans: it adds a billed query per property. - Set volume limits. Use
maxItemsto cap total results, andpageto start paging from a specific page instead of the first. - Run a small test first. Execute a low-volume run and review the output structure before committing to a large job.
- Scale. Increase
maxItemsonce the output matches your requirements.
The Realtor Scraper works best with 4 practical tips:
- You can mix property detail URLs and search URLs in startUrls
- Apply any filters on the Realtor.com website, then copy/paste the filtered URL as a startUrl
- To fetch a specific range of pages, set page to where you want to start and maxItems to how many properties you want. Each page holds 42
- Sorting sold listings by
sold-datemirrors Realtor's own ordering, which places placeholder sale dates first. Leave sort unset and use soldWithin for genuine recent sales
A Realtor Scraper input combining a URL, a keyword and detail settings looks like this:
{"startUrls": ["https://www.realtor.com/realestateandhomes-search/Las-Vegas_NV/type-single-family-home,condo/beds-2-5/price-200000-800000","https://www.realtor.com/realestateandhomes-detail/8209-Spring-Arts-Ave_Las-Vegas_NV_89129_M18560-54834"],"search": "Las Vegas","mode": "BUY","includeDetails": true,"includeFloorplans": true,"maxItems": 50}
How Do You Configure the Realtor Scraper?
The Realtor Scraper accepts 22 input parameters:
| Field | Type | Description | Default |
|---|---|---|---|
| startUrls | Array | URLs to start with. Can be search or property detail URLs | [] |
| search | String | Location keyword to search properties in | "" |
| mode | String | BUY, RENT or SOLD. Applies to search; start URLs carry their own mode | BUY |
| maxItems | Integer | Maximum number of items on output | All |
| includeDetails | Boolean | Look up the full detail of every search result | true |
| includeFloorplans | Boolean | Fetch floor plans where available. Community rentals only | false |
| page | Integer | Search page to start from | 1 |
| type | Array | Property types to include. Empty means all | [] |
| sort | String | Sort order. Valid values depend on mode, see below | - |
| keyword | String | Only listings whose text contains this keyword | - |
| radius | Integer | Miles around the location, 0-50 | - |
| minPrice / maxPrice | Integer | Price bounds. Applies to sold price in SOLD mode | - |
| minBed / maxBed | Integer | Bedroom bounds. 0 means studio | - |
| minBath / maxBath | Integer | Bathroom bounds | - |
| minSqft / maxSqft | Integer | Living area bounds | - |
| minLotSqft / maxLotSqft | Integer | Lot area bounds | - |
| minYearBuilt / maxYearBuilt | Integer | Build year bounds | - |
| daysOnMarket | Integer | Only listings live within this many days | - |
| includePending | Boolean | Include pending listings | true |
| tags | Array | Amenities: garage 1/2/3+, swimming pool, spa or hot tub, horse facilities | [] |
| moveInBy | String | MM/DD/YY. RENT only | - |
| soldWithin | String | Months to look back: 1, 3, 6, 12, 24, 36. SOLD only | 6 |
| customMapFunction | String | Function to map each output object | null |
Which Sort Values Does the Realtor Scraper Support Per Mode?
Realtor Scraper sort support differs across 3 modes. A value the current mode doesn't accept is ignored with a warning, so you can mix BUY and RENT start URLs in one run.
| Mode | Valid sort |
|---|---|
BUY | relevant, newest, newest-built, luxury, affordable, highest-price, lowest-price, open-house-date, recently-reduced, largest-sqft, lot-size, photo-count |
RENT | best-match, recently-added, newest-built, luxury, affordable, highest-price, lowest-price |
SOLD | sold-date, newest-built, luxury, affordable, highest-price, lowest-price, largest-sqft, lot-size, photo-count |
Which Input Rules Does the Realtor Scraper Enforce?
The Realtor Scraper enforces 5 input rules:
- At least one of
startUrlsorsearchis required. An empty run fails immediately with "No start URLs or search query provided." - Unsupported
sortvalues are dropped with a warning. A value the current mode doesn't accept is ignored rather than failing the run; see the sort table above. - Unrecognised property
typevalues are dropped with a warning. The rest of the run proceeds using the types it does recognise. - Agent profile and international listing URLs are skipped with a warning.
/realestateagents/and/international/URLs have no equivalent in the underlying API; the rest of the run still goes ahead. - School- and street-only keywords return no results. Realtor Scraper
keywordandsearchvalues need a city, ZIP code, neighborhood or county to match.
Which Fields Does the Realtor Scraper Output?
The Realtor Scraper outputs 2 item shapes depending on includeDetails, and every item carries includeDetails and inputSource (the URL or search term it came from) so the two shapes stay distinguishable in the same dataset.
What Does Realtor Scraper Full Detail Output Look Like?
The Realtor Scraper's full-detail output (includeDetails: true) returns 38 top-level fields per property in the example below:
{"inputSource": "https://www.realtor.com/realestateandhomes-search/Las-Vegas_NV","includeDetails": true,"id": "9972168695","permalink": "9952-Pine-Trail-Ave_Las-Vegas_NV_89166_M99721-68695","url": "https://www.realtor.com/realestateandhomes-detail/9952-Pine-Trail-Ave_Las-Vegas_NV_89166_M99721-68695","status": "for_sale","listPrice": 459900,"lastSoldPrice": 310000,"soldOn": "2019-04-12","listDate": "2026-08-07T20:33:51.000000Z","priceReducedAmount": 25100,"type": "single_family","subType": "single_family_detached","beds": 4,"baths": 3,"bathsFull": 2,"bathsHalf": 1,"sqft": 2095,"lotSqft": 3049,"garage": 2,"stories": 2,"yearBuilt": 2023,"units": 1,"description": "Beautifully updated two-story home in northwest Las Vegas...","address": {"street": "9952 Pine Trail Ave","locality": "Las Vegas","region": "NV","postalCode": "89166","county": "Clark","countyFipsCode": "32003"},"coordinates": { "latitude": 36.32944, "longitude": -115.318242 },"photoCount": 44,"photos": [{ "href": "https://ap.rdcpix.com/....jpg", "tags": ["house_view", "exterior"] }],"streetViewUrl": "https://maps.googleapis.com/maps/api/streetview?...","flags": { "isNewListing": false, "isPriceReduced": true, "isPending": false },"taxHistory": [{ "year": 2024, "tax": 2318, "assessment": { "building": 92000, "land": 38500, "total": 130500 } }],"history": [{ "date": "2026-08-01", "eventName": "Listed", "price": 459900, "sourceName": "GLVAR" }],"nearbySchools": [{ "name": "Bertha Ronzone Elementary School", "rating": 6, "levels": ["elementary"], "distance": 0.4 }],"details": [{ "category": "Interior Features", "parentCategory": null, "text": ["Ceiling Fan(s)", "Walk-In Closet(s)"] }],"advertisers": [{ "name": "Jane Doe", "type": "seller", "phones": [{ "number": "7025550100", "type": "office" }] }],"branding": [{ "type": "Office", "name": "LIFE Realty District", "photo": null }],"local": { "noise": { "score": 71 }, "flood": { "score": 1, "severity": "minimal" } },"floorplans": []}
What Does Realtor Scraper Summary Output Look Like?
The Realtor Scraper's listing-summary output (includeDetails: false) returns 20 top-level fields per property, at a lower cost per item:
{"inputSource": "https://www.realtor.com/realestateandhomes-search/Las-Vegas_NV","includeDetails": false,"propertyId": "9609412643","listingId": "2993293523","permalink": "10193-Chockstone-St_Las-Vegas_NV_89166_M96094-12643","url": "https://www.realtor.com/realestateandhomes-detail/10193-Chockstone-St_Las-Vegas_NV_89166_M96094-12643","status": "for_sale","listDate": "2026-04-04T18:30:19.000000Z","price": "459900","priceReducedAmount": 5100,"beds": 4,"baths": 3,"sqft": 2095,"lotSqft": 3049,"type": "single_family","yearBuilt": 2023,"photoCount": 30,"photos": [{ "href": "https://ap.rdcpix.com/....jpg" }],"flags": { "isNewListing": false, "isPriceReduced": false, "isPending": true },"location": {"address": "10193 Chockstone St","city": "Las Vegas","county": "Clark","state": "NV","postalCode": "89166","latitude": 36.32944,"longitude": -115.318242}}
Listing summaries carry at most three photos; photoCount reports the real total, and the full-detail output returns every photo.
What Changed If You're Migrating to the New Realtor Scraper?
The Realtor Scraper now runs on a direct API instead of scraping, which makes it faster, cheaper and more reliable, and it changes 10 inputs and output fields:
| Before | Now | What to do |
|---|---|---|
proxy | removed | Delete it. The actor calls the API directly and never scrapes |
endPage | page + maxItems | page is where paging starts, maxItems is the cap |
extendOutputFunction | customMapFunction | Rewrite the body. It receives the finished item, not a Cheerio $ handle |
coordinate.lat / coordinate.lon | coordinates.latitude / coordinates.longitude | Rename in your consumers |
line, city, state_code, postal_code | address.street, address.locality, address.region, address.postalCode | Rename in your consumers |
tax_history, year_built, sub_type, etc. | taxHistory, yearBuilt, subType, etc. | Top-level keys are camelCase now. Field names inside those arrays are unchanged |
nearbySchools.schools[] | nearbySchools[] | It is a flat array now |
Agent profile URLs (/realestateagents/) | not supported | These need a real browser. They are skipped with a warning |
International listings (/international/) | not supported | A different Realtor service with no fields in common. Skipped with a warning |
neighborhood | removed | It was absent from the underlying query and always came back empty |
Which Realtor Scraper Questions Come Up Most Often?
The Realtor Scraper's 12 most common questions:
Why Do You Get Few Results From the Realtor Scraper?
Check maxItems, and whether your filters leave little inventory in the area you searched.
What Can the Realtor Scraper Collect?
Structured property data from Realtor.com: for-sale, for-rent and recently-sold listings, as either full detail (pricing, sale history, tax history, schools, agents, flood and noise data) or lightweight summaries, sourced by keyword search, direct URL, or both in the same run.
Can You Combine startUrls and search in the Realtor Scraper?
Yes. Any mix of search terms and start URLs can be supplied together; at least one of the two is required.
Can the Realtor Scraper Mix BUY, RENT and SOLD in One Run?
Yes. mode applies to search, but each start URL carries its own mode based on its URL pattern, so modes can be combined across startUrls.
How Do You Keep Realtor Scraper Costs Down?
Set includeDetails to false for summary-only output, enable includeFloorplans only when needed, and use maxItems to cap results. See What Does the Realtor Scraper Cost? for the full breakdown.
Why Was a Realtor Scraper Start URL Skipped?
Agent profile and international listing URLs have no API equivalent. /realestateagents/ and /international/ URLs are skipped with a warning; the rest of the run proceeds.
Why Does a Realtor Scraper sort Value Seem Ignored?
Realtor supports different sort values per mode. A value the current mode doesn't accept, or an unrecognised property type, is dropped with a warning; see the sort table under How Do You Configure the Realtor Scraper?.
Why Are There No Results for a Keyword in the Realtor Scraper?
Keywords that only match a school or a street name can't be searched directly. Use a city, ZIP code, neighborhood or county instead.
Do All Realtor Scraper Properties Have Floor Plans?
No. Only community rentals expose floor plans; single-unit properties correctly return an empty list.
What Changed for Realtor Scraper Users on the Previous, Scraping-Based Version?
10 inputs and output fields were renamed or removed. See What Changed If You're Migrating to the New Realtor Scraper? above for the full list.
Is There a Free Way to Try the Realtor Scraper?
Yes, with monthly platform credits, or on Apify's Free plan capped at 5 runs per month and 10 items per run. See How Do You Try the Realtor Scraper for Free? above for the full limits.
What Happens if Realtor Scraper Input Is Invalid?
The run stops immediately and explains the problem. For example, leaving both startUrls and search empty fails the run with "No start URLs or search query provided."
Where Do You Get Realtor Scraper Support?
Realtor Scraper support is available through epctex.com in 3 ways: browse epctex.com for all available products, request a custom integration through the epctex.com chat box, or email business@epctex.com for support.