Zillow API
The Zillow API returns US real-estate data — for-sale, rental and sold listings — as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns properties with zpid, URL, list price, status, type, beds, baths, square footage, lot size, the Zestimate and the rent estimate — the data you would otherwise scrape from a Zillow search page. You can also search by coordinates or by URL, pull a full property_detail, run comps, list sold history and fetch agent profiles. It is built for real-estate investors, brokerage tools and property dashboards that need live listing and valuation data without fighting Zillow's anti-bot defenses. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/zillow/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"location": "Austin, TX"
}
}{
"ok": true,
"meta": {
"api": "zillow",
"endpoint": "search",
"mode": "live",
"latency_ms": 4621.2,
"record_count": 41,
"bytes": 1146281,
"cache_hit": false,
"completeness_pct": 100,
"completeness_fields": 12,
"completeness_basis": "search",
"location": "Austin, TX",
"map_bounds": {
"west": -98.246758,
"east": -97.346758,
"south": 29.93245,
"north": 30.63245
},
"filters_applied": null
},
"data": {
"items": [
{
"zpid": 80104300,
"source": "zillow",
"url": "https://www.zillow.com/homedetails/8112-Alophia-Dr-Austin-TX-78739/80104300_zpid/",
"list_price_usd": 665000,
"price_display": "$665,000",
"status": "FOR_SALE",
"status_text": "Active",
"property_type": "SINGLE_FAMILY",
"beds": 4,
"baths": 2,
"sqft": 2119,
"lot_sqft": 9234.72,
"zestimate_usd": null,
"rent_zestimate_usd": null,
"tax_assessed_value_usd": 597390,
"days_on_market": 1,
"address_line": "8112 Alophia Dr",
"city": "Austin",
"state_code": "TX",
"postal_code": "78739",
"address": "8112 Alophia Dr, Austin, TX 78739",
"latitude": 30.190031,
"longitude": -97.92381,
"broker_name": "ERA Experts",
"is_showcase": true,
"photos": [
"https://photos.zillowstatic.com/fp/eb04dde0c5f6d674004e7c81fe6ccfb5-p_e.jpg"
]
},
{
"zpid": 29411152,
"source": "zillow",
"url": "https://www.zillow.com/homedetails/7303-Geneva-Dr-Austin-TX-78723/29411152_zpid/",
"list_price_usd": 499000,
"price_display": "$499,000",
"status": "FOR_SALE",
"status_text": "Active",
"property_type": "SINGLE_FAMILY",
"beds": 4,
"baths": 2,
"sqft": 2225,
"lot_sqft": 8703.288,
"zestimate_usd": null,
"rent_zestimate_usd": null,
"tax_assessed_value_usd": 408693,
"days_on_market": 72,
"address_line": "7303 Geneva Dr",
"city": "Austin",
"state_code": "TX",
"postal_code": "78723",
"address": "7303 Geneva Dr, Austin, TX 78723",
"latitude": 30.321936,
"longitude": -97.6741,
"broker_name": "Compass RE Texas, LLC",
"is_showcase": true,
"photos": [
"https://photos.zillowstatic.com/fp/c9e61505b9497365eb4fe60cf95a8fde-p_e.jpg"
]
},
{
"zpid": 29481606,
"source": "zillow",
"url": "https://www.zillow.com/homedetails/6901-Breezy-Pass-Austin-TX-78749/29481606_zpid/",
"list_price_usd": 669000,
"price_display": "$669,000",
"status": "FOR_SALE",
"status_text": "Active",
"property_type": "SINGLE_FAMILY",
"beds": 3,
"baths": 2,
"sqft": 1708,
"lot_sqft": 9679.032,
"zestimate_usd": null,
"rent_zestimate_usd": null,
"tax_assessed_value_usd": 542000,
"days_on_market": 44,
"address_line": "6901 Breezy Pass",
"city": "Austin",
"state_code": "TX",
"postal_code": "78749",
"address": "6901 Breezy Pass, Austin, TX 78749",
"latitude": 30.229353,
"longitude": -97.877014,
"broker_name": "LPT Realty, LLC",
"is_showcase": true,
"photos": [
"https://photos.zillowstatic.com/fp/bfe64360c88fd4e3359cbd4ae3ae3576-p_e.jpg"
]
}
],
"count": 41,
"map_pins": [
{
"zpid": "80104300",
"latitude": 30.190031,
"longitude": -97.92381,
"price_display": "$665,000"
},
{
"zpid": "29411152",
"latitude": 30.321936,
"longitude": -97.6741,
"price_display": "$499,000"
},
{
"zpid": "29481606",
"latitude": 30.229353,
"longitude": -97.877014,
"price_display": "$669,000"
}
],
"total_reported": 5932,
"pages_fetched": 1,
"tiles_fetched": null,
"stop_reason": "max_pages",
"partial": false,
"location": "Austin, TX",
"status": "for_sale",
"filters_applied": null,
"harvest_note": "SRP caps ~860 listResults/~500 map pins per box; fetch_all bbox-tiles to exceed (faceted-search-pagination)."
}
}What the Zillow API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search listings by location (for sale / for rent / recently sold), with structured filters: price, beds, baths, home type, sqft, lot, year built, HOA, days-on-market and keywords. | Real-estate investors call search to search listings by location (for sale / for rent / recently sold), with structured filters. | location, status, max_pages, fetch_all, max_results, ... |
| search_by_coordinates | Search listings inside exact map bounds (returns more than the standard ~860-result cap), with the same structured filters as search. | Brokerage tools call search_by_coordinates to search listings inside exact map bounds (returns more than the standard ~860-result cap), wit…. | map_bounds, status, max_pages, fetch_all, max_results, ... |
| search_by_url | Run any copied Zillow URL: a search URL replays that exact search (with its filters); a property URL routes to the full property detail. | Property dashboards call search_by_url to get run any copied Zillow URL. | url |
| property_detail | Full property record: Zestimate (+history), price & tax history, schools, walk/transit/bike scores, agent, photos, RESO facts. Batch several with zpids[]. | Lead-generation teams call property_detail to get full property record. | zpid, zpids, url |
| comps | Comparable homes near a property (synthesized similar-listing search, scored by distance/beds/sqft). | Real-estate investors call comps to get comparable homes near a property (synthesized similar-listing search, scored by distance/beds…. | zpid, url, radius_deg, max_comps |
| sold | Recently-sold listings (last 12 months) by location or map bounds, with the same structured filters as search. | Brokerage tools call sold to get recently-sold listings (last 12 months) by location or map bounds, with the same structured f…. | location, map_bounds, max_pages, fetch_all, max_results, ... |
| agent | Listing agent + broker attribution for one property (agentInfo). | Property dashboards call agent to get listing agent + broker attribution for one property (agentInfo).. | zpid, url |
| agent_profile | An agent's full portfolio: profile info + their for-sale/sold listings + reviews (browser-rendered; slower). | Lead-generation teams call agent_profile to get an agent's full portfolio. | username, profile_url, zuid, url |
| agents_by_location | Real-estate agent directory for a location, with review summaries. | Real-estate investors call agents_by_location to get real-estate agent directory for a location, with review summaries.. | location |
| autocomplete | Location autocomplete — suggest Zillow regions and addresses for a free-text query (city, ZIP, neighborhood, county or street). Use it to resolve a fuzzy term before searching, or to power a search box. | Brokerage tools call autocomplete to get location autocomplete. | query |
| market_trends | Region market metrics: ZHVI home-value index, median sale/list price, inventory, days-to-pending, % sold above list, rent index. | Property dashboards call market_trends to get region market metrics. | location |
| walk_transit_bike | Zillow Walk Score, Transit Score and Bike Score for a property — walkability, public-transit access and bikeability (0-100) with a description for each. | Lead-generation teams call walk_transit_bike to get zillow Walk Score, Transit Score and Bike Score for a property. | zpid, url |
| home_value_chart | Zillow home-value history — the Zestimate value-over-time series for a property (monthly home value, up to the last 10 years, with the latest forecast point). | Real-estate investors call home_value_chart to get zillow home-value history. | zpid, url, time_period |
Call search from your stack
curl -X POST https://api.reefapi.com/zillow/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"location":"Austin, TX"}'import requests
r = requests.post(
"https://api.reefapi.com/zillow/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"location": "Austin, TX"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/zillow/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"location": "Austin, TX"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.zillow.search with {"location":"Austin, TX"}.Who uses this API and why
- Real-estate investors call search then comps to find and value properties in a target market.
- Property dashboards use property_detail and the Zestimate to enrich a listing with price and rent estimates.
- Lead-gen tools use agent and sold to identify active agents and recent transactions in an area.
Questions developers ask before integrating
What is the Zillow API?
Zillow API is a ReefAPI endpoint group for us homes with prices, history and estimates. It returns live JSON through POST requests under /zillow/v1.
Is the Zillow API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Zillow calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Zillow login or account?
No login to Zillow is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Zillow data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Zillow API use?
Zillow actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Zillow from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call zillow actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Zillow API a Zillow scraper?
It is the managed alternative to a DIY Zillow scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same us homes with prices, history and estimates back as clean JSON.
Why does my Zillow scraper keep getting blocked?
Most Zillow scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.