All scrapers

Real estate

Redfin Real Estate Scraper

redfin.com

96.8% Success rate
3.2s Avg response
AWS WAF Protection
1,100 calls Measured over

Redfin is served through a dedicated plugin endpoint rather than the generic page fetch. In search mode, give it a location and it returns the listings already parsed: price, beds, baths, living area and lot size, the address and coordinates, property type, MLS status and number, days on market, price per sqft and a clean listing URL. Filter by status (for sale / sold), price range, beds, baths and property type, then sort and page through the results. In detail mode, give it a listing URL and it returns one home in full: the listing agents, price history, the Redfin Estimate, tax and public records, and nearby schools. A ZIP code or a Redfin city URL like /city/30818/TX/Austin resolves most reliably; a plain 'City, ST' is best-effort. It reads Redfin's own listing data behind AWS WAF, so there is no HTML scraping to maintain yourself.

What you can extract

  • Price, beds, baths, living area (sqft) and lot size
  • Full address and coordinates (lat/lng)
  • Property type, MLS status and MLS number
  • Days on market, price per sqft and a clean listing URL
  • Detail mode: listing agents, price history and the Redfin Estimate
  • Detail mode: tax and public records, and nearby schools

Dedicated endpoints

/realestate/redfin

Redfin listings for a location

Redfin listings for a location (mode=search): price, beds, baths, sqft, lot size, address, coordinates, propertyType, MLS status/number, days on market, price/sqft and a listing URL. Filter with status, min_price/max_price, beds, baths and property_type; sort and page with max_results. A ZIP or Redfin city URL resolves most reliably; a plain 'City, ST' is best-effort.

/realestate/redfin?mode=detail

One Redfin home in full

One home by listing URL (mode=detail): the listing agents, full price history, the Redfin Estimate, tax and public records, and nearby schools.

How to scrape it

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/realestate/redfin?mode=search&location=Austin%2C%20TX&status=for_sale&max_results=40"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/realestate/redfin",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"mode": "search", "location": "Austin, TX", "status": "for_sale", "max_results": "40"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const data = await su.redfinSearch({ location: 'Austin, TX', status: 'for_sale', maxResults: 40 });
console.log(data);

Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.

Read the API docs

Frequently asked questions

Is it legal to scrape Redfin?

Collecting publicly available Redfin data such as listing prices, addresses and property details is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Some of it can be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.

How do I scrape Redfin without getting blocked?

Redfin is protected by AWS WAF. ScrapeUnblocker rotates residential and ISP exits and handles challenges, and the Redfin plugin returns the listings as parsed JSON. In ScrapeUnblocker's benchmark it returned real content on 96.8% of 1,100 calls, about 3.2s per call.

What Redfin data can I get?

Search mode returns price, beds, baths, living area and lot size, full address and coordinates, property type, MLS status and number, days on market, price per sqft and a clean listing URL. Detail mode returns one home in full: the listing agents, price history, the Redfin Estimate, tax and public records, and nearby schools.

Do I need a Redfin API or account?

No. The Redfin plugin returns listings and home details as JSON without a Redfin API account. Pass a location in search mode or a listing URL in detail mode. A ZIP code or a Redfin city URL such as /city/30818/TX/Austin resolves more reliably than a plain City, ST.

Can I monitor Redfin listings at scale?

Yes. One search call collects up to max_results across pages, about 350 listings per page, filtered by status (for sale or sold), price, beds, baths and property type, and calls run in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate.

How much does it cost to scrape Redfin?

Pricing is per request: 1 request = 1 credit, from EUR 1.00 per 1,000 on pay as you go to about EUR 0.55 per 1,000 on the Ultimate plan. Plugin calls use the same plan quota as any other request. One search call returns the homes array for one location. Blocks, timeouts and errors on ScrapeUnblocker's side are not billed, and the free trial includes 500 requests with no card.

Related scrapers

Start scraping this site today

Free tier included. No credit card required to test it.