Redfin Scraper - Listings, Sold Comps, Estimates & Leads
Pricing
from $4.00 / 1,000 property scrapeds
Redfin Scraper - Listings, Sold Comps, Estimates & Leads
Scrape Redfin for-sale & sold homes for any US city, ZIP, neighborhood or county: price, beds/baths/sqft, lot, year, HOA, Redfin Estimate, rent estimate, price history, schools, climate risk, photos & listing agent/broker. New-listing & price-drop monitoring. No login, key or browser.
Pricing
from $4.00 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Redfin Scraper — Listings, Sold Comps, Estimates, Price History & Agent Leads
Extract complete Redfin real-estate data for any US city, ZIP, neighborhood or county — the fields most scrapers leave empty: the Redfin Estimate, rent estimate, full price/sale history, assigned schools with ratings, climate-risk factors, tax & public records, building permits, every photo, and the listing agent & brokerage. Pull live for-sale listings or recent sold comps, and monitor a market for new listings and price drops.
No login, no API key, no browser — fast JSON extraction straight from Redfin's public map/search data path.
Why this Redfin scraper?
Most Redfin scrapers return the listing grid and stop. This actor opens each home's full record and ships the richest dataset in the category:
| Data | Typical scrapers | This actor |
|---|---|---|
| Price, beds, baths, sqft, lot, year, HOA, $/sqft | ✅ | ✅ |
| MLS #, status, source, days on market | partial | ✅ |
| Redfin Estimate (home value AVM) | ❌ | ✅ |
| Rent estimate (monthly, low/high) | ❌ | ✅ |
| Full price & sale history (with sources) | ❌ | ✅ |
| Assigned schools + GreatSchools & parent ratings | ❌ | ✅ |
| Climate risk (flood / fire / heat / wind) | ❌ | ✅ |
| Tax & public records (assessed values, taxes, APN) | ❌ | ✅ |
| Building permits | ❌ | ✅ |
| Listing agent + phone + brokerage | ❌ | ✅ |
| All photos, full description, features/amenities | partial | ✅ |
| Sold comps (CMA) by recency window | partial | ✅ |
| New-listing & price-drop monitoring | ❌ | ✅ |
Use cases
- Real-estate investing & analysis — pull active listings and recent sold comps (CMA) for a ZIP, compare list price to the Redfin Estimate and rent estimate, screen by $/sqft, cap-rate inputs, lot size and year built.
- Lead generation — every active listing carries the listing agent, phone and brokerage. Build agent/brokerage prospect lists by market, price band, and volume.
- Market & pricing intelligence — track median price, days-on-market, price cuts and sell-through for any city, neighborhood or ZIP over time.
- New-listing & price-drop alerts — run in monitoring mode on a schedule to capture only homes that are new or whose price/status changed since the last run.
- Proptech & valuation models — feed clean, structured listings, sale history, tax records and climate risk into your own models, dashboards or CRM.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Redfin Scraper, paste a Redfin city/ZIP/neighborhood/county URL (or just a list of ZIP codes), pick For sale or Sold, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"listingType": "for_sale","searchUrls": ["https://www.redfin.com/city/11203/CA/Los-Angeles"],"zipCodes": ["90210", "78701"],"minPrice": 500000,"maxPrice": 2000000,"minBeds": 3,"propertyTypes": ["house", "condo"],"includePropertyDetails": true,"maxResults": 200}
- listingType —
for_sale(active, coming-soon & pending) orsold(recent comparable sales). - searchUrls — Redfin city / ZIP / neighborhood / county page URLs. Browse Redfin, apply filters, copy the URL from your address bar — every home in that region is scraped.
- zipCodes — shortcut: a list of 5-digit US ZIP codes, each resolved to its Redfin region.
- propertyUrls — individual Redfin home URLs to scrape just those homes' full detail.
- minPrice / maxPrice / minBeds / maxBeds / minBaths / propertyTypes — listing filters.
- soldWithinDays (sold only) — 7 / 30 / 90 / 180 / 365 / 1095 days of comps.
- sort — recommended, newest, most-recently-sold, price, sqft, lot size, $/sqft.
- includePropertyDetails (default true) — open each home for the Redfin Estimate, rent estimate, price history, schools, climate risk, tax/public records, permits, photos and listing agent/brokerage (one extra page fetch per home).
- maxResults / maxResultsPerSearch — global and per-region caps.
- monitorMode (default false) — emit ONLY new or changed (price/status) listings vs. the previous run; pairs with Schedules.
Output
One record per property:
{"propertyId": 6824442,"url": "https://www.redfin.com/CA/Beverly-Hills/324-N-Palm-Dr-90210/unit-204/home/6824442","fullAddress": "324 N Palm Dr #204, Beverly Hills, CA 90210","price": 1395000,"beds": 3,"baths": 2,"sqFt": 1766,"pricePerSqFt": 790,"lotSizeSqFt": null,"yearBuilt": 1980,"hoaMonthly": 850,"propertyType": "Condo/Co-op","mlsStatus": "Active","mlsNumber": "26848017","listingSource": "TheMLS","saleType": "For sale","daysOnMarket": 1,"city": "Beverly Hills","state": "CA","zip": "90210","latitude": 34.0731,"longitude": -118.4004,"redfinEstimate": 1384281,"rentEstimate": 7168,"rentEstimateLow": 6900,"rentEstimateHigh": 7500,"listingAgentName": "Dustin Nicholas","listingAgentPhone": "310-770-1847","listingBrokerName": "Nicholas Property Group","priceHistory": [{ "date": "2026-06-15T07:00:00.000Z", "event": "Listed", "price": 1395000, "source": "TheMLS" }],"schools": [{ "name": "Beverly Vista", "type": "Public", "grades": "K-8", "rating": 8, "parentRating": 4, "distanceMiles": 0.6 }],"climateRisk": { "floodFactor": 1, "fireFactor": 1, "heatFactor": 6, "windFactor": null },"publicRecords": { "yearBuilt": 1980, "totalSqFt": 1766, "apn": "4342003095", "propertyTaxes": 14817.27, "rollYear": 2025 },"photoCount": 35,"primaryPhoto": "https://ssl.cdn-redfin.com/photo/...","scrapedAt": "2026-06-15T12:00:00.000Z"}
In monitoring mode each record also carries changeType (new / price_drop / price_increase / status_change) and previousPrice.
Every record also includes listingSource (the MLS name, e.g. Unlock MLS) and dataSourceId — populated in both grid-only and full-detail runs.
Pricing — pay per result, no start or subscription fee
You pay only for the depth you use:
| Event | Charged | Price |
|---|---|---|
| Property scraped | Every listing written to the dataset (grid record). | $0.004 |
| Property detail enriched | Once per home whose full detail page is fetched (includePropertyDetails on, or any propertyUrls). | $0.004 |
- Grid-only run (
includePropertyDetails: false) → $0.004 / home - Full-detail run (default) → $0.008 / home (listing + enrichment)
Example: 1,000 homes with full details = $8.00; the same 1,000 grid-only = $4.00. Apify platform compute & proxy usage is billed separately by Apify.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily to monitor a market for new listings and price drops.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/redfin-scraper').call({listingType: 'for_sale',zipCodes: ['78701'],minPrice: 400000,includePropertyDetails: true,monitorMode: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} Redfin properties`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new listings or agent leads straight into your CRM.
- Slack — get notified when a monitored market gets new listings or price cuts.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find 3-bed houses under $800k in Austin and list the agents" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete property & local-market intelligence stack:
- Rent.com Scraper — US apartment & rental listings with property-management leads.
- Craigslist Scraper — FSBO housing, real estate & classifieds with phone/email leads.
- Houzz Scraper — home-improvement pros, contacts and reviews.
- Hipages Scraper — Australian home-services trades with phone, ABN & licence.
- Companies House Scraper — UK companies, directors & PSCs.
- Insurance Agent Scraper — multi-carrier insurance-agent leads.
- Financial Advisor Scraper — FINRA & SEC adviser/firm leads.
Tips
- Big cities: Redfin's map API returns up to ~350 homes per region. To exhaust a large market, scrape by ZIP or neighborhood (smaller regions) and/or narrow with price/beds — the actor caps per region and tells you when a region is maxed out.
- Sold comps: set
listingType: "sold"andsoldWithinDaysfor a comparable-sales (CMA) pull. The actor resolves each region'smarketautomatically so sold results are accurate. - Recurring monitoring: combine Schedules with
monitorModeto track only new listings and price drops. - Proxies: keep the default US residential proxy — Redfin's CDN blocks datacenter IPs, so residential is required (and is the default). A fully blocked run fails loudly instead of returning an empty dataset.
- Cost control: turn off
includePropertyDetailsfor a fast, listing-grid-only run — no per-home page fetch, and you pay only the base $0.004/home with no enrichment fee (see Pricing above).
FAQ
How do I scrape Redfin listings for a specific city or ZIP? Paste the Redfin city/ZIP/neighborhood/county page URL into searchUrls, or just add the 5-digit ZIP to zipCodes. Combine with filters to narrow by price, beds or property type.
Can I get recently sold homes (comps)? Yes — set listingType to sold and choose a soldWithinDays window (7 days to 3 years). Each comp includes sale price, sale date, beds/baths/sqft and (with details on) full sale history.
Where does the Redfin Estimate and rent estimate come from? They are Redfin's own published on-page estimates, extracted from the home's public page — the same numbers a visitor sees.
Does it include the listing agent's contact? Yes — for active listings the listing agent name, phone (when published) and brokerage are included. They're blank only when Redfin/the MLS doesn't publish them.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor new listings automatically? Turn on monitorMode and create a Schedule. Each run emits only homes that are new or changed since the last run, tagged with changeType.
Is scraping Redfin legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws and Redfin's terms.
A field is null — why? Some homes genuinely don't publish an HOA, lot size, agent phone or estimate. Fields are null only when the data doesn't exist, not because the scraper skipped them.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.