Zillow Real Estate Data — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/zillow/search Search Listings by City, ZIP or Neighborhood
Details
Search live US and Canada listings by a free-text location (city, county, neighborhood or ZIP code) with rich filters. Verified live with Los Angeles, CA, which returned 41 real listings on page 1. The response envelope carries status (OK/ERROR), a request_id, an echo of your parameters, and a data array of listing cards. Each card includes zpid, full address fields (address, streetAddress, city, state, zipcode), price and currency, zestimate and rentZestimate, bedrooms, bathrooms, livingArea, lot size (lotAreaValue/lotAreaUnit), daysOnZillow, latitude/longitude, homeType, statusType/statusText, imgSrc photo and a detailUrl. Use home_status to switch between FOR_SALE, FOR_RENT and RECENTLY_SOLD inventory, and sort (NEWEST, PRICE_LOW_HIGH, etc.) to order results. Each page returns up to 41 listings (pages 1-100). A valid filter that matches nothing returns HTTP 200 with data:[]; an unrecognizable location returns a precise 'Invalid location' error. Keep price ranges plausible — absurd values (e.g. a trillion-dollar minimum) can trigger a temporary 503 instead of an empty result.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/zillow/search-by-coordinates Search Listings Around a Map Point
Details
Radius search for listings around a latitude/longitude center: pass lat, long and a diameter in miles (0.1-100, default 1.0). Verified live around Santa Monica (34.01822, -118.504744), which returned real condos at the point. The response uses the same envelope and listing-card schema as the location search: status, echoed parameters, and a data array with zpid, address, price, zestimate, bedrooms, bathrooms, livingArea, latitude/longitude, homeType, imgSrc and detailUrl per listing. All listing filters from the location search (home_status, sort, price, beds, baths, sqft, lot, HOA, home type) apply here too, and each page returns up to 41 results.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/zillow/search-by-polygon Search Listings Inside a Custom Map Polygon
Details
Draw-your-own-area search: pass polygon as comma-separated coordinate pairs, each pair longitude first then latitude with a space between (lng1 lat1,lng2 lat2,...). The shape closes automatically if the last pair differs from the first, so irregular boundaries — a school district, a neighborhood outline, a flood zone — work directly. Results follow the same envelope and listing-card schema as the other searches: status, echoed parameters, and a data array with zpid, address, price, zestimate, beds, baths, living area, geo point, photo and detailUrl per listing. All standard filters (home_status, sort, price, beds, baths, sqft, lot, HOA, home type) and pagination apply. A ready-to-use example polygon is pre-filled so you can see the format working before drawing your own.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/zillow/property-details Get Full Property Details by ID
Details
Resolve a property ID (zpid) — or a full listing-page URL — into a comprehensive fact sheet. zpids come from any search result card or from the tail of a detailUrl. Verified live: the details for a search hit returned the same address and price as the search card, plus the deep resoFacts block. The data object includes price, streetAddress, city, state, zipcode and resoFacts with bedrooms, bathrooms (full/half breakdown), appliances, associations (HOA name, fee and phone), associationFee, atAGlanceFacts, accessibility features, parking, year-built style fields and more. Field population varies by property — preserve nulls instead of inventing values. This is the enrichment step after search: search for candidates, then hydrate the ones a user actually opens.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/zillow/property-by-address Get Property Details by Street Address
Details
Resolve a plain street address into the same comprehensive property fact sheet as the ID-based lookup — no zpid required. Verified live with 1443 Bellevue Ave Los Angeles, CA 90026, which returned the matching home (4 bed / 3 bath, built 1910) with its current price. The data object carries price, streetAddress, city, state, zipcode and the resoFacts block (bedrooms, bathrooms with full/half breakdown, appliances, associations, parking and more), with the same per-property field variability. Ideal when your input is an address from a form, mailing list or spreadsheet rather than an ID from a prior search.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/zillow/property-zestimate Get the Current Zestimate for a Property
Details
Return the current estimated market value (Zestimate) for a property by zpid or listing-page URL. Verified live: the estimate for a search-sourced zpid exactly matched the zestimate field on that property's search card, so search snapshots and point lookups stay consistent. The response is deliberately small — data contains the zestimate number — making this the cheapest way to refresh valuations across a portfolio on a schedule. zpids come from search result cards or the tail of a detailUrl. Pair with the rentZestimate field already present on search cards when you need rental estimates too.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/zillow/agent-search Search Real Estate Agents by City
Details
Search the reviewed agent directory for any US city using a city-state slug such as new-york-ny or los-angeles-ca, with an optional name filter. Verified live for New York, which reported 70,685 agents and returned real profiles on page 1. The data object carries total_agents plus an agents array (up to 15 per page) where each agent includes cardTitle (display name), encodedZuid (the stable agent identifier), imageUrl, isTopAgent, tags (e.g. TEAM), profileData stats (formatted sales counts and price ranges with labels) and reviewInformation (reviewAverage and reviewCount). Use page to walk the directory. encodedZuid is the identifier other agent-scoped surfaces key off, so persist it with each agent record.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |