Redfin Scraper
Pricing
Pay per event
Redfin Scraper
Scrape real estate listings from Redfin. Get property prices, beds, baths, square footage, lot size, year built, days on market, broker info, and more.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
5
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract real estate listings from Redfin with property details, prices, and market data. Search by city, ZIP code, or any Redfin URL.
What does Redfin Scraper do?
This actor extracts property listings from Redfin, including:
- Property details — price, beds, baths, square footage, lot size, year built, stories
- Location data — full address, city, state, ZIP, latitude, longitude, neighborhood
- Market metrics — days on market, price per square foot, listing status
- Listing info — MLS number, listing broker, property type, HOA fees
- Media — primary listing photo URL, property page URL
Why use Redfin Scraper?
- Fast extraction — fetches up to 500 listings in a single API call, typically under 10 seconds
- Rich filters — filter by price range, bedrooms, bathrooms, square footage, year built, property type
- Multiple search modes — search by Redfin city/neighborhood URL or 5-digit ZIP code
- Structured output — clean JSON with consistent field names ready for analysis
- All property types — houses, condos, townhouses, multi-family, land, and more
- Pay per result — only pay for properties you actually extract
Use cases
- Real estate investment — analyze property prices, price/sqft ratios, and days on market
- Market research — compare housing markets across different cities and neighborhoods
- Price monitoring — track listing prices in your target areas over time
- Competitive analysis — monitor new listings and price changes in specific markets
- Portfolio valuation — gather comparable sales data for property appraisals
- Academic research — collect housing market data for economic analysis
- Lead generation — find new listings for real estate marketing
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Redfin city, neighborhood, or search URL |
location | string | — | 5-digit ZIP code (use if no URL provided) |
status | string | for-sale | Listing status: for-sale, sold, pending |
propertyType | array | all types | Filter: house, condo, townhouse, multifamily, land, other |
minPrice | number | — | Minimum listing price (USD) |
maxPrice | number | — | Maximum listing price (USD) |
minBeds | number | — | Minimum bedrooms |
maxBeds | number | — | Maximum bedrooms |
minBaths | number | — | Minimum bathrooms |
minSqft | number | — | Minimum square footage |
maxSqft | number | — | Maximum square footage |
sortBy | string | recommended | Sort: price-asc, price-desc, days-on-redfin-asc, days-on-redfin-desc, dollars-per-sq-ft-asc, dollars-per-sq-ft-desc |
maxResults | number | 100 | Maximum properties to return (up to 500) |
Finding Redfin URLs
Go to redfin.com and search for your city or area. Copy the URL from the address bar. Examples:
- City:
https://www.redfin.com/city/17151/CA/San-Francisco - Neighborhood:
https://www.redfin.com/neighborhood/350/CA/San-Francisco/Mission-District - ZIP: enter just
94105in the location field
Output example
{"propertyId": 1146563,"mlsId": "426095284","url": "https://www.redfin.com/CA/San-Francisco/535-42nd-Ave-94121/home/1146563","price": 2998000,"beds": 3,"baths": 2.5,"sqFt": 2750,"pricePerSqFt": 1090,"lotSize": 4499,"yearBuilt": 1923,"stories": 0,"dom": 19,"street": "535 42nd Ave","city": "San Francisco","state": "CA","zip": "94121","latitude": 37.7785317,"longitude": -122.5031281,"neighborhood": "SF District 1","propertyType": "House","listingRemarks": "","listingBroker": "Rose Hayes","hoa": null,"photoUrl": "https://ssl.cdn-redfin.com/photo/1/bigphoto/0/212052509_0.jpg","isNewConstruction": false,"soldDate": null,"mlsStatus": "Active","scrapedAt": "2026-03-03T08:28:30.123Z"}
Pricing
This actor uses a pay-per-event pricing model:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Per property extracted | $0.003 |
Cost examples
| Scenario | Properties | Cost |
|---|---|---|
| Quick check (10 listings) | 10 | $0.031 |
| Neighborhood scan (50) | 50 | $0.151 |
| Full city search (200) | 200 | $0.601 |
| Large area (500) | 500 | $1.501 |
Platform costs (compute, storage) are additional but minimal — typically under $0.005 per run.
How to use Redfin Scraper
Via Apify Console
- Go to the Redfin Scraper actor page on Apify Store
- Paste a Redfin URL or enter a ZIP code
- Set your price, bed/bath, and property type filters
- Click Start and download results from the Dataset tab
Via API (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('YOUR_USERNAME/redfin-scraper').call({url: 'https://www.redfin.com/city/17151/CA/San-Francisco',status: 'for-sale',minBeds: 3,maxPrice: 2000000,maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((p) => {console.log(`$${p.price.toLocaleString()} | ${p.beds}bd/${p.baths}ba | ${p.street}, ${p.city}`);});
Via API (Python)
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('YOUR_USERNAME/redfin-scraper').call(run_input={'url': 'https://www.redfin.com/city/17151/CA/San-Francisco','status': 'for-sale','minBeds': 3,'maxPrice': 2000000,'maxResults': 50,})for p in client.dataset(run['defaultDatasetId']).iterate_items():print(f"${p['price']:,} | {p['beds']}bd/{p['baths']}ba | {p['street']}, {p['city']}")
Integrations
Connect Redfin Scraper with your tools:
- Google Sheets — automatically populate spreadsheets with new listings
- Slack / Email — get notified when new properties match your criteria
- Zapier / Make — build automated real estate monitoring workflows
- PostgreSQL / MongoDB — store listing data for long-term market analysis
- Webhooks — push data to your app when a run completes
Tips and best practices
- Use Redfin URLs for best results — paste a URL directly from redfin.com to ensure correct region targeting.
- ZIP codes work too — enter a 5-digit ZIP code in the location field as an alternative to full URLs.
- Filter early — use price, bed, bath, and sqft filters to get relevant results instead of filtering after extraction.
- Sold listings — set status to
soldto get recently sold properties with actual sale prices. - Max 500 per request — Redfin returns up to 500 listings per search. For larger areas, search by specific neighborhoods or ZIP codes.
- Sort strategically — use
days-on-redfin-ascto find the newest listings first.
Limitations
- Data is sourced from Redfin and subject to their availability
- Maximum 500 properties per search — split large areas into smaller regions if needed
- Location search requires a Redfin URL or ZIP code (free-text city names are not supported)
- Some fields (listing remarks, HOA) may not be available for all properties