Redfin Scraper — Active Listings & Sold Comps
Pricing
Pay per event
Redfin Scraper — Active Listings & Sold Comps
Scrape Redfin US real estate end-to-end — search active listings, fetch full property details with Redfin Estimate and price/tax history, and pull sold comps. Powered by Redfin's internal Stingray API for high reliability.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
15 hours ago
Last modified
Categories
Share
Scrape Redfin US real estate fast and reliably. Two modes: active listings by city/zip/URL, and recently sold homes for comparable-sales analysis. 35+ flat fields per property.
Powered by Redfin's internal Stingray API — the same JSON endpoints that power redfin.com itself — for high reliability, no JavaScript-rendering overhead, and 5–10× the speed of browser-based scrapers.
Independent third-party tool. Not affiliated with, endorsed by, or sponsored by Redfin Corporation.
What you get
| Mode | What it scrapes | Use case |
|---|---|---|
search | Active listings (for-sale, pending, coming-soon) from any Redfin city, ZIP, neighborhood, or filtered search URL. Up to ~350 per region per call. | Source new inventory, build market dashboards, monitor ZIPs daily. |
sold | Homes sold in the last 90 days from any Redfin region. | Pull comparable sales for CMAs, appraisals, investment comps. |
Output fields (35+, flat JSON per property)
redfinUrl, propertyId, listingId, mlsNumber, address, city, state, zip, latitude, longitude, status (Active / Pending / Coming Soon / Sold), price, soldPrice, soldDate (ISO 8601), pricePerSqft, beds, baths, sqft, lotSize, yearBuilt, propertyType, daysOnMarket, hoaFee, redfinEstimate (when Redfin includes it in the listing payload), description (marketing remarks), photos[] (full-screen URLs), mainPhoto, agentName, agentPhone, brokerage, listedAt, scrapedAt.
Photos are full-resolution URLs. Coordinates are decimal lat/lng. Dates are ISO 8601 strings.
Pricing
| Event | Price | When charged |
|---|---|---|
| Actor start | $0.00005 | Once when the run starts. |
| Property found | $0.005 per result | Each listing returned in either mode. |
Typical run cost — 100 listings: ~$0.51, 500 sold comps: ~$2.51. Pay-Per-Usage compute/proxy passthrough also enabled for power users.
How to use
Quick start: search by city
{"mode": "search","searchUrl": "https://www.redfin.com/city/30818/TX/Austin","maxResults": 100}
Returns up to 100 active Austin listings with all 35+ fields.
Pull sold comps for a city
{"mode": "sold","searchUrl": "https://www.redfin.com/city/30818/TX/Austin","maxResults": 200}
Returns up to 200 homes sold in the last 90 days in Austin.
Note on ZIP URLs: Redfin's WAF blocks the autocomplete API used to resolve ZIP codes to internal region IDs. Use a city URL covering the ZIP instead. Coming in v0.2: ZIP-to-city resolver.
Search by neighborhood with filters
Use any Redfin URL you can build in their UI:
{"mode": "search","searchUrl": "https://www.redfin.com/neighborhood/13452/TX/Austin/Downtown/filter/property-type=house,min-price=500k,max-price=900k","maxResults": 50}
Who uses this
- Real estate investors sourcing off-market candidates and tracking comparable sales in target ZIPs daily.
- iBuyers and flippers monitoring days-on-market spikes to inform offer timing.
- Mortgage and proptech startups enriching loan applications with current comparable data.
- Appraisers and AVM teams building valuation models using fresh sold-comp universes.
- Real-estate journalists tracking market velocity by city, ZIP, or school district.
- REITs and PE monitoring inventory and price velocity across multi-state portfolios.
- AI agents (Claude, GPT, Gemini) answering real-estate queries on demand via Apify MCP.
Why this actor
| Advantage | What it means for you |
|---|---|
| Stingray API direct | Hits Redfin's internal JSON API, not the HTML. 5–10× faster than browser-based scrapers, and the data is already structured. |
| High reliability | Residential proxies + sticky sessions tuned for Cloudflare. Brutal-test target: 95 %+ success rate. |
| Flat output | 35+ fields in one flat JSON record per property. No nested digging. |
| MCP-ready | Tool description, input schema, output shape all designed for AI agent consumption. |
| Honest pricing | $5 per 1,000 listings. No surprise compute fees, no hidden setup. |
How it works under the hood
- Region resolution — your search URL is parsed to
{regionId, regionType}(Redfin's internal region addressing: 6=city, 13=zip, 5=neighborhood, 2=county, 1=state). - GIS API — search and sold queries hit
/stingray/api/giswith the rightstatusandsold_within_daysfilters. Returns up to 350 homes per call. - JSON-hijacking prefix — Redfin's responses start with
{}&&(anti-CSRF). We strip and parse safely. - Session consistency — each Apify proxy session sticks for ~30 requests before rotation, matching real-user behavior to slip past Cloudflare.
MCP / AI agent usage
This actor is exposed as apify--redfin-all-in-one-scraper in Apify MCP.
Example agent prompt:
"Find me 5 single-family homes in 78704 sold in the last 90 days under $700k."
The agent calls this actor with mode: 'sold', parses the result, and answers.
Pricing signal is built into the tool description so the agent budget-checks before calling.
FAQ
Does this work for rentals?
Yes — if your URL is filtered to rentals (e.g., /apartments-for-rent/city/...), the actor returns rental listings with rent in the price field.
Can I scrape sold homes older than 90 days? Redfin's GIS endpoint caps sold history at 90 days for performance. For deeper history, run the actor monthly and accumulate.
What about Cloudflare blocks? Residential proxies are enabled by default; that's the difference between 90 %+ success and getting blocked instantly. Datacenter proxies will fail.
Why no "details" or "property URL" mode? Redfin's property-detail endpoints sit behind a stricter JS-executed challenge that requires browser rendering. A future v0.2 will add a Camoufox-based detail mode for Redfin Estimate, full price history, tax history, and school ratings. For v0.1 we focus on what works at 95 %+ reliability — search and sold modes — rather than ship something flaky.
Multiple regions per run? One URL per run. For multiple regions, use Apify Schedules to fan out runs. Each is a separate dataset with its own deduplication.
Pay-Per-Usage option? Enabled alongside PPE. Power users running multi-million-row jobs can opt into usage-based pricing in Console → Monetization.
Related actors in this portfolio
- Zillow All-in-One Scraper — same shape for Zillow.
- Skip-Trace Property Owner — pair with Redfin output to enrich addresses with owner data.
- Idealista Scraper — European real estate.
Legal & compliance
This is an independent third-party tool not affiliated with Redfin Corporation. You are responsible for ensuring your use complies with Redfin's Terms of Service and all applicable laws (including CCPA, GDPR, and state-specific data regulations where relevant). Scraped data is the property of the original publisher; this actor only facilitates access to publicly available information.
Use responsibly: respect rate limits, do not redistribute proprietary photos commercially without rights, and consult counsel before bulk redistribution.
Support
Open an issue on the actor's Issues tab. Bug reports with a sample input that reproduces the issue get fastest turnaround.
Roadmap
- v0.2 — Camoufox-based property-detail mode with Redfin Estimate, full price history, tax history, school ratings.
- v0.3 — Schedule-friendly diff mode (only new listings since last run).
- v0.4 — Optional Walk Score / Bike Score / Transit Score enrichment.