Dedicated ScrapersRedfin Scraper API
Redfin logoDedicated Redfin API

Redfin Scraper API — Extract Property Data with Redfin Estimates

The fastest way to start scraping Redfin at scale. Our Redfin API returns structured JSON for property search, full home detail, agents, and autocomplete across the US and Canada — with Redfin Estimates, price and tax history, schools, and anti-bot bypass built in. No Redfin API key.

US + CACoverage
5Endpoints
For-saleActive listings only
From $0.27Per 1K search req

No credit card required · PAYG credits never expire

Search Redfin Homes
# Search for-sale homes in Austin, TX
import scrapebadger

client = scrapebadger.ScrapeBadger("sb_live_...")

results = client.redfin.search(
    location="Austin, TX"
)
200 OK1.9s · 5 credits
{
  "property_id": 12345678,
  "street_line": "1200 Barton Hills Dr",
  "city": "Austin", "state": "TX",
  "price": 675000,
  "beds": 3, "baths": 2, "sqft": 1620,
  "days_on_market": 6
}
API Reference

Redfin API — 5 Dedicated Endpoints

Structured JSON responses with normalized data models. No HTML parsing. No proxy management. No Redfin API key.

GET
/v1/redfin/search
Search active for-sale homes with 15+ filters and map-bound tiling
5 cr / req
GET
/v1/redfin/property/{property_id}
Full property detail — price & tax history, schools, amenities, photos
5 cr / req
GET
/v1/redfin/property?url=
Same full detail resolved directly from a full Redfin home URL
5 cr / req
GET
/v1/redfin/agent
Real-estate agent profile with ratings, sales stats, and their active listings
5 cr / req
GET
/v1/redfin/autocomplete
Resolve a location term to a geocoded place suggestion
2 cr / req
GET
/v1/redfin/markets
Supported coverage regions — United States and Canada
0 cr / req
Response Schema

Every Field You Need, Ready to Use

All fields are normalized from Redfin’s internal GIS search API and embedded SSR page data. Every datetime ships as both a Unix timestamp and an ISO-8601 string. Nested blocks — price_history, tax_history, schools, amenities — come pre-parsed.

Property

property_idintegerRedfin property identifier
priceintegerList price (or last sold price)
redfin_estimateintegerRedfin home value estimate
rent_estimateintegerEstimated monthly rent
bedsfloatNumber of bedrooms
bathsfloatNumber of bathrooms
sqftintegerInterior square footage
year_builtintegerYear the home was built
key_factsarrayHeadline facts — parking, HOA, style, construction…
price_historyarrayListed / price-change / sold events
tax_historyarrayYearly tax paid and assessed value
schoolsarrayAssigned schools with ratings & distance
amenitiesarrayGrouped amenities from the listing detail page
listing_agent_namestringListing agent and MLS attribution
photosarrayListing photos with captions

Agent

agent_idstringRedfin agent slug
namestringAgent display name
brokeragestringBrokerage name
ratingfloatAverage review rating
review_countintegerNumber of client reviews
deals_last_yearintegerRecently closed deals
total_dealsintegerTotal deals closed
years_experienceintegerYears in the business
service_areasarrayAreas the agent serves
listingsarrayThe agent’s active listings
Coverage

United States + Canada

Both countries are served from redfin.com behind a US residential proxy. There is no separate market or currency parameter to manage.

🇺🇸US
🇨🇦CA
Map-bound tiling: Every search response returns the map_bounds it covered, so you can subdivide dense metros with the north/south/east/west parameters and exhaust a market’s full inventory past Redfin’s per-query result cap.
How it works

From API call to clean JSON in seconds

No proxy setup. No session management. No anti-bot configuration.

1

Send a request

Call any Redfin endpoint with your API key and parameters — a location, a property_id or home URL, or an agent slug or URL. REST or SDK.

2

We handle the hard parts

ScrapeBadger routes the request through a residential proxy with Chrome impersonation, detects blocks, and falls back to a real browser when needed.

3

Get structured JSON

Receive normalized JSON with Redfin Estimates, price and tax history, schools, amenities, and photo links — ready to store, analyse, or pipe into your application.

Use Cases

What Developers Build with Redfin Data

Scraping Redfin gives you real market signals — Redfin Estimates, price cuts, days on market, comps, and agent activity across the US and Canada.

Valuation & AVM models

Pull the Redfin Estimate, rent estimate, tax-assessed value, and full price history to build or benchmark automated valuation models against real market data.

Market monitoring

Track list prices, price cuts, and days-on-market across ZIPs and metros to spot demand shifts and pricing gaps in near real time.

Investment & comps research

Filter active for-sale inventory by beds, baths, sqft, lot size, and year built to assemble comps and rank cash-flow opportunities.

Agent & brokerage intelligence

Analyze agents by ratings, recent deal volume, and active listings to map who dominates a market and how their book of business trends.

AI training datasets

Collect structured listing data — amenities, schools, photos, and descriptions — for training pricing, classification, or property-recommendation models.

Lead & inventory pipelines

Feed new listings and price drops into CRM and lead-gen tools using map-bound tiling to exhaust dense markets past Redfin’s per-query result cap.

Pricing

Pay Per Request. Credits Never Expire.

You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.

EndpointCredits / requestPAYGSubscription
Search Properties /search5 credits
Property Detail /property/{property_id}5 credits
Property by URL /property?url=5 credits
Agent Profile /agent5 credits
Autocomplete /autocomplete2 credits
List Markets /marketsFree

See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.

Free trial
1,000 credits free
= 200 search requests
Credits expire
Never
Buy once, use anytime
Failed requests
Always free
Pay for success only
Live cost estimator
Credits per request5
Total credits needed5,000
Loading plans…
Why ScrapeBadger

Built for Reliability at Scale

ScrapeBadger's Redfin Scraper API handles everything Redfin throws at automated requests — so your pipeline keeps running.

Redfin Estimate + full history

Every property detail returns Redfin’s own valuation estimate alongside the complete price history and tax history — the numbers valuation and investment models are actually built on.

Anti-bot bypass included

Redfin uses bot detection, IP reputation, and TLS/HTTP fingerprinting on suspicious traffic. ScrapeBadger handles fingerprinting and detects blocks automatically — no CAPTCHA solving on your end.

Structured JSON, no parsing

Responses are normalized typed JSON extracted from Redfin’s internal GIS search API and SSR page data — no HTML to parse, no fragile CSS selectors that break when Redfin updates its frontend.

Rich amenities per home

The property model surfaces grouped amenities, schools, tax and price history from the listing detail page — not just the headline beds/baths.

Pay per success only

Credits are only deducted for successful responses. If Redfin returns an error or the request times out, no credits are consumed. You only pay for data you actually receive.

SDKs for 12 Languages

Official SDKs for Python, Node.js, Go, Rust, PHP, C#, Java, Kotlin, Ruby, Swift, Dart and C++ — generated from one OpenAPI spec, always in sync with the API. Full documentation with working code examples for every endpoint.

Code Examples

Simple Integration. Any Language.

Get started in minutes with Python, Node.js, or plain HTTP requests.

The scrapebadger Python library wraps the Redfin API with typed methods. Install with pip install scrapebadger, then start scraping Redfin in a few lines of code.

Python — Search + Detail
from scrapebadger import ScrapeBadger

client = ScrapeBadger("sb_live_...")

# Search for-sale homes in Austin under $700k
results = client.redfin.search(
    location="Austin, TX",
    price_max=700000,
)

# Get the full detail for the first few results
for home in results.results[:3]:
    detail = client.redfin.property(property_id=home.property_id)
    print(detail.street_line, detail.redfin_estimate)
Node.js — Estimate + History
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({
  apiKey: 'sb_live_...'
})

// Pull the Redfin Estimate and price history for a home
const { property } = await client.redfin.property({
  propertyId: '12345678',
})

console.log(property.redfinEstimate, property.rentEstimate)
for (const event of property.priceHistory) {
  console.log(event.date, event.event, event.price)
}
FAQ

Frequently Asked Questions

Common questions about scraping Redfin with the API — Python, Node.js, or REST.

What data does the Redfin Scraper API return?

Search returns listing cards with property_id, price, beds/baths, sqft, address, coordinates, days on market, and photos. Property detail returns the full record — Redfin Estimate and rent estimate, complete price history and tax history, schools with ratings, grouped amenities, listing agent and MLS attribution, and all listing photos. Agent, autocomplete, and markets endpoints each return their own normalized model.

Which regions does the Redfin Scraper API cover?

The United States and Canada — both are served from redfin.com behind a US residential IP, so there is no separate market or currency parameter. Search accepts any US or Canadian city, state, ZIP, county, or neighborhood as the location.

Does the search endpoint cover sold homes or rentals?

No. Search returns active for-sale listings only — there is no sold or rental status. Use the price_history array on property detail to see prior sold events for a specific home.

Can I get the Redfin Estimate and price history for a home?

Yes. The /property/{property_id} endpoint (or /property?url= with a full home URL) returns the Redfin Estimate, rent estimate, tax-assessed value, a full price_history array (listed / price-change / sold events), and a tax_history array of yearly tax paid and assessed value — the core inputs for valuation and investment analysis.

How does the Redfin Scraper API handle anti-bot protection?

Redfin combines bot detection, IP reputation, and TLS/HTTP fingerprinting on suspicious traffic. ScrapeBadger uses Chrome impersonation over residential proxies, detects blocks, and falls back to a real browser when needed — all automatically. You never configure proxies, manage fingerprints, or solve CAPTCHAs. No Redfin API key is required.

How do I scrape Redfin with Python?

Install with pip install scrapebadger, then initialise the client and call client.redfin.search(location="Austin, TX"), client.redfin.property(property_id="12345678"), or client.redfin.agent(agent_id="some-agent"). The SDK returns typed objects — properties expose .redfin_estimate, .price_history, and .schools, and search exposes pagination and map_bounds for tiling.

Plans & subscriptions

Bigger volume? Save up to 64%

Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All Redfin endpoints — search, property detail, agents, and autocomplete across the US and Canada — included on every plan.

Get started

Start Scraping Redfin Today

1,000 free credits. No credit card. Get your API key in under a minute.

PAYG credits never expire · Pay only for successful requests · US + Canada coverage