Scraper API

Redfin Scraper API

for listings and full property detail

Pull Redfin listings and full property detail as clean JSON. Search a market by ZIP or filters, or fetch a single home by URL, and get price, beds, baths, area, status, and days on market, with proxies handled for you.

SUCCESS
98.2%

of requests succeed

P50
1.8s

median response

P95
3.6s

95% finish faster

PRICE
$0.37

per 1k requests at volume

Stop maintaining scrapers

Redfin changes its markup often. Your parser shouldn't care.

  • Listing data buried in inline JSON
  • Prices, beds, and baths in mixed shapes
  • Photos behind lazy-loaded CDNs
  • Proxies and captchas at scale
  • Re-parse listings after each redesign
One integration commit replaces a backlog you’ll never finish.
scraper | git log
hotfix: markup changed, nulls in price
fix: beds/baths swapped on condo layout
fix: inline JSON path moved again
chore: rotate proxies for redfin runs again
fix: status enum changed to PENDING variants
hotfix: captcha loop on search pages
fix: photo URLs stopped resolving
chore: refresh residential IPs by state
fix: pagination stopped past page one
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: beds/baths swapped on condo layout
fix: inline JSON path moved again
chore: rotate proxies for redfin runs again
fix: status enum changed to PENDING variants
hotfix: captcha loop on search pages
fix: photo URLs stopped resolving
chore: refresh residential IPs by state
fix: pagination stopped past page one
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: beds/baths swapped on condo layout
fix: inline JSON path moved again
chore: rotate proxies for redfin runs again
fix: status enum changed to PENDING variants
hotfix: captcha loop on search pages
fix: photo URLs stopped resolving
chore: refresh residential IPs by state
fix: pagination stopped past page one
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: beds/baths swapped on condo layout
fix: inline JSON path moved again
chore: rotate proxies for redfin runs again
fix: status enum changed to PENDING variants
hotfix: captcha loop on search pages
fix: photo URLs stopped resolving
chore: refresh residential IPs by state
fix: pagination stopped past page one
fix: retry storm on rate limits
feat: integrate HasData API
Code Examples

One GET Request. That's the whole integration.

Start with just a query. Add more parameters when your use case needs them.

request example
curl -G 'https://api.hasdata.com/scrape/redfin/listing' \
	--data-urlencode 'keyword=33321' \
	--data-urlencode 'type=forSale' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
keyword * Location
The zipcode used to search for listings.
type * Listing Type
The type of listing.
sort Sort By
The sorting option for the search results.
price[min] Price Min
The minimum price of the listing.
price[max] Price Max
The maximum price of the listing.
monthlyPayment[min] Monthly Payment Min
The minimum monthly payment.
monthlyPayment[max] Monthly Payment Max
The maximum monthly payment.
monthlyPayment[interestRate] Interest Rate
The mortgage interest rate (percent) used to calculate the monthly payment.
monthlyPayment[insuranceRate] Insurance Rate
The home insurance rate (percent) used to calculate the monthly payment.
monthlyPayment[downPaymentPercent] Down Payment Percent
The down payment as a percentage of the home price.
monthlyPayment[downPaymentAmount] Down Payment Amount
The down payment as an absolute amount.
monthlyPayment[mortgageTerm] Mortgage Term
The mortgage term used to calculate the monthly payment.
cost[hoa] HOA
The maximum monthly Homeowners Association (HOA) fee.
cost[pricePerSqft][min] Price per Sqft Min
The minimum price per square foot.
cost[pricePerSqft][max] Price per Sqft Max
The maximum price per square foot.
cost[excludeLandLeases] Exclude Land Leases
If set to true, listings with land leases will be excluded.
cost[maxPropertyTaxPerYear] Max Property Tax per Year
The maximum property tax per year.
cost[acceptedFinancing] Accepted Financing
The accepted financing type.
cost[priceReduced] Price Reduced
Filter listings by when the price was reduced.
homeTypes[] Home Types
An array of home types to filter the listings. Allowed values depend on the listing `type`.
beds[min] Beds Min
The minimum number of bedrooms.
beds[max] Beds Max
The maximum number of bedrooms.
baths Baths
The minimum number of bathrooms.
forSaleSquareFeet[min] For Sale Square Feet Min
The minimum square footage for for-sale listings.
forSaleSquareFeet[max] For Sale Square Feet Max
The maximum square footage for for-sale listings.
forRentSquareFootage[min] For Rent Square Footage Min
The minimum square footage for for-rent listings.
forRentSquareFootage[max] For Rent Square Footage Max
The maximum square footage for for-rent listings.
lotSize[min] Lot Size Min
The minimum lot size.
lotSize[max] Lot Size Max
The maximum lot size.
yearBuilt[min] Year Built Min
The minimum year the property was built.
yearBuilt[max] Year Built Max
The maximum year the property was built.
stories[min] Stories Min
The minimum number of stories.
stories[max] Stories Max
The maximum number of stories.
listingType[category][] Listing Category
An array of listing categories.
listingType[excludeShortSales] Exclude Short Sales
If set to true, short sales will be excluded.
listingType[redfinListingsOnly] Redfin Listings Only
If set to true, only Redfin-listed properties will be included.
statusOptions[] Status Options
An array of listing statuses.
onlyWithDealOrPromotion Only With Deal or Promotion
If set to true, only listings with a deal or promotion will be included.
exclude55PlusCommunities Exclude 55+ Communities
If set to true, 55+ communities will be excluded.
timeOnRedfin Time on Redfin
How long the listing has been on Redfin.
soldWithinOption Sold Within
Filter sold listings by how recently they were sold.
moveInDate Move In Date
The desired move-in date in MM/DD/YYYY format.
openHouseAndTour[openHouse] Open House
Filter listings with an open house.
openHouseAndTour[videoTour] Video Tour
If set to true, only listings with a video tour will be included.
homeFeatures[options][] Home Features
An array of home feature flags to filter the listings.
homeFeatures[garageSpotsMin] Garage Spots Min
The minimum number of garage spots.
homeFeatures[poolType] Pool Type
The type of pool.
homeFeatures[basement] Basement
The basement type.
homeFeatures[keywordSearch] Keyword Search
A free-text keyword search applied to listing descriptions.
rentalAmenities[] Rental Amenities
An array of rental amenities to filter the listings.
rentalOtherTerms[] Rental Other Terms
An array of additional rental terms.
pets[] Pets
An array of pet types allowed.
schools[greatSchoolRating] GreatSchools Rating
The minimum GreatSchools rating (1-10).
schools[schoolType][] School Type
An array of school types.
schools[includeUnratedSchools] Include Unrated Schools
If set to true, unrated schools will be included.
transportScores[walkScore] Walk Score
The minimum walk score (1-100).
transportScores[transitScore] Transit Score
The minimum transit score (1-100).
transportScores[bikeScore] Bike Score
The minimum bike score (1-100).
page Page
The page number of the results to retrieve.
TRY ALL 59 PARAMETERS FREE
Response

Every listing, one predictable schema

Each home comes back with the same keys, price, beds, baths, area, and a structured address. Map the fields once and forget about it.

properties.json
[
  {
    "id": 41552774,
    "mlsId": "B26056826",
    "url": "https://www.redfin.com/FL/Tamarac/8211-NW-91st-Ave-33321/home/41552774",
    "homeType": "House",
    "status": "FOR_SALE",
    "price": 475000,
    "currency": "USD",
    "beds": 4,
    "baths": 2,
    "area": 1909,
    "yearBuilt": 1974,
    "daysOnSite": 1,
    "address": {
      "street": "8211 NW 91st Ave",
      "city": "Tamarac",
      "state": "FL",
      "zipcode": "33321"
    },
    "image": "https://ssl.cdn-redfin.com/photo/106/islphoto/826/genIslnoResize.826.jpg"
  }
]
Fields in properties
id / mlsId number / string

Redfin ID and the MLS listing number

url string

Listing page on Redfin

homeType string

House, Condo, Townhouse, and so on

status string

FOR_SALE | PENDING | SOLD and variants

price / currency number / string

List price and its currency

beds / baths / area number

Bedrooms, bathrooms, and square footage

yearBuilt / daysOnSite number

Build year and days live on Redfin

address object

street, city, state, zipcode

What We Offer

An all-in-one scraping service

Every feature you need to collect data from thousands to millions of requests.

Loved by developers

Teams that deleted their scraper

Now it's the part of the pipeline they don't think about

4.8 ★★★★★
across 100+ reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.

Denver Sinclair
Denver Sinclair
Capterra Capterra ★★★★★

We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.

JN
Jacob N.
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Pricing

Plans that get cheaper at scale

Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.

Free
$0 /mo
One-time free trial
200 requests to start
1 concurrent request
Team seats
Community support
Start free
Startup
$41 /mo
$1.02 / 1k requests
40K requests / month
15 concurrent requests
Team seats
Email support
Get started
Business
Recommended
$83 /mo
$0.41 / 1k requests
200K requests / month
30 concurrent requests
Team seats
Priority email support
Get started
Enterprise
$208 /mo
$0.35 / 1k requests
50 concurrent requests
Team seats
Dedicated account manager
Get started
Monthly request volume
Free 200K 1M 4M 12M 20M
Best fit
Business
requests / mo
200K
Concurrency
30
$ / 1k requests
$0.41
$83 /mo
Get Started

Start with 200 free requests. No credit card required.

FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first request
is minutes away

200 requests free · no credit card