# Redfin Scraper API — $0.0008 per listing

> Redfin Scraper API: Redfin properties for a US ZIP — price, beds, baths, sqft, MLS id. $0.0008 per delivered listing, nothing delivered means nothing charged.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*Redfin Scraper API*

# Redfin Scraper API

A Redfin scraper API that takes a US ZIP code and returns its for-sale listings: full address split into fields, price, beds, baths, living area, lot size, property type, status, MLS id, coordinates, photo and the listing URL. One fetch returns everything the region’s API gives up — up to 350 homes where the visible page shows 41 — with none of the advertisement cards mixed in.

By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData · Published Aug 21, 2026 · Updated Sep 3, 2026

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/redfin-scraper-api/#integration)

$0.0008 per delivered listing · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/redfin_search/run

```
$ curl $QD/redfin_search/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"location": "78701", "max_results": 100}'
{ "status": "done", "count": 100,
  "results": [
    {
      "mls_id": "…",
      "address": "…",
      "street": "…",
      "city": "…" } ],
  "cost": 0.08 }
# 100 listings × $0.0008 · nothing delivered, nothing charged
```

You send location and country; the run goes out through a residential exit and comes back as listings with rank, mls_id and address — 19 fields on every row — and you are billed $0.0008 for each listing actually delivered, nothing for a run that delivers none.

**$0.0008 / listing**2,500 listings on the free $2 every month

**Semantic input**location, country, max_results — no URL lists

**Up to 350**listings per run, pagination handled for you

**No browser**read over HTTP/TLS — cheaper and faster than rendering

On this page: [Try it](/collectors/redfin-scraper-api/#try) [What it is](/collectors/redfin-scraper-api/#what) [Limits](/collectors/redfin-scraper-api/#caps) [Output fields](/collectors/redfin-scraper-api/#output) [Inputs](/collectors/redfin-scraper-api/#input) [Pricing](/collectors/redfin-scraper-api/#pricing) [Integration](/collectors/redfin-scraper-api/#integration) [Use cases](/collectors/redfin-scraper-api/#use-cases) [Versus the alternatives](/collectors/redfin-scraper-api/#compare) [FAQ](/collectors/redfin-scraper-api/#faq)

Try it

## Redfin listings, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

[Get my free API key](https://app.quanticdata.io/register)

## What a Redfin scraper API does

Redfin server-renders the replies to the API calls its page would otherwise make from the browser, and the listings sit in that embedded cache under the region’s GIS entry. That is the whole reason this collector is cheap: a single fetch carries every home the region will return, so there is no pagination to walk. The DOM would need nine page fetches for the same rows and would hand back advertisement cards among them and carousel images misaligned against listings; the JSON contains neither.

The cache is guarded the classic way — every value is prefixed with `{}&&` so it is invalid JavaScript to a script include — and has to be stripped before parsing rather than parsed around. Fields arrive wrapped as `{ value, level }`, where `level` is an access flag for Redfin’s own tiering; the collector reads `value` on every field and delivers coordinates, MLS id and lot size exactly as the API states them.

Input is meaning, not a URL *location* *country* *max_results*

## Limits, in plain numbers

Everything that bounds one run of this collector. No hidden throttles.

Max per run

350 listings

Price

$0.0008 / listing

Per 1,000

$0.80

Failed runs

Free zero rows, zero charge

Free every month

$2 no card

Rate limit

60 req/min on the free tier

## What one listing looks like

Every delivered listing carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

| Field | Type | What it holds |
| --- | --- | --- |
| `rank` | integer | 1-based position in Redfin's order. |
| `mls_id` | string · nullable | MLS listing id. |
| `address` | string · nullable | Full address on one line. |
| `street` | string · nullable | Street line, including unit when present. |
| `city` | string · nullable | City. |
| `state` | string · nullable | State code. |
| `zipcode` | string · nullable | ZIP code. |
| `price` | number · nullable | Asking price. Null on Coming Soon listings, which have none yet. |
| `beds` | number · nullable | Bedrooms. |
| `baths` | number · nullable | Bathrooms, half baths included (e.g. 4.5). |
| `area_sqft` | number · nullable | Living area in sqft. Null on land. |
| `lot_size` | number · nullable | Lot size. Null on condos. |
| `property_type` | string · nullable | House, Condo/Co-op, Townhouse, Multi-Family or Land. |
| `status` | string · nullable | MLS status (Active, Coming Soon, New…). |
| `latitude` | number · nullable | GPS latitude. |
| `longitude` | number · nullable | GPS longitude. |
| `listed_by_redfin` | boolean | Brokered by Redfin itself. Descriptive, not a sponsored placement. |
| `image` | string · nullable | Primary photo URL, built from the listing's ids the way Redfin builds it. |
| `url` | string · nullable | Listing page URL. |

## Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `location` | string | yes | US ZIP code, e.g. "78701". A full address containing a ZIP works too — the ZIP is what Redfin keys on. |
| `country` | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
| `max_results` | integer | no | How many listings to deliver at most (1–350). You pay only for delivered listings. |

Pricing

## Redfin Scraper API pricing

$0.0008 per delivered listing. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 2,500 listings before you spend anything.

**$0.0008**per delivered listing*$0.8 per 1,000 delivered listings*

**2,500 listings**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/redfin_search/run`.

```
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/redfin_search/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"78701","max_results":100}'
```

```
import requests

r = requests.post(
    "https://api.quanticdata.io/v1/scraper/collectors/redfin_search/run",
    headers={"Authorization": f"Bearer {QD_API_KEY}"},
    json={
        "location": "78701",
        "max_results": 100
    },
    timeout=120,
)
for row in r.json()["payload"]["results"]:
    print(row)
```

```
const res = await fetch(
  "https://api.quanticdata.io/v1/scraper/collectors/redfin_search/run",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.QD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"location":"78701","max_results":100}),
  },
);
const { payload } = await res.json();
console.table(payload.results);
```

```
claude mcp add quanticdata \
  -e QUANTICDATA_API_KEY=qd_live_your_key_here \
  -- npx -y quanticdata-mcp

# then, in the chat:
> run the redfin_search collector with location="78701" and max_results=100
```

## What people build with the Redfin scraper API

Three shapes of work this endpoint was designed around.

### ZIP-level market snapshots

Every active listing in a ZIP with price, beds, baths and sqft in one run — price per square foot by ZIP without a crawler.

### Cross-portal matching

MLS id and split address on each row, so Redfin listings join cleanly to the Zillow collectors on the same homes.

### Inventory monitoring

Re-run a ZIP weekly and diff by `mls_id`: new listings, price cuts and homes gone pending, from `price` and `status`.

## Redfin Scraper API versus rolling your own

The differences that actually cost time when you build this in-house.

|  | DIY scraper | This collector |
| --- | --- | --- |
| Fetches per ZIP | Nine pages of cards | One — the embedded API reply carries the whole region |
| Ads | Advertisement cards in the grid | None: the JSON has no ads |
| Photos | Carousel images misaligned with listings | The listing’s own photo URL |
| Identity | Address text | MLS id, split address, coordinates |

## What people search for

Live autocomplete demand around Redfin listings, pulled with our own Keyword ideas collector.

Searches: [redfin scraper github](/collectors/redfin-scraper-api/#try) [redfin scraper api](/collectors/redfin-scraper-api/#try) [redfin scraper python](/collectors/redfin-scraper-api/#try) [redfin scraper reddit](/collectors/redfin-scraper-api/#try) [redfin data scraper](/collectors/redfin-scraper-api/#try) [apify redfin scraper](/collectors/redfin-scraper-api/#try) [redfin api](/collectors/redfin-scraper-api/#try) [scrape redfin](/collectors/redfin-scraper-api/#try) [redfin scraping](/collectors/redfin-scraper-api/#try) [redfin scrape](/collectors/redfin-scraper-api/#try)

The same call you would paste into a terminal: a Bearer key, location and country in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many listings arrived and usage.cost_usd is $0.08, which is 100 × $0.0008. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

## Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

- [Redfin: the Data Center, published housing market data](https://www.redfin.com/news/data-center/)

- [Schema.org: the RealEstateListing type](https://schema.org/RealEstateListing)

- [RESO: the Data Dictionary for real estate listings](https://www.reso.org/data-dictionary/)

## FAQ

Questions we get about the Redfin scraper API.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Does Redfin have a public API?

No public one. The page embeds the replies to its own internal API, and that is what this collector reads — no key, no login, no browser.

### Why a ZIP and not a city?

Because that is the region shape whose embedded reply carries the complete list in one response. A ZIP returns up to 350 homes in a single fetch; that is the cap on `max_results`.

### Does it include rentals or sold homes?

It reads the for-sale search for the ZIP. `status` is stated per row, so pending and contingent homes are labelled rather than dropped.

### How does it relate to the Zillow collectors?

Same homes, different portal: match on `mls_id` or the split address and compare price and status side by side.

### Is there a free Redfin scraper API?

Every account gets $2 of credit every month with no card, which is about 2,500 delivered listings on this endpoint at $0.0008 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

### How much does one run cost?

Multiply the rows you actually receive by $0.0008. A run capped at 350 listings — the maximum for this collector — costs $0.28 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and `GET /v1/scraper/collectors` returns the price your key actually pays.

## Run the Redfin scraper API now

$2 of free credit every month, no card. Your key returns its own prices from `GET /v1/scraper/collectors`.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 100 collectors](https://quanticdata.io/collectors/) [Zillow scraper API](https://quanticdata.io/collectors/zillow-scraper-api/) [Zillow Property API](https://quanticdata.io/collectors/zillow-property-api/) [Idealista Scraper API](https://quanticdata.io/collectors/idealista-scraper-api/) [Real estate data scraping](https://quanticdata.io/real-estate-data-scraping/) [Documentation](https://quanticdata.io/docs/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Browser AI Agents](https://quanticdata.io/browser-ai/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/collectors/redfin-scraper-api/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
