US Real Estate Listings & Sold Homes Scraper for Redfin
Pricing
from $2.00 / 1,000 results
US Real Estate Listings & Sold Homes Scraper for Redfin
Scrape US real estate from Redfin.com: homes for sale & rent — address, price, beds, baths, sqft, lot size, property type, MLS, agent, photos & coordinates. Fast, no login. Independent tool, not affiliated with or endorsed by Redfin; all trademarks belong to their respective owners.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Redfin Scraper — US Real Estate Listings, Prices, Beds/Baths, $/sqft, MLS & GPS
This is a fast, no-code Redfin scraper that turns one of the largest US real estate marketplaces into clean, structured data. Use it to scrape Redfin.com listings by city, ZIP code, neighborhood or county and pull price, beds, baths, square footage, price per sqft, lot size, HOA, year built, listing status, MLS number, days on market, GPS coordinates and full descriptions — with no login, no API key and no coding.
Export every listing to JSON, CSV, Excel, or API.
🏠 Built for real estate investors, flippers, agents, brokers, appraisers, proptech startups, mortgage/insurance teams, data analysts and lead-generation teams who need bulk, structured Redfin data instead of copy-pasting listings by hand.
ℹ️ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Redfin Corporation or any of its subsidiaries. "Redfin" and all related names and logos are trademarks of their respective owners and are used here only to describe the data source. Please use this Actor in compliance with Redfin's Terms of Service and all applicable laws.
🔎 Why scrape Redfin?
Redfin is a leading US real estate platform with rich, MLS-backed property data — asking prices, square footage, price per square foot, year built, HOA fees, listing status and precise map coordinates — that investors, agents and analysts rely on every day. The catch: Redfin offers no public API for bulk data, and copy-pasting listings one by one simply doesn't scale when you need a whole city, ZIP or county.
This Redfin scraper bridges that gap. It reads Redfin's own structured JSON data layer (the same one that powers the map search), normalizes it into one tidy row per home, and hands you a spreadsheet-ready dataset in seconds. No browser automation, no fragile HTML parsing, no manual region lookups.
Because each record ships with coordinates, status and the full listing description, you get a dataset that's immediately useful for comps, valuation models, deal sourcing, market dashboards and lead lists.
Common reasons people scrape Redfin:
- 📊 Build US housing datasets for market research, affordability studies and trend dashboards.
- 🏦 Source investment deals — find underpriced homes by price per sqft and stale inventory by days on market.
- 🧑💼 Run a comparative market analysis (CMA) for any neighborhood in minutes.
- 🗺️ Power a proptech product, map or valuation model with a continuously refreshed Redfin listings feed.
- 📣 Build targeted real estate lead lists by city and property type.
- 🏛️ Enrich mortgage, insurance and relocation workflows with up-to-date property attributes.
- 📈 Track asking prices, inventory and $/sqft across cities and ZIP codes over time.
✨ What this Redfin scraper does
- ✅ No login & no API key — start scraping Redfin instantly, right out of the box.
- ✅ Pick a city from a dropdown — 24 major US markets (New York, Los Angeles, Chicago, Houston, Austin, Miami, Seattle, San Francisco and more). No URL typing required.
- ✅ Or paste any Redfin search URL — city, ZIP code, neighborhood or county pages all work, including filtered searches you build on redfin.com.
- ✅ Complete property data —
price,pricePerSqFt,beds,baths,sqFt,lotSize,yearBuilt,status,mlsId,daysOnMarket,hoaMonthly,latitude/longitude,descriptionand more. - ✅ Property-type filtering — houses, condos/co-ops, townhouses, multi-family, land and other/mobile.
- ✅ Automatic de-duplication — every home is unique by Redfin
propertyId, so you never get the same listing twice. - ✅ Fast & low-cost — powered by Redfin's own JSON data layer, not a slow headless browser.
- ✅ Bulk export — JSON, CSV, Excel (XLSX), HTML and XML, or pull straight from the Apify API.
- ✅ Automation-ready — schedule daily/weekly runs and connect to Google Sheets, Slack, Zapier, Make, n8n, webhooks, or use it as an AI-agent tool.
Keywords this tool covers: Redfin scraper, Redfin.com scraper, scrape Redfin, Redfin data extraction, Redfin API alternative, US real estate scraper, real estate listings scraper, MLS data, property data scraper, comps tool, CMA data, $/sqft data, housing market analytics, real estate lead generation, proptech data feed.
🎯 Use cases
- 🏦 Investors & house flippers — pull every listing in a target city/ZIP, sort by $/sqft, filter by type, and spot underpriced homes and aging inventory fast.
- 🧑💼 Agents, brokers & appraisers — export comparable listings (price, $/sqft, beds, baths, sqft, year built) for a data-backed CMA and monitor your farm area.
- 🏗️ Proptech & real estate startups — feed maps, valuation models, search portals and CRMs with a fresh Redfin listings feed including coordinates and descriptions.
- 📊 Data analysts & researchers — build structured US housing datasets and track prices, inventory and $/sqft across markets over time.
- 🏛️ Mortgage, insurance & relocation — enrich underwriting, valuation and relocation packages with property size, year built, HOA, type and location.
- 📣 Marketers & lead-gen teams — build targeted lists by location and property type for ABM, direct mail and neighborhood outreach.
- 🏠 Buyers & relocators — snapshot an entire market into a spreadsheet to compare homes side by side.
📥 Input
You don't need any technical skills. Pick cities from the dropdown, or paste Redfin URLs for full control. All inputs are optional — leave everything empty to auto-scrape a diverse sample of popular US markets.
| Field | Type | Description |
|---|---|---|
searchLocations | array (select) | Pick one or more of 24 popular US cities from the dropdown — no URL needed. Leave empty to auto-scrape a diverse sample of major markets. |
propertyTypes | array (select) | Which property types to include: house, condo, townhouse, multifamily, land, other. Leave all selected for everything. |
startUrls | array of URLs | Advanced. Paste Redfin.com city / ZIP / neighborhood / county search URLs to scrape exactly the filtered results you built on redfin.com. Each search returns up to ~350 homes. |
maxItems | integer | Maximum listings to scrape across the whole run. Use it to control cost. 0 = no limit (up to ~350 per area). Default 0. |
maxConcurrency | integer | Maximum searches processed in parallel. Default 5. |
maxRequestRetries | integer | Retries per failed request before it's marked failed. Default 3. |
proxyConfiguration | object | Proxy settings. Apify Proxy (US) is enabled by default and recommended for Redfin. |
Example input — easy mode (pick cities)
{"searchLocations": ["Austin, TX", "Miami, FL"],"propertyTypes": ["house", "condo", "townhouse"],"maxItems": 300}
Example input — advanced (paste Redfin URLs)
{"startUrls": [{ "url": "https://www.redfin.com/city/30749/NY/New-York" },{ "url": "https://www.redfin.com/zipcode/78731" },{ "url": "https://www.redfin.com/county/321/TX/Travis-County" }],"propertyTypes": ["house", "condo"],"maxItems": 500}
📤 Output
Each home is saved as one clean, flat record. Below is a real record from a live run (New York, NY):
{"url": "https://www.redfin.com/NY/Arverne/6702-Almeda-Ave-11692/home/20672836","mlsId": "1068016","status": "Active","listingType": 1,"price": 519000,"pricePerSqFt": 492,"beds": 3,"baths": 2,"sqFt": 1054,"lotSize": 1350,"yearBuilt": 1930,"propertyType": "House","hoaMonthly": null,"address": "67-02 Almeda Ave","unitNumber": null,"city": "Arverne","state": "NY","zip": "11692","latitude": 40.5971215,"longitude": -73.7968017,"daysOnMarket": 1,"timeOnRedfinMs": 3665486,"soldDate": "2026-02-17T08:00:00.000Z","isNewConstruction": false,"hasVirtualTour": false,"has3DTour": false,"isHot": false,"photoCount": 32,"photo": null,"description": "Renovated in 2026 and move in ready: 3 bedroom, 2 full bath detached corner bungalow with hardwood floors...","propertyId": 20672836,"listingId": 215615566,"scrapedAt": "2026-11-01T23:47:07.000Z"}
Field reference
| Field | Description |
|---|---|
url | Direct link to the Redfin listing (absolute URL). |
mlsId | MLS number. |
status | Current listing status (Active, Coming Soon, …). Use this for the current state. |
listingType | Redfin internal listing-type code. |
price | List price in USD. |
pricePerSqFt | Price per square foot (present when sqft is published). |
beds | Number of bedrooms. |
baths | Number of bathrooms. |
sqFt | Interior square footage (present when published). |
lotSize | Lot size in square feet (typically absent for condos). |
yearBuilt | Year the home was built. |
propertyType | House, Condo/Co-op, Townhouse, Multi-family, Land, Other. |
hoaMonthly | Monthly HOA fee in USD (present for HOA properties). |
address | Street address. |
unitNumber | Unit number (present for units/condos). |
city | City. |
state | State code. |
zip | ZIP code. |
latitude / longitude | GPS coordinates. |
daysOnMarket | Days the listing has been on market. |
timeOnRedfinMs | Time the listing has been live on Redfin (ms). |
soldDate | Last recorded sale date (price history) in ISO format — not the current status. |
isNewConstruction | New-construction flag. |
hasVirtualTour | Virtual-tour available. |
has3DTour | 3D-tour available. |
isHot | Redfin "hot home" flag. |
photoCount | Number of photos on the listing. |
photo | Main photo URL when Redfin exposes a usable image URL (often null; use photoCount to know how many photos exist). |
description | Full listing description / remarks. |
propertyId | Redfin internal property ID (the natural de-duplication key). |
listingId | Redfin internal listing ID. |
scrapedAt | Extraction timestamp (ISO). |
Fill rates (from a fresh 350-home run): core fields are rich —
url,price,address,city,state,propertyType,statusall 100%;beds99%,baths97%,sqFt/pricePerSqFt84%. Data-dependent fields vary honestly:hoaMonthly~41% (only HOA homes),lotSize~57% (rare for condos),soldDate~54% (only homes with price history),unitNumber~54% (only units). Missing values are returned asnull— never a wrong value.
🔁 Pagination & scale
Redfin serves map results from a region-based JSON endpoint that returns up to ~350 homes per area (city, ZIP, county or neighborhood). The scraper:
- Resolves the region (region ID + type) straight from the Redfin URL path — so any city/ZIP/county/neighborhood URL works instantly, with no extra page load.
- Requests up to ~350 homes for that region in a single call and de-duplicates by
propertyIdso you never get the same home twice. - Repeats across every city/URL you provide, stopping at your
maxItemscap.
To cover an entire metro beyond the ~350-per-area ceiling, pass several ZIP codes or neighborhoods as startUrls — each is a separate area with its own ~350-home budget, and results are combined and de-duplicated into one dataset. Control total volume and cost with maxItems.
⚙️ How to use
- Open the Actor on the Apify Console.
- Pick cities from the Cities / markets to scrape dropdown — or paste Redfin URLs in the Redfin search URLs (advanced) field. (Leave both empty to auto-scrape a diverse sample.)
- (Optional) choose property types and set a Max items limit to control cost.
- Click Start ▶️ and let it run.
- When finished, open Storage → Dataset and export as JSON, CSV, Excel, HTML or XML — or pull via the Apify API.
- Automate: schedule daily/weekly runs and connect via webhook to Make, Zapier, n8n, Google Sheets or Slack, or call the Actor as an MCP / AI-agent tool.
Run via API (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const input = {startUrls: [{ url: 'https://www.redfin.com/zipcode/78731' }],propertyTypes: ['house', 'condo'],maxItems: 300,};const run = await client.actor('haketa/redfin-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'listings');
Run via API (Python)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run_input = {"startUrls": [{"url": "https://www.redfin.com/city/30818/TX/Austin"}],"propertyTypes": ["house"],"maxItems": 300,}run = client.actor("haketa/redfin-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["address"], "-", item.get("price"), "-", item.get("sqFt"), "sqft")
💡 Tips
- Control cost with
maxItems. Start with 50–100 to preview, then scale up. - Scrape ZIP codes for full metro coverage — each city page is capped at ~350 homes, so a list of ZIP/neighborhood URLs is the most reliable way to capture an entire metro.
- Mix URL types in one run — city, ZIP, county and neighborhood URLs can all go in
startUrlstogether; results are combined and de-duplicated. - Filter by property type to keep datasets focused (e.g. only
condofor a rental study). - Use coordinates (
latitude/longitude) to map listings or join with other geo datasets. - Track
price+daysOnMarketover time to spot price drops and stale inventory. - Keep US proxies on — Redfin is a US site and serves best from US IPs (enabled by default).
❓ FAQ
Is it legal to scrape Redfin?
This Actor collects only publicly available information that anyone can view on redfin.com without logging in. Scraping public data is generally legal, but how you use the data is your responsibility — respect Redfin's Terms of Service, MLS rules and privacy laws (GDPR, CCPA), and don't republish copyrighted photos or descriptions in infringing ways. If unsure, consult a legal professional.
Do I need a Redfin account or API key?
No. No login, cookies or Redfin API key required — this is a true Redfin API alternative built on public data.
How many listings can I scrape, and how fast?
Each search area (city/ZIP/county/neighborhood) returns up to ~350 homes. Runs are fast because the scraper uses Redfin's JSON data layer, not a browser — a single city of 350 homes completes in well under a minute. Use multiple ZIP/neighborhood URLs and maxItems to scale to thousands.
Do I need proxies?
US-based proxies are recommended and Apify Proxy (US) is on by default. You generally don't need to change anything.
In what formats can I export the data?
JSON, CSV, Microsoft Excel (XLSX), HTML table and XML — plus direct Apify API access and dataset views.
Is there a Redfin API?
Redfin has no public bulk API. This scraper is the practical Redfin API alternative: call it via the Apify API and get clean JSON back.
How fresh is the data?
Every run fetches live data from Redfin.com, so results reflect the site's current state. Schedule the Actor to keep your dataset up to date.
Can I filter by property type?
Yes — choose any combination of house, condo/co-op, townhouse, multi-family, land or other. The filter is applied to each area's results.
What does soldDate mean?
It's the property's last recorded sale date (price history), which can appear on an active listing from a previous sale. Always use status for the current state (Active, Coming Soon, …).
Why are some fields null?
Redfin doesn't publish every field for every listing (e.g. lot size for condos, HOA for non-HOA homes), and occasionally restricts a field on pre-market listings. Missing values are returned as null rather than a guessed/wrong value.
Can I scrape sold homes?
This version focuses on active and coming-soon listings (the most reliable data). Each listing still includes its last soldDate (price history). Need full sold-history coverage? Open an issue and let us know.
🔗 Related scrapers
Building a cross-border real estate dataset? Pair this Redfin scraper with our other property and listings scrapers:
- Yad2 Scraper — real estate & classifieds listings from Yad2 (Israel).
- ZAP Imóveis Scraper — Brazilian property listings with price, area and location.
- Boliga Scraper — Danish homes for sale and sold-price history.
- Realtor.ca Scraper — Canadian MLS real estate listings.
- Domain.com.au Scraper — Australian property listings and prices.
- ImmobilienScout24 Scraper — German real estate listings (buy & rent).
Explore more on the Haketa Apify profile.
🧰 Troubleshooting
- "Could not resolve region" — make sure the URL is a real Redfin search page (city/ZIP/neighborhood/county), not a single listing or account page.
- Fewer results than expected — remember the ~350-per-area cap; split large cities into several ZIP codes.
- Getting blocked or empty results — keep US-based Apify Proxy enabled and avoid setting concurrency too high.
- A field is
null— it may simply not be published for that listing.
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Redfin Corporation. "Redfin" is a trademark of its respective owner.
👉 Ready to turn Redfin into a spreadsheet? Pick a city (or paste a URL), press Start, and export your US real estate dataset in seconds.