Zillow scraper API

A Zillow scraper API turns a US location into structured property listings — zpid, the full address split into street, city, state and ZIP, price, beds, baths, living area, lot size, home type, listing status, Zestimate and rent Zestimate, days on Zillow, broker, coordinates, photo and listing URL.

Three statuses from one input: for_sale, for_rent or recently sold. Up to 500 listings per run — the deepest cap in the catalogue, because real-estate analysis needs whole markets rather than samples. Read from the page's own data payload on the TLS tier, with no browser anywhere in the run.

$0.001 per delivered listing, up to 500 listings per run. Nothing delivered means nothing charged.

How the Zillow scraper API works

You send a location as a person would write it — "Austin, TX", a ZIP code, a neighbourhood — and a status. The collector reads Zillow's search payload and returns one row per property.

The address arrives both ways: address as the full string and street, city, state and zipcode as separate fields. That saves the address-parsing step that quietly consumes a day of anyone's project, and it makes joins against other datasets possible without a normalisation library.

Both Zestimates come through — zestimate and rent_zestimate — which together with price is what makes yield analysis a single query. And latitude and longitude arrive parsed, so the output is directly mappable without geocoding a few hundred addresses first.

Inputs

location is required and is free text — city and state, ZIP, or neighbourhood. status selects for-sale, for-rent or recently-sold; recently-sold is the one people forget, and it is the only status that tells you what buyers actually paid rather than what sellers are asking. max_results caps delivery up to 500 and is your budget control.

What one listing looks like

One row per listing. price_value is numeric next to the display price. zestimate and rent_zestimate are Zillow's own estimates — treat them as one model's opinion rather than as market truth, but the gap between asking price and Zestimate is a useful screening signal. days_on_zillow indicates how stale a listing is, which correlates with negotiating room. zpid is Zillow's stable property id, so tracking one property across runs is an exact match rather than a fuzzy address join.

What the Zillow scraper API costs

$0.001 per delivered listing ($1 per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 2,000 listings here. Volume tiers take up to 30% off.

$0.001 per delivered listing, $1 per 1,000. A full sweep of a metro area at 500 listings is 50 cents. Tracking 40 markets daily at 200 listings each is 8,000 rows, $8 a day.

The 500-per-run cap means a whole small market fits in one call, which keeps the request count — and therefore the rate-limit pressure — low. Blocked pages and retries are never billed.

Zillow scraper API vs the Zillow and MLS APIs

Zillow's public API programme has been progressively closed. The old GetSearchResults and Zestimate endpoints that powered a generation of side projects were retired, and what remains is oriented toward partners: Bridge Interactive for MLS data distribution, and partner programmes for lenders and agents. There is no self-serve Zillow API that returns search results.

The MLS route is the genuine professional alternative and it is worth being clear about what it costs. MLS access means being a licensed real-estate professional or partnering with one, per-MLS agreements across hundreds of regional MLSs, RESO Web API integration, and fees. In exchange you get authoritative, contractually clean data with agent-level fields Zillow never shows. If you are building a licensed brokerage product, that is the correct path and this is not a substitute.

For research, screening, market analysis and lead generation, public listing data is what is realistically available.

Versus scraping Zillow yourself

Zillow is one of the more actively defended sites on the public web, and its history here is worth knowing: it has pursued scrapers legally as well as technically. On the technical side:

This collector handles the exits, the retries and the pagination, and returns addresses pre-split.

What people build with it

Investment screening

Filter a whole market on price against rent_zestimate to shortlist yield candidates, then look at days_on_zillow for negotiating room.

Market trend analysis

Track median price, inventory count and days-on-market per ZIP over time. Recently-sold status is what tells you the transacted price rather than the ask.

Comparative market analysis

Pull comparable properties by beds, baths and area within a ZIP for a defensible valuation.

Lead generation for agents

Long days-on-market listings are the ones whose owners are most receptive to a conversation.

Limits, reliability and the legal bit

Up to 500 listings per run, the deepest cap in the catalogue. US only — the collector targets Zillow's US market. Broader coverage means more locations, parallel up to your plan's rate limit (60 requests/minute on pay-as-you-go, up to 1,200 on the top tier).

Legally, treat this collector with more care than most. Listing data is publicly displayed, and US courts have generally declined to treat scraping public pages as unlawful access — but Zillow's terms explicitly prohibit automated collection and Zillow has historically been willing to enforce them. Listing photos and descriptions are copyrighted by the listing agent or brokerage, so republishing is a different matter from analysing. Agent and broker names are personal data. Genuinely take advice before building a commercial product on this; this is not it.

FAQ

Does Zillow have a public API?

Not a self-serve one. The old GetSearchResults and Zestimate endpoints were retired, and what remains is partner-oriented — Bridge Interactive for MLS distribution, and programmes for lenders and agents. There is no current public API that returns Zillow search results.

Is there a free Zillow scraper API?

There is a free allowance of $2 a month with no card, about 2,000 delivered listings at $0.001 each — enough to sweep several small markets before spending anything.

How much does it cost?

$0.001 per delivered listing — $1 per 1,000 — with no subscription. A whole metro sweep at the 500-listing cap is 50 cents. Volume tiers take up to 30% off, and blocked pages are never billed.

Can I get sold prices?

Yes — set status to recently sold. It is the status people forget and often the most valuable one, because it shows what buyers actually paid rather than what sellers are asking.

Does it return the Zestimate?

Both of them: zestimate and rent_zestimate. They are Zillow's own model outputs, so treat them as one opinion rather than as market truth — but the spread between asking price and Zestimate is a useful screening signal, and price against rent Zestimate makes yield a single query.

How many listings can one run return?

Up to 500, the deepest cap of any collector here. Real-estate analysis usually needs a whole market rather than a sample, and a bigger cap also means fewer requests and less rate-limit pressure.

Is scraping Zillow legal?

This is the collector where the answer deserves the most care. US courts have generally declined to treat scraping publicly accessible pages as unlawful access, but Zillow's terms explicitly prohibit automated collection and Zillow has been willing to enforce them. Photos and descriptions are copyrighted by the brokerage. Get real legal advice before building a commercial product on it.

Related scrapers

If you're an AI agent

Skip the marketing. QuantumProxies.io publishes a machine-readable site map, Markdown for every page, a free MCP server, and APIs billed from the same balance as your proxies.

Connect in one command: npx -y quantumproxies-mcp