Realtor.com Search Listing Scraper avatar

Realtor.com Search Listing Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Realtor.com Search Listing Scraper

Realtor.com Search Listing Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

ScraperForge

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿก Realtor.com Search Listing Scraper

Bulk-scrape rich property data from any Realtor.com search URL โ€” for-sale homes, new construction, and ready-to-build plans โ€” across any city, state, or ZIP in the United States. Get prices, photos, schools, tax history, mortgage estimates, builder details, and more, in one structured JSON / CSV / XLSX export.


โญ Why Choose This Scraper?

  • ๐Ÿš€ Fast & resilient โ€” talks to Realtor.com's own internal GraphQL API, so it avoids the slow HTML pages most scrapers fight with.
  • ๐Ÿ›ฐ๏ธ Smart proxy ladder โ€” runs direct by default. If Realtor.com pushes back, it automatically escalates to datacenter โ†’ residential proxies, then sticks with the highest tier for the rest of the run. You don't have to babysit it.
  • ๐Ÿ“ฆ Bulk input โ€” paste as many search URLs or City, ST strings as you want.
  • ๐Ÿ“‹ Rich detail enrichment โ€” optional second-pass detail fetches add schools, tax history, mortgage estimates, builder info, advertisers, open houses, and full description text.
  • ๐Ÿ’พ Live saving โ€” every listing is pushed to the dataset as soon as it's processed. A mid-run failure leaves a partial dataset, not nothing.
  • ๐Ÿ—‚๏ธ Per-section views โ€” each location goes into its own alias dataset so you can browse results city-by-city in the Apify Console.

โœจ Key Features

  • ๐Ÿ”— URL or location input โ€” paste a full Realtor.com search URL or just Austin, TX.
  • ๐Ÿท๏ธ Covers for_sale AND ready_to_build listings.
  • ๐Ÿง  Auto-detects blocks (HTTP 403/429/503 + Cloudflare/Kasada/Akamai markers).
  • ๐Ÿ” Per-tier retries with exponential backoff.
  • ๐ŸŒ Optional Apify proxy (datacenter / residential / custom groups).
  • ๐Ÿ“ˆ Configurable concurrency (1โ€“32 parallel detail fetches).
  • ๐Ÿ—’๏ธ Verbose, friendly logs โ€” you always know what page is being scraped and which tier is active.

๐Ÿ“ฅ Input

FieldTypeRequiredDefaultDescription
urlsarray<string>โœ…โ€”Realtor.com search URLs or City, ST strings (bulk supported).
maxItemsintegerโ€”10Maximum listings per location.
fetchDetailsbooleanโ€”trueEnrich each listing with full detail data.
proxyConfigurationobjectโ€”no proxyApify proxy config. Default is no proxy โ€” the ladder escalates only if blocks are detected.

Example input

{
"urls": [
"https://www.realtor.com/realestateandhomes-search/Austin_TX",
"Brooklyn, NY",
"Miami_FL"
],
"maxItems": 100,
"fetchDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

Every listing is pushed live to the default dataset and mirrored into a per-section alias dataset named section_<slug> (e.g. section_Austin_TX). Each row contains the flat top-level fields plus the full nested objects from Realtor.com.

Example output row (abridged)

{
"section": "Austin_TX",
"property_id": "7932650224",
"listing_id": "2995674375",
"status": "for_sale",
"list_price": 799000,
"address_line": "605 Texas Ave",
"city": "Austin",
"state_code": "TX",
"postal_code": "78705",
"beds": 2,
"baths": 1,
"sqft": 1116,
"lot_sqft": 7105,
"year_built": 1935,
"type": "single_family",
"stories": 1,
"garage": 1,
"primary_photo_url": "http://ap.rdcpix.com/.../m837970272s.jpg",
"photo_count": 28,
"href": "https://www.realtor.com/realestateandhomes-detail/605-Texas-Ave_Austin_TX_78705_M79326-50224",
"list_date": "2026-05-20T06:44:27.000000Z",
"last_update_date": "2026-05-20T06:43:09Z",
"flags": { "is_new_listing": true, "is_pending": false, "...": "..." },
"location": { "address": { "...": "..." }, "county": { "...": "..." } },
"description": { "text": "JUST LISTED! Adorable 1935 white stucco...", "...": "..." },
"detail": {
"schools": { "schools": [ { "name": "...", "rating": 8, "...": "..." } ] },
"tax_history": [ { "tax": 12345, "year": 2025, "assessment": { "...": "..." } } ],
"property_history": [ { "date": "2010-04-01", "price": 320000, "event_name": "Sold" } ],
"mortgage": { "estimate": { "monthly_payment": 4200 } },
"builder": null,
"hoa": null,
"open_houses": []
}
}

๐Ÿš€ How to Use (Apify Console)

  1. Log in at console.apify.com โ†’ Actors.
  2. Open Realtor.com Search Listing Scraper.
  3. Paste one or more Realtor.com search URLs or City, ST strings into ๐Ÿก Realtor.com Search URLs or Locations.
  4. Set the cap with ๐Ÿ”ข Maximum listings per location (default 10).
  5. Toggle ๐Ÿ“‹ Fetch detailed property data on if you want schools / taxes / mortgage estimates.
  6. Leave ๐ŸŒ Proxy configuration empty (no proxy) โ€” the actor handles fallback automatically.
  7. Click โ–ถ Start.
  8. Watch the live log โ€” you'll see each page being collected and each listing being saved.
  9. When the run completes, open the Output tab โ†’ switch between the per-section views or the overview, and export to JSON / CSV / XLSX.

๐Ÿค– Use via API

Start a run (synchronous, returns dataset items when done):

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"urls": ["Austin, TX"],
"maxItems": 50,
"fetchDetails": true
}'

Start asynchronously (returns a runId you can poll for status):

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"urls": ["https://www.realtor.com/realestateandhomes-search/Brooklyn_NY"],
"maxItems": 100
}'

๐Ÿ’ก Best Use Cases

  • ๐Ÿ“Š Market intelligence โ€” track new listings, price reductions, days-on-market across multiple cities.
  • ๐Ÿ˜๏ธ Lead generation โ€” find active for-sale inventory by neighborhood for real-estate agents.
  • ๐Ÿ—๏ธ Builder research โ€” filter ready_to_build plans and compare builders across markets.
  • ๐Ÿ’ฐ Investor sourcing โ€” surface foreclosures, short sales, price reductions, and rent-vs-buy comps.
  • ๐Ÿง  ML datasets โ€” assemble structured listing data with prices, school ratings, tax history for analytics models.

๐Ÿ’ฒ Pricing

This actor uses Apify's Pay-per-event (PPE) model with one billable event:

EventWhen it firesWhat it means for you
๐Ÿก listing_resultEach time a listing is successfully pushed to the datasetPay per listing returned โ€” nothing more.

You only pay for results. If the actor produces no output (target site fully blocks every tier, empty search location, invalid URL), no charges are emitted. There is no fixed "actor start" fee and no separate dataset-item charge โ€” just the one event, billed only when real data is saved.

If your account's spend limit (ACTOR_MAX_TOTAL_CHARGE_USD) is hit mid-run, the actor stops cleanly and the dataset still contains everything saved up to that point.


โ“ Frequently Asked Questions

Do I need a proxy? No. By default the actor talks directly to Realtor.com's GraphQL API, which (unlike the HTML pages) is not behind Kasada. If it ever starts blocking, the actor automatically escalates to datacenter and then residential proxies.

What if I paste a URL with filters (price range, beds, etc.)? Right now the actor reads the location from the URL and runs a fresh search for that location. Custom filter parameters from the URL are ignored โ€” set them in the input fields once we expose them, or filter the output dataset afterward.

Why are some listings missing listing_id? ready_to_build plan listings have no concrete listing_id because the home hasn't been built yet. The actor calls the GraphQL home() resolver with only property_id in that case, which the schema supports.

Why are some flags fields false instead of null? Realtor.com returns null to mean "not in this state" for tri-state booleans. The actor normalizes those to false so downstream consumers don't have to handle the tri-state.

Can I scrape rentals? Not yet โ€” the current actor focuses on for_sale and ready_to_build. Rental support can be added on request.


  • Data is collected only from publicly available Realtor.com listings.
  • Do not use scraped data in ways that violate Realtor.com's Terms of Service or applicable law (GDPR, CCPA, anti-spam, etc.).
  • The end user is responsible for legal compliance and respectful rate-limiting.

๐Ÿ’ฌ Support & Feedback

Found a bug or want a new feature? Open an issue or message us on the actor's Apify page โ€” we read every report.