Redfin Real Estate Scraper — Homes, Sales & Property Data
Pricing
Pay per usage
Redfin Real Estate Scraper — Homes, Sales & Property Data
Scrape Redfin real estate listings for any US location. Extract property prices, beds, baths, square footage, lot size, year built, price history, days on market, HOA fees, agent info, school ratings, and photos. Supports for-sale, sold, and pending listings with full filtering by property type, pri
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Redfin Real Estate Scraper
Scrape Redfin real estate listings for any US location. Extract property prices, beds, baths, square footage, lot size, year built, price history, days on market, HOA fees, agent info, school ratings, and photos.
Features
- Multi-location search — scrape multiple cities or zip codes in a single run
- Full property details — price, beds, baths, sqft, lot size, year built, HOA fees
- Price history — track listing price changes, sales, and events over time
- School data — nearby school names, ratings (GreatSchools), distance, grade levels
- Agent & brokerage info — listing agent name, brokerage, MLS number
- Photos — extract all property photo URLs
- GPS coordinates — latitude/longitude for mapping and analysis
- Redfin Estimate — automated valuation when available
- 4 extraction strategies — HTML cards, stingray API, detail pages, CSV download
- Smart deduplication — no duplicate listings in your dataset
- Flexible filters — property type, price range, beds, baths, listing status
Supported Listing Types
| Status | Description |
|---|---|
for_sale | Active listings currently on the market |
sold | Recently sold properties |
pending | Under contract / pending sale |
Supported Property Types
| Type | Description |
|---|---|
house | Single-family homes |
condo | Condos and co-ops |
townhouse | Townhouses and row homes |
land | Vacant land and lots |
multi-family | Multi-family properties (duplex, triplex, etc.) |
all | All property types |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
locations | array | ["San Francisco, CA"] | List of cities, zip codes, or Redfin URL slugs |
propertyType | string | all | Property type filter |
minPrice | integer | 0 | Minimum price (0 = no minimum) |
maxPrice | integer | 0 | Maximum price (0 = no maximum) |
minBeds | integer | 0 | Minimum bedrooms |
maxBeds | integer | 0 | Maximum bedrooms |
minBaths | integer | 0 | Minimum bathrooms |
maxBaths | integer | 0 | Maximum bathrooms |
status | string | for_sale | Listing status filter |
maxResults | integer | 500 | Max properties per location (0 = unlimited) |
includeSchools | boolean | false | Scrape school data (visits detail pages, slower) |
proxy | object | — | Apify proxy configuration |
Input Example
{"locations": ["San Francisco, CA", "90210", "Austin, TX"],"propertyType": "house","minPrice": 500000,"maxPrice": 2000000,"minBeds": 3,"status": "for_sale","maxResults": 100,"includeSchools": true,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output Schema
Each scraped property contains:
{"address": "123 Main St, San Francisco, CA 94102","streetAddress": "123 Main St","city": "San Francisco","state": "CA","zip": "94102","price": 1250000,"priceFormatted": "$1,250,000","beds": 3,"baths": 2,"sqft": 1800,"lotSize": "2,500 sqft","yearBuilt": 1925,"propertyType": "House","status": "Active","daysOnMarket": 14,"hoaFee": 350,"agent": "Jane Smith","brokerage": "Redfin Corp","mlsId": "ML81234567","redfinEstimate": 1275000,"description": "Beautiful Victorian home with original details...","priceHistory": [{"date": "2026-02-15","price": 1250000,"event": "Listed","source": "MLS"},{"date": "2025-06-10","price": 1100000,"event": "Sold","source": "Public Records"}],"schools": [{"name": "Lincoln Elementary","rating": 8,"distance": "0.3 mi","type": "Elementary","grades": "K-5"}],"url": "https://www.redfin.com/CA/San-Francisco/123-Main-St-94102/home/12345","images": ["https://ssl.cdn-redfin.com/photo/1/bigphoto/123/ML81234567_1.jpg"],"latitude": 37.7749,"longitude": -122.4194,"scrapedAt": "2026-03-01T12:00:00.000Z","source": "redfin"}
Extraction Strategies
The scraper uses 4 strategies in priority order for maximum data coverage:
-
HTML Search Results — Parses listing cards from Redfin search result pages. Fast and reliable for basic property data (address, price, beds, baths, sqft).
-
Stingray API — Redfin's internal JSON API that powers their map and list views. Returns rich structured data including property details, price history, and agent info. The scraper auto-discovers the region ID and makes API calls.
-
Property Detail Pages — Visits individual property pages for the most complete data: full description, all photos, price history, school ratings, and agent details. Enabled automatically when
includeSchoolsis true. -
CSV Download Endpoint — Redfin's bulk download endpoint (
/stingray/api/gis-csv) returns up to 350 properties in tabular format. Used as a fallback when other strategies return no results.
Location Formats
The scraper accepts multiple location formats:
| Format | Example |
|---|---|
| City, State | San Francisco, CA |
| Zip Code | 90210 |
| Slug | seattle-wa |
| Redfin Path | city/CA/San-Francisco |
Proxy Recommendations
Redfin has moderate anti-bot protection. For best results:
- Small runs (< 50 properties): Datacenter proxies may work
- Medium runs (50-200): Apify residential proxies recommended
- Large runs (200+): Residential proxies required
{"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Pricing
This actor uses Pay Per Event pricing:
- $0.008 per property scraped — charged only for successfully extracted properties
- No charge for failed requests or empty pages
- School and detail page enrichment included in the per-property price
Use Cases
- Real estate investing — analyze property values, price trends, and market conditions
- Market research — compare prices across neighborhoods, cities, and property types
- Competitive analysis — track listing agents, brokerages, and market share
- Lead generation — build targeted lists of properties and seller agents
- Price monitoring — track price changes and days on market over time
- School district analysis — evaluate neighborhoods by school ratings
- Portfolio tracking — monitor comparable properties for your holdings
Rate Limits & Best Practices
- The scraper automatically throttles requests to avoid overwhelming Redfin
- Redfin caps search results at ~350 per query — use multiple specific searches for comprehensive coverage
- Use the
maxResultsparameter to control costs on large runs - For city-wide scrapes, combine property type and price range filters to stay within Redfin's result limits
Legal Disclaimer
This actor is provided for educational and research purposes. Users are responsible for ensuring their use complies with Redfin's Terms of Service and all applicable laws. Respect robots.txt and rate limits. Do not use scraped data for spamming or harassment.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/redfin-scraper").call(run_input={"searchTerm": "redfin","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/redfin-scraper').call({searchTerm: 'redfin',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));