The Zestimate is the single most requested field in property data. Investors screen deals with it, lenders sanity-check collateral with it, and proptech products display it because users expect to see it. So it is no surprise that "Zestimate API" is one of the most common searches that leads developers to us.
Here is the short version: Zillow does not offer a public Zestimate API anymore, but you can still get Zestimates programmatically for any US address. This guide shows exactly how — and documents a gotcha that surprises almost everyone the first time: the Zestimate is often null for homes that are actively listed for sale.
What happened to Zillow's GetZestimate API?
Zillow used to run a public API program with a GetZestimate endpoint. Developers registered for a ZWSID key, called the endpoint with a property ID, and got the Zestimate back in XML. Zillow shut that program down in 2021 and moved data access to Bridge Interactive, its enterprise data platform, which requires an application, approval, and typically MLS affiliation.
For an individual developer, a small team, or even most mid-size proptech companies, that path is a non-starter. If you want the details on what replaced the public program, we cover it in Does Zillow have an API in 2026?
How to get Zestimates by address today
Third-party property data APIs fill the gap. APIllow returns the zestimate and rent_zestimate fields — along with 50+ other fields like price history, tax history, and school ratings — for any address, with a free tier of 50 requests per month.
One request, by street address:
The response includes the valuation fields alongside the rest of the property record:
If you work in Python, the 5-minute Python tutorial walks through the same flow with requests, including polling for large batches.
The gotcha: Zestimates are often null on active listings
This is the part almost no one documents. If you request an actively listed home — status FOR_SALE or FOR_RENT — the zestimate field frequently comes back null. The first assumption is always "the API is broken." It is not. Zillow suppresses the Zestimate on many active listings, showing the list price instead, and the underlying data reflects that: across our production traffic, active listings routinely return a null Zestimate while sold and off-market homes return a populated one.
The practical pattern for a robust integration:
| Listing status | Zestimate field | Use this for valuation |
|---|---|---|
| FOR_SALE / FOR_RENT (active) | Usually null |
price (the list price) |
| SOLD | Populated | zestimate + last_sold_price |
| OFF-MARKET | Populated | zestimate — this is where it shines |
In code, that's a three-line fallback:
If your workload is mostly off-market valuation — driving-for-dollars lists, direct-mail targeting, portfolio marks — the Zestimate is available exactly where you need it. If your workload is active-listing analysis, the list price is the better signal anyway.
Rent Zestimates work the same way
The rent_zestimate field is Zillow's estimated monthly rent. Rental investors use it for quick cash-flow screens: pull a batch of addresses, compute rent_zestimate * 12 / zestimate for a gross yield, and sort. Because both fields arrive in the same payload as beds, baths, square footage, and tax history, one API call per property covers a full first-pass underwrite.
How accurate is the Zestimate?
Zillow publishes its own error statistics: a median error rate of roughly 2% for on-market homes and roughly 7% for off-market homes. Two practical implications:
- Screening, not appraisal. A 7% median error on a $400K home is ±$28K — useful for ranking a list of 500 candidates, not for setting a final offer price.
- Combine signals. The same API response carries
price_history,tax_history, and recent-sale data, so you can cross-check the Zestimate against what the county assessed and what the home last traded for.
Batch Zestimates for thousands of addresses
Address lists come in batches, and the API accepts them that way — up to 1,000 properties per request. Send the batch, get a job_id, poll for results:
If the goal is a spreadsheet rather than an app, the Excel/CSV export guide turns this exact flow into a ready-to-use script.
What this costs
Zestimate lookups are priced like any other property lookup: the free tier includes 50 requests a month, and paid plans work out to roughly $0.002–$0.003 per property. The full breakdown — including how the math compares to enterprise data contracts — is in the pricing comparison.
Get Zestimates for any address
Free tier, no credit card. Your first Zestimate is one POST request away.
Get API KeyRelated reading
- Does Zillow have an API in 2026?
- Zillow API Python tutorial
- Export Zillow data to Excel or CSV
- Zillow API pricing comparison
Final takeaway
There is no public Zestimate API from Zillow, but Zestimates are still one API call away. Just build for the one quirk that matters: active listings usually return a null Zestimate — use the list price there, and let the Zestimate do its real job on off-market homes.