Realtor.com Scraper 🏡 $1/1K, No Start Fee
Pricing
$1.00 / 1,000 results
Realtor.com Scraper 🏡 $1/1K, No Start Fee
Scrape realtor.com for-sale, rental and sold listings with 145+ fields — price history, tax records, assigned schools, FEMA flood risk, mortgage breakdown, agent emails and office phones. Every listing is scored against its own city and county median. No start fee, no cookies, no browser.
Pricing
$1.00 / 1,000 results
Rating
0.0
(0)
Developer
Kelopr_bk
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🏡 Realtor.com Scraper — Listings, Agents & Market Data
Pull for-sale, rental, sold and off-market listings from realtor.com with the fields the other Actors give you — and the ones they don't: tax history, assigned schools, FEMA flood risk, the mortgage breakdown, agent contacts, and every listing measured against its own city and county market.
No account. No cookies. No browser. Just a location and a run.
⚡ Quick start
- Click Try for free.
- Put a place in 📍 Locations —
Austin, TX, a ZIP like78704, a county likeTravis County, TX, or paste a realtor.com search link. - Pick a 🏷️ Listing status — For sale is the default, Sold opens the archive.
- Press Start.
That's it. A 50-row run finishes in a few seconds.
{"locations": ["Austin, TX"],"status": "for_sale","mode": "listings","maxResults": 50}
Want the deep data? Switch ⚙️ What to collect to Listings + property details:
{"locations": ["Austin, TX"],"mode": "listings_plus_details","priceMin": 300000,"priceMax": 700000,"bedsMin": 3,"maxResults": 200}
🎯 What makes this one different
Most realtor.com Actors hand you the listing and stop. This one tells you what the listing means.
Every row can carry its own market context, computed from data collected in the same run:
| Field | What it answers |
|---|---|
priceVsCityMedianPct | Is this priced above or below the city? |
priceVsCountyMedianPct | And above or below the whole county? |
pricePerSqftVsCityMedianPct | Is the space priced fairly? |
estimateVsPricePct | Is the asking price above or below realtor.com's own valuation? |
daysOnMarketVsCityMedian | Has it been sitting longer than the local norm? |
priceCutCount / totalPriceCutPct | Has the seller already blinked, and by how much? |
grossRentYieldPct | What does the city's median rent imply for yield? |
monthlyPaymentEstimate | What would it actually cost per month? |
dealScore + dealSignals | All of the above, as one number and a plain-English reason list |
Nothing here is invented. When an input is missing, the field is null rather
than guessed, and analysisConfidence tells you how much of the analysis was
actually computable.
📦 What you get
Always — 100+ fields per listing:
- 🆔
propertyId,listingId,url,permalink,status, MLS id and type - 💵 price, price per sqft, price cuts, last sold price and date
- 🛏️ beds, baths (full / half / three-quarter), sqft, lot size, year built, garage, stories, full listing text
- 📍 full address, unit, county + FIPS, latitude/longitude, Street View link
- 🚩 new listing, price reduced, new construction, foreclosure, contingent, pending, coming soon
- 🖼️ every photo, virtual tours, Matterport flag
- 🚪 open house dates, HOA fee, pet policy
- 📋 feature groups — appliances, interior, exterior, utilities, exactly as realtor.com groups them
- 🚫
suppressedFields— which values the MLS has forbidden this listing to publish, so an empty sold price reads as withheld, not missing - 📊 city and county medians: list price, $/sqft, days on market, rent
With Listings + property details — the deep layer:
- 🧾 Tax history — annual tax, assessed land/building/total, market values
- 🏫 Assigned schools — name, rating, parent rating, grades, district, student count, distance
- 📈 Price history — every listing event with its date, price and source.
realtor.com leaves this empty on for-sale search rows, so the per-property
call is what fills it — and what makes
priceCutCountandtotalPriceCutPctreal numbers rather than zeroes - 🌊 Flood risk — flood-factor score and severity, FEMA zone, trend, environmental risk
- 💹 Valuation — current estimate with high/low, plus forecast and history
- 🏦 Mortgage — loan amount, monthly payment, total payment, down payment, rate and term, property-tax and insurance rates
- 📞 Contacts — agent name, e-mail, profile link, brokerage name and office phone
With Agents mode — one row per listing agent:
name, e-mail, office phone, brokerage, profile link, listing count, average and total list price, and the cities they work.
📌 About phone numbers: realtor.com publishes the brokerage office phone, not a personal mobile number.
officePhoneis filled on essentially every listing;agentPhoneis what the site itself almost always leaves empty. We report exactly what the source gives, and never fabricate a number.
🎛️ Filters
All of them are applied by realtor.com itself, so a narrow search costs no more than a wide one:
💵 price · 🛏️ beds · 🛁 baths · 📐 sqft · 🌳 lot size · 📅 year built · 🚗 garage · 🏘️ HOA fee or no HOA · 🏠 20 property types · 🏢 sub types · 🔎 keywords (pool, casita, waterfront) · 🏗️ new construction · 🏚️ foreclosures · 📉 short sales · 📝 contingent · ⏳ pending · 👵 55+ · 🎥 virtual tour · 🧊 Matterport · 🐈🐕 pets (rentals) · 🚪 open-house window · 🗓️ listed-date window · 💰 sold-date window
And nine sort orders, including newest, price high/low, most photos and recently sold.
💰 Sold data is the sleeper feature
Set 🏷️ Listing status to Sold and you are reading realtor.com's archive, not the live market. Austin alone holds over 126,000 sold records — comps, absorption rates, and a price history most listing scrapers never touch.
Pair it with soldSince / soldUntil to pull a specific quarter.
✅ Built to be predictable
- Bad input never crashes the run. Type a filter wrong and you get a plain sentence saying which field and why — not a stack trace.
- Rows are written as they are found. If a run stops early, everything collected up to that point is already in your dataset.
- No start fee. Most Actors in this niche charge $0.005–$0.01 just to press Start. This one charges for results.
- Datacenter proxy is enough. realtor.com needs a US address, not an expensive residential one — which is why this Actor is cheap to run.
🔧 Output example (trimmed)
{"propertyId": "9332841646","url": "https://www.realtor.com/realestateandhomes-detail/13409-Madrone-Mountain-Way_Austin_TX_78737_M93328-41646","status": "for_sale","price": 1359990,"priceSource": "propertyDetail","searchPrice": 450000,"beds": 4,"baths": 4,"sqft": 3414,"address": "13409 Madrone Mountain Way","city": "Austin","stateCode": "TX","postalCode": "78737","county": "Hays","priceVsCityMedianPct": 167.0,"estimatedValue": 1250400,"estimateVsPricePct": -8.1,"daysOnMarketComputed": 739,"grossRentYieldPct": 1.72,"monthlyPaymentEstimate": 8578,"dealScore": 31,"dealSignals": ["priced well above the city median","on the market longer than the local median"],"analysisConfidence": "high","latestTaxYear": 2025,"latestTaxAmount": 7440,"schoolRatingAverage": 8.0,"floodFactorScore": 1,"floodFactorSeverity": "minimal","femaZone": ["X (unshaded)"],"agentName": "Julie Gualandri","agentEmail": "julieg@jbgoodwin.com","officePhone": "(512) 901-9600","officeName": "KW-Austin Portfolio Real Estate"}
The
searchPriceline is not a mistake. realtor.com's own search sometimes returns one property twice at different prices; the Actor takes the canonical per-property price, keeps the search figure next to it, and says throughpriceSourcewhich one you are looking at.
🏘️ More real-estate Actors
Working a whole market rather than one portal? These cover the rest of it:
- 🏠 Zillow Scraper — Listings, Zestimate, Agents & Cash Flow
- 🏢 LoopNet Scraper — Commercial listings, brokers & deal intel
- 🇪🇸 Idealista Scraper — Property data, phones & e-mails
- 🛏️ Airbnb Scraper — Host leads, e-mails, phones & revenue
- 🗺️ Google Maps Scraper — 130+ fields, e-mails & reviews
❓ FAQ
Do I need a realtor.com account or cookies? No. Nothing is logged in and nothing is stored between runs.
How many listings can one search return? realtor.com stops paging a single search at 10,000, and in practice starts repeating rows before that — a measured Austin run asked for 6,000 and got 4,752 unique listings out of the 6,978 the site claims. Duplicates are dropped rather than billed. To go deeper, split the search — by price band, by property type, or by ZIP code — and run each as its own location.
Why is daysOnMarket sometimes empty?
realtor.com leaves that field blank on most search rows. The Actor fills
daysOnMarketComputed from the listing date instead, and
daysOnMarketSource tells you which of the two you are looking at.
What does dataCompleteness mean?
listing — search data only. enriched — contacts were added.
full — the property detail call succeeded and the deep fields are populated.
Can I scrape a specific property? Yes. Paste its page link or numeric id into 🔗 Specific properties.