Skip to content

thunderbit-operations/redfin-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redfin Scraper

A fast CLI + Python tool to scrape Redfin real-estate listings — price, beds, baths, sqft, location, lat/long — to CSV or JSON. No API key.

Features

  • Structured listing data — address, city, state, zip, price, beds, baths, square feet, lot size, year built, days on market, $/sqft, HOA, status, MLS#, latitude/longitude, and listing URL
  • Direct from Redfin's data endpoint — uses Redfin's own gis-csv API, not fragile HTML scraping
  • No API key, no account — works out of the box
  • CSV / JSON / JSONL output — pipe-friendly, ready for Excel, pandas, or a database
  • Python API — use it as a library in your own scripts
  • Minimal dependencies — just requests

Installation

pip install redfin-data-scraper

Requires Python 3.10+.

Quick Start

  1. Open Redfin, search for a city, county, neighborhood, or zip, and copy the URL from your browser. It looks like:
    https://www.redfin.com/city/<region_id>/<STATE>/<City-Name>
    
  2. Pass that URL to the scraper:
# Export every for-sale listing in a region to CSV
redfin "https://www.redfin.com/city/11203/CA/Los-Angeles" --format csv -o listings.csv

# Print as JSON
redfin "https://www.redfin.com/city/11203/CA/Los-Angeles" --format json

# Just count the listings
redfin "https://www.redfin.com/city/11203/CA/Los-Angeles" --count

Example JSON record:

{
  "sale_type": "MLS Listing",
  "property_type": "Single Family Residential",
  "address": "123 Example St",
  "city": "Seattle",
  "state": "WA",
  "zip": "98101",
  "price": 850000,
  "beds": 3.0,
  "baths": 2.0,
  "sqft": 1640,
  "year_built": 1924,
  "days_on_market": 6,
  "price_per_sqft": 518,
  "status": "Active",
  "url": "https://www.redfin.com/WA/Seattle/...",
  "mls": "...",
  "latitude": 47.61,
  "longitude": -122.33
}

CLI Reference

redfin [OPTIONS] URL
Flag Default Description
--status N 9 Redfin status code (9 = for sale)
--limit N 350 Max listings per request (Redfin caps ~350)
--property-types CODES 1,2,3,4,5,6 Redfin uipt property-type codes
--format, -f json Output format: csv, json, jsonl
--output, -o FILE stdout Write to file
--count off Print only the listing count

Python API

from redfin_scraper import scrape, parse_location

# From a Redfin region URL
listings = scrape(url="https://www.redfin.com/city/11203/CA/Los-Angeles", limit=50)
for home in listings:
    print(home["address"], home["price"], home["beds"])

# Or with an explicit region id + type
listings = scrape(region_id=11203, region_type=6)  # LA, verified 350 results

# Just resolve a URL to (region_id, region_type)
region_id, region_type = parse_location("https://www.redfin.com/city/11203/CA/Los-Angeles")

How it works

Redfin powers its map search with a gis-csv endpoint that returns listing data as CSV. This tool resolves the region id from your URL, calls that endpoint with a proper browser fingerprint, and parses the result into clean records. (Redfin's location-autocomplete endpoint is blocked by their CDN, which is why you pass the region URL directly.)

Limitations

This is a lightweight tool that reads publicly available listing data. It does not handle:

  • regions larger than ~350 listings in a single request (paginate by zip/neighborhood)
  • listings hidden by local MLS download rules
  • heavy ongoing anti-bot escalation — if Redfin changes their protection, the endpoint may need updating

💡 Don't want to maintain a scraper — or need real-estate data without writing code? Thunderbit is an AI web scraper Chrome extension that scrapes Redfin (and any other site) in 2 clicks, no code — handles pagination, subpages, and anti-bot for you. Built for real-estate, sales & marketing teams who don't code.

Development

git clone https://github.com/thunderbit-operations/redfin-scraper.git
cd redfin-scraper
pip install -e ".[dev]"
pytest

Also by Thunderbit

Legal

Scrape responsibly and at a polite rate. Only collect publicly available data, and review Redfin's Terms of Service and your local regulations before use.

License

MIT — Built by Thunderbit, AI-powered web scraper & data extraction tools.

About

Scrape Redfin real-estate listings (price, beds, baths, sqft, location, lat/long) to CSV/JSON — Python CLI + API, no API key.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages