Realtor Scraper (from $1/1,000 listings) - Realtor.com Data avatar

Realtor Scraper (from $1/1,000 listings) - Realtor.com Data

Pricing

from $1.00 / 1,000 dataset items

Go to Apify Store
Realtor Scraper (from $1/1,000 listings) - Realtor.com Data

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

epctex

Maintained by Community

Actor stats

61

Bookmarked

1.8K

Total users

51

Monthly active users

21 hours ago

Last modified

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:

CapabilityWhat It Does
Scrape ListingsSearch for-sale, for-rent and recently-sold properties by keyword or Realtor.com URL
Apply Any FilterPaste a filtered Realtor.com search URL, or set filters directly in the input
Property DetailsFull detail including pricing and sale history, tax history, schools, agents, flood and noise data
Summaries OnlyTurn off details for a cheaper listing-summary output
Floor PlansOptional community rental floor plans
Limit ResultsControl 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:

IdentifierFieldAccepts
KeywordsearchA location keyword: city, ZIP code, neighborhood or county
URLstartUrlsRealtor.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:

EventCostDescription
List Query$0.01Each search you provide, keyword or URL (includes first 10 dataset items free)
Detail Query$0.001Each property detail lookup, whether enriching a search result or a detail URL you provide
Dataset Item$0.001Each property saved to output (after the first 10 per list query)
Floor Plans Query$0.001Fetching 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:

  1. Search with full details (10 properties):

    • 1 list query: $0.01
    • 10 detail queries: $0.01
    • 10 dataset items: included
    • Total: $0.02
  2. 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
  3. Search, summaries only (50 properties):

    • 1 list query: $0.01
    • First 10 dataset items: included
    • 40 dataset items: $0.04
    • Total: $0.05
  4. A single property URL:

    • 1 detail query: $0.001
    • 1 dataset item: $0.001
    • Total: $0.002
  5. 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
  6. 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 ModeCost per PropertyIncludes
Summaries only$0.001List query (amortized) + dataset item
Full detail$0.002List query (amortized) + detail query + dataset item
Full detail with floor plans$0.003List 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:

  1. Set includeDetails to false when you only need listing summaries: it skips every detail query
  2. Only enable includeFloorplans when you need it
  3. Spread queries across locations rather than paging deeply through one, so more results land in the free window
  4. Use maxItems to 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:

  1. Run the actor with a small, single-location search and includeDetails: false first: this is the cheapest way to see the output shape.
  2. Review the results in the Storage tab before spending credits on a larger, detail-enriched run.
  3. Once the output matches what you need, scale up maxItems and enable includeDetails / includeFloorplans as 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:

  1. Define your targets. Supply startUrls, search, or both. At least one is required, or the run fails immediately.
  2. Select a mode. Set mode to BUY, RENT or SOLD. This applies to search; each start URL carries its own mode based on its URL pattern.
  3. Apply filters. Set price, bed/bath, sqft, lot size, year built or amenity tags directly in the input, or simply paste an already-filtered Realtor.com search URL into startUrls.
  4. Decide on detail level. Leave includeDetails: true for full property detail (pricing, tax and sale history, schools, agents, flood and noise data), or set it to false for cheaper listing summaries.
  5. Decide on floor plans. Set includeFloorplans: true only if you need community rental floor plans: it adds a billed query per property.
  6. Set volume limits. Use maxItems to cap total results, and page to start paging from a specific page instead of the first.
  7. Run a small test first. Execute a low-volume run and review the output structure before committing to a large job.
  8. Scale. Increase maxItems once 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-date mirrors 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:

FieldTypeDescriptionDefault
startUrlsArrayURLs to start with. Can be search or property detail URLs[]
searchStringLocation keyword to search properties in""
modeStringBUY, RENT or SOLD. Applies to search; start URLs carry their own modeBUY
maxItemsIntegerMaximum number of items on outputAll
includeDetailsBooleanLook up the full detail of every search resulttrue
includeFloorplansBooleanFetch floor plans where available. Community rentals onlyfalse
pageIntegerSearch page to start from1
typeArrayProperty types to include. Empty means all[]
sortStringSort order. Valid values depend on mode, see below-
keywordStringOnly listings whose text contains this keyword-
radiusIntegerMiles around the location, 0-50-
minPrice / maxPriceIntegerPrice bounds. Applies to sold price in SOLD mode-
minBed / maxBedIntegerBedroom bounds. 0 means studio-
minBath / maxBathIntegerBathroom bounds-
minSqft / maxSqftIntegerLiving area bounds-
minLotSqft / maxLotSqftIntegerLot area bounds-
minYearBuilt / maxYearBuiltIntegerBuild year bounds-
daysOnMarketIntegerOnly listings live within this many days-
includePendingBooleanInclude pending listingstrue
tagsArrayAmenities: garage 1/2/3+, swimming pool, spa or hot tub, horse facilities[]
moveInByStringMM/DD/YY. RENT only-
soldWithinStringMonths to look back: 1, 3, 6, 12, 24, 36. SOLD only6
customMapFunctionStringFunction to map each output objectnull

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.

ModeValid sort
BUYrelevant, newest, newest-built, luxury, affordable, highest-price, lowest-price, open-house-date, recently-reduced, largest-sqft, lot-size, photo-count
RENTbest-match, recently-added, newest-built, luxury, affordable, highest-price, lowest-price
SOLDsold-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 startUrls or search is required. An empty run fails immediately with "No start URLs or search query provided."
  • Unsupported sort values 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 type values 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 keyword and search values 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:

BeforeNowWhat to do
proxyremovedDelete it. The actor calls the API directly and never scrapes
endPagepage + maxItemspage is where paging starts, maxItems is the cap
extendOutputFunctioncustomMapFunctionRewrite the body. It receives the finished item, not a Cheerio $ handle
coordinate.lat / coordinate.loncoordinates.latitude / coordinates.longitudeRename in your consumers
line, city, state_code, postal_codeaddress.street, address.locality, address.region, address.postalCodeRename 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 supportedThese need a real browser. They are skipped with a warning
International listings (/international/)not supportedA different Realtor service with no fields in common. Skipped with a warning
neighborhoodremovedIt 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.