Redfin Scraper
Pricing
Pay per event
Redfin Scraper
Extract Redfin real estate listings: price, beds, baths, sqft, address, neighborhood, year built, HOA fees, MLS status, and listing URL. No proxy needed — pure HTTP.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
41
Total users
14
Monthly active users
9 days ago
Last modified
Categories
Share
What does Redfin Scraper do?
Redfin Scraper extracts property listings from Redfin — one of the most accurate and up-to-date real estate platforms in the United States. Powered by Redfin's internal JSON API (no browser required), this scraper delivers clean, structured property data at scale.
Simply paste one or more Redfin city, ZIP code, neighborhood, or county URLs and you get back a dataset of property listings with prices, addresses, bedroom/bathroom counts, square footage, year built, HOA fees, listing status, agent info, and more.
Key capabilities:
- 🏠 Scrape cities, ZIP codes, neighborhoods, and counties in one run
- 📊 Get 20+ data fields per listing: price, address, beds, baths, sqft, lot size, year built, HOA, MLS status, listing remarks, and more
- 🔍 Filter by property type, price range, bedrooms, bathrooms, and square footage
- 📄 Paginate through hundreds of results per search area
- ⚡ No proxy needed — pure HTTP, no browser overhead, runs on any plan
Who is Redfin Scraper for?
🏗️ Real estate investors
You track multiple markets and need fresh listing data for analysis. Use this scraper to pull all active listings in Austin, Seattle, or Washington DC sorted by price or days on market — and feed the data into your investment model.
📊 Market researchers and analysts
You need bulk listing data for pricing analysis, market trend reports, or competitive intelligence. This scraper gives you clean, structured data you can load into Excel, Google Sheets, or any analytics tool.
🏢 PropTech startups
You're building a real estate app, lead gen platform, or CMA tool. Instead of scraping HTML pages, use this actor to get structured JSON data from Redfin's own API — the same data the website shows.
🤖 Data engineers and analysts
You need to regularly pull listing data for dashboards, alerts (e.g., "new listings under $500k in ZIP 78703"), or CRM enrichment. Schedule this actor to run daily or weekly.
🏡 Homebuyers doing research
You want to compare prices across neighborhoods or track how quickly properties sell in a specific area — without clicking through dozens of pages manually.
Why use Redfin Scraper?
- ✅ Actually works — uses Redfin's JSON API, not fragile HTML parsing
- ✅ No proxy needed — HTTP-only, runs cheaply from any compute tier
- ✅ Structured data — 20+ fields per listing, flattened and ready for analysis
- ✅ Pagination built-in — retrieve up to 350+ listings per search area
- ✅ Filter support — narrow by type, price, beds, baths, sqft
- ✅ Multiple locations in one run — batch multiple cities or ZIP codes together
- ✅ Export formats — JSON, CSV, Excel via Apify's built-in dataset export
- ✅ Schedule support — run daily/weekly to track listing changes over time
What data can you extract?
| Field | Description |
|---|---|
propertyId | Redfin's unique property identifier |
listingId | Listing identifier |
mlsId | MLS number |
mlsStatus | Status: Active, Pending, Coming Soon, Contingent, etc. |
address | Street address |
unitNumber | Unit number (for condos/townhouses) |
city | City name |
state | State abbreviation |
zip | ZIP/postal code |
neighborhood | Neighborhood or subdivision name |
latitude / longitude | GPS coordinates |
price | Listing price in USD |
pricePerSqFt | Price per square foot |
beds | Number of bedrooms |
baths | Total bathrooms |
fullBaths | Full bathrooms |
sqFt | Living area in square feet |
lotSizeSqFt | Lot size in square feet |
yearBuilt | Year the property was built |
stories | Number of stories |
hoaPerMonth | HOA fee per month |
propertyTypeName | Property type: Single Family, Condo, Townhouse, etc. |
daysOnMarket | Days the listing has been active |
soldDate | Date sold (ISO format) |
isHot | Whether Redfin marks it as a "hot" listing |
isNewConstruction | Whether it's a new build |
hasVirtualTour | Virtual tour available |
numPhotos | Number of listing photos |
listingAgent | Listing agent name |
listingBroker | Listing brokerage name |
listingRemarks | Full listing description |
keyFacts | Key features highlighted by the listing |
url | Full Redfin listing URL |
How much does it cost to scrape Redfin listings?
This actor uses Pay-Per-Event (PPE) pricing — you only pay for listings actually extracted.
| Plan | Price per listing |
|---|---|
| Free | $0.00345 |
| Bronze | $0.003 |
| Silver | $0.00234 |
| Gold | $0.0018 |
| Platinum | $0.0012 |
| Diamond | $0.00084 |
Real-world cost examples:
- 100 Austin listings → ~$0.35 (Free plan) → ~$0.08 (Diamond plan)
- 500 Denver listings → ~$1.73 (Free plan) → ~$0.42 (Diamond plan)
- 1,000 Seattle listings → ~$3.45 (Free plan) → ~$0.84 (Diamond plan)
Free plan estimate: With Apify's $5 monthly free credits, you can scrape approximately 1,450 listings per month at no charge.
There's also a small one-time start charge of $0.002 per run (all plans).
How to scrape Redfin listings
- Go to Redfin Scraper on Apify Store
- Click Try for free
- Find your target location on Redfin (e.g., a city page like
https://www.redfin.com/city/30818/TX/Austin) - Copy the URL and paste it into the Redfin search URLs field
- Set
maxListings(default: 100) to control how many results to fetch - Optionally set price range, property type, or bedroom filters
- Click Start and wait for results (typically under 30 seconds for 100 listings)
- Download results as JSON, CSV, or Excel from the Results tab
Supported URL formats:
- City page:
https://www.redfin.com/city/30818/TX/Austin - ZIP code:
https://www.redfin.com/zipcode/10001 - Neighborhood:
https://www.redfin.com/neighborhood/.../{id} - County:
https://www.redfin.com/county/{id}/...
Input examples:
Search Austin, TX for homes under $600k with 3+ beds:
{"searchUrls": ["https://www.redfin.com/city/30818/TX/Austin"],"maxListings": 100,"minPrice": 200000,"maxPrice": 600000,"minBeds": 3}
Scrape multiple cities in one run:
{"searchUrls": ["https://www.redfin.com/city/30818/TX/Austin","https://www.redfin.com/city/16163/WA/Seattle","https://www.redfin.com/city/13/DC/Washington"],"maxListings": 50}
Scrape a ZIP code for condos:
{"searchUrls": ["https://www.redfin.com/zipcode/94105"],"maxListings": 50,"propertyTypes": ["condo"]}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | Array | required | Redfin city, ZIP, neighborhood, or county search URLs |
maxListings | Integer | 100 | Max listings per URL (0 = all available, up to ~350) |
propertyTypes | Array | [] | Filter: house, condo, townhouse, multi-family, land, other |
listingStatus | Array | [] | Filter: active, coming-soon, contingent, pending, sold |
minPrice | Integer | 0 | Minimum price filter (0 = no minimum) |
maxPrice | Integer | 0 | Maximum price filter (0 = no maximum) |
minBeds | Integer | 0 | Minimum bedrooms (0 = no filter) |
minBaths | Integer | 0 | Minimum bathrooms (0 = no filter) |
minSqFt | Integer | 0 | Minimum square footage (0 = no filter) |
sortOrder | String | redfin-recommended-asc | Sort: price-asc, price-desc, days-on-market-asc, newest, etc. |
Output examples
A single listing output item looks like this:
{"propertyId": 31219656,"listingId": 213537338,"mlsId": "4563912","mlsStatus": "Active","address": "2301 W 10th St","unitNumber": null,"city": "Austin","state": "TX","zip": "78703","neighborhood": "Lloyd Maury Allen","latitude": 30.2833939,"longitude": -97.7707162,"price": 1250000,"pricePerSqFt": 567,"beds": 5,"baths": 3,"fullBaths": 3,"sqFt": 2203,"lotSizeSqFt": 6712,"yearBuilt": 1935,"stories": 2,"hoaPerMonth": null,"propertyTypeName": "Single Family Residential","daysOnMarket": 1,"soldDate": null,"isHot": false,"isNewConstruction": false,"hasVirtualTour": false,"numPhotos": 31,"listingAgent": "John Smith","listingBroker": "Redfin Corporation","listingRemarks": "Classic Deep Eddy / Tarrytown Opportunity...","keyFacts": ["6,712 sq ft lot", "3 parking spots", "Built 1935"],"url": "https://www.redfin.com/TX/Austin/2301-W-10th-St-78703/home/31219656"}
Tips for best results
- 🗺️ Find the right URL: Browse Redfin normally, navigate to the city/ZIP/neighborhood you want, and copy the URL from your browser's address bar.
- 🔢 Start small: Use
maxListings: 20for your first run to verify the data looks correct before running larger batches. - 📅 Schedule for monitoring: Use Apify's scheduler to run this actor daily or weekly to track new listings or price changes in your target market.
- 🏘️ Multiple areas in one run: You can scrape several cities or ZIP codes in a single run by adding multiple URLs to the
searchUrlsarray. - 🔍 Use filters: Combining
minPrice,maxPrice,minBeds, andpropertyTypessignificantly narrows results to exactly what you need. - ⚡ No rate limit concerns: This actor uses Redfin's public JSON API at a respectful pace with a 500ms delay between pages.
Integrations
Redfin Scraper → Google Sheets Export listings as CSV and import to Google Sheets for market analysis. Use Google Sheets formulas to calculate price-per-sqft ranges, average DOM by neighborhood, or spot outliers. Set up a recurring run with Apify's scheduler to automatically refresh your sheet with new listings each morning.
Redfin Scraper → Slack alerts Connect via Apify's webhook or Make.com to send Slack notifications when new listings appear in a specific ZIP code under your target price. Schedule the scraper to run hourly and filter the dataset for new items since the last run.
Redfin Scraper → Make.com / Zapier pipeline Trigger an automation whenever new results appear: add leads to a CRM (HubSpot, Salesforce), send email alerts to clients, or populate a property comparison spreadsheet automatically.
Redfin Scraper → PostgreSQL / BigQuery Use Apify's dataset API to pull results directly into your data warehouse for long-term trend analysis, price history tracking, or ML model training.
Scheduled monitoring Run the scraper daily on target ZIP codes and compare datasets over time to identify price reductions, new listings, or days-on-market trends in specific neighborhoods.
Using the Apify API
Node.js:
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/redfin-scraper').call({searchUrls: ['https://www.redfin.com/city/30818/TX/Austin'],maxListings: 100,minBeds: 3,});const dataset = await client.dataset(run.defaultDatasetId).listItems();console.log(dataset.items);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/redfin-scraper").call(run_input={"searchUrls": ["https://www.redfin.com/city/30818/TX/Austin"],"maxListings": 100,"minBeds": 3,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["address"], item["price"])
cURL:
curl -X POST "https://api.apify.com/v2/acts/automation-lab~redfin-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchUrls": ["https://www.redfin.com/city/30818/TX/Austin"],"maxListings": 100}'
Use with AI agents via MCP
Connect Redfin Scraper to Claude, Cursor, or any MCP-compatible AI agent:
Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/redfin-scraper"
Claude Desktop / Cursor / VS Code — add to your MCP config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/redfin-scraper"}}}
Example AI prompts:
- "Scrape the top 50 active listings in Austin, TX under $800k and show me the ones with more than 3 bedrooms"
- "Get all active condos in Seattle's Capitol Hill neighborhood and calculate the average price per sqft"
- "Pull the newest 100 listings in Washington DC and find the ones that have been on market for 1 day"
Is it legal to scrape Redfin?
Redfin's data is derived from public MLS (Multiple Listing Service) feeds and is displayed publicly without requiring login. Web scraping publicly available data is generally lawful under U.S. law, as affirmed by the hiQ v. LinkedIn ruling.
This scraper:
- Only accesses publicly available listing data (no login required)
- Does not access any private user data or agent-only sections
- Operates at a respectful rate with built-in delays
Always ensure your use of scraped data complies with your local laws and Redfin's Terms of Service. This actor is intended for personal research, market analysis, and educational purposes.
FAQ
How many listings can I get per search area? Redfin's API returns up to approximately 350 listings per search area. For cities with more active listings, use smaller sub-areas (ZIP codes or neighborhoods) and combine the results.
Why does the ZIP code search return fewer results than expected? Some ZIP codes have limited active inventory at any given time, especially in rural areas. This is normal — the scraper returns all available listings in that area.
How fast does it run? For 100 listings, expect 5–15 seconds. For 500 listings, expect 30–60 seconds. No proxy is used so speed is consistent.
Why are some listings missing fields like price or sqft?
Some Redfin listings have restricted data access levels (level field). Listings from certain MLS providers hide specific fields. The scraper returns null for restricted fields.
Can I get sold/historical listings?
Yes — add "listingStatus": ["sold"] to your input to get recently sold properties.
How is this different from Redfin's official API? Redfin's official Data Center API has a waitlist and is designed for enterprise users. This scraper gives independent developers and researchers immediate access to listing data in a structured format.
Why do some city pages return 0 results? This can happen if the city ID in the URL is incorrect or the area has no active listings. Double-check by navigating to the Redfin page directly in your browser first, then copy the exact URL.
Other real estate scrapers
- Zillow Scraper — Scrape Zillow property listings
- Realtor.com Scraper — Extract listings from Realtor.com
- Airbnb Scraper — Scrape Airbnb short-term rental listings
- Booking.com Scraper — Extract hotel and rental listings from Booking.com