Zillow Real Estate Data API — 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-real-estate/search-properties Search US Properties by Location and Filters
Details
Search a city, ZIP code or address with location, then narrow the request with status, price, bed, bath, home-type, amenity and affordability filters. status accepts for_sale, for_rent or sold; result_type accepts list or map. page is one-based, with a documented maximum of 1000; cursor is an alternative continuation input. Keep filters consistent across pages and bound the total requests in your application. The observed Seattle list response contained success, data.results and data.total_count, plus a separate top-level pagination object with result_count, current_page, has_next and next_cursor. Listing fields included zpid, address, city, state, zipcode, price, beds, baths, sqft, home_type, status, zestimate, rent_zestimate, latitude, longitude and image/detail links. Three results were returned when page_size was 3. Estimates and individual fields can be null; the sample also contained negative days_on_zillow values, which should not be treated as reliable elapsed days. An impossible location returned HTTP 200 with success:false, error.code:INVALID_LOCATION, error.param:location and no property data. Distinguish that business failure from a valid location with no matching listings. Only the documented list example was live-verified; full filter combinations, map output and continuation behavior were not individually verified.
| 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 | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/autocomplete-location Suggest Locations and Zillow Region IDs
Details
Send query with at least two characters and an optional limit, which defaults to 10. Use this read to present a location selector before a listing or market query rather than automatically selecting the first textual match. The verified Seattle request with limit:3 returned success:true and three entries in data.suggestions. Each included type, region_type, display, region_id, sub_type, city, state, county, latitude and longitude, plus response meta. Seattle, WA was a city with region_id 16037; West Seattle was a flex_region and Capitol Hill was a neighborhood. Both coordinate fields were null in these suggestions. Save the selected geography type, display label and ID as request provenance. A later market response can still have an empty region-identity block; autocomplete does not prove that analytics confirmed that geography.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/search-by-coordinates Search Properties Within a Map Bounding Box
Details
Supply north, south, east and west as decimal-degree bounds for a rectangular search area. Although the schema marks these fields optional individually, a meaningful bounded search needs all four. This endpoint uses bounds, not latitude/longitude plus a radius. zoom defaults to 13. status, price, beds, baths, home_type and the documented amenity and affordability filters refine the area; page or cursor controls continuation. The documented result is a property-search collection for the supplied map bounds, with list or map output selected by result_type. No saved live response exists for this route, so exact collection fields, filter enforcement and continuation results are not verified here. Inspect the returned business result and resource identity before importing it. Deduplicate overlapping areas by returned property ID when available, and do not interpret a bounded result set as complete coverage of every home.
| 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 | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/search-by-zillow-url Resolve a Zillow Search, Property or Building URL
Details
Pass a full Zillow URL in url. The documented route accepts search links, property links containing a zpid and building links containing a building key, returning the corresponding search, property or building resource. Treat the result as a resource-dependent response, not a uniform list of properties. For search URLs, cursor is the documented continuation input. For property URLs, include is a comma-separated selection of photos, similar, nearby, schools, history, agent, affordability or zestimate_history. Those include options are property-only, not additional search filters or building attachments. No response for this URL route was live-verified, so inspect the returned resource type and identity before choosing a parser; do not assume every URL resolves or every requested attachment is populated.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/batch-search Submit Up to Ten Property Searches
Details
Send body as a JSON object containing a searches array with one to ten search-query objects. Each query carries its own location and supported filters; for example, a query can contain location, status, page and page_size. Keep an application-side association between every submitted query and its outcome. The documented contract allows HTTP 200 with partial failures: each search item has its own success or error outcome. This batch route was not live-verified, and its exact response field names and item ordering were not observed. Do not assume an HTTP-successful request means all searches worked, or merge failed and empty outcomes into one property collection. Retry selected failures only after inspecting their causes, within a client-defined request budget.
| Parameter | In | Value |
|---|---|---|
| body |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property Get Property Facts and Financials by Zillow ID
Details
Supply the numeric zpid of a property selected from search or another trusted public property reference. With no include, the verified response returned success:true and a data object containing zpid, status, home_type, year_built, price, currency, date_posted, address, location, financials, facts, listing, features, parking, rooms, flags, description, photo_count and nearby-place collections, plus response meta. The Seattle record matched the searched property, including its identifier, address and asking price. Observed financials included zestimate, rent_zestimate and last_sold_price; facts included beds, baths, sqft and lot_sqft. Some fields, including HOA and tax values, were null. The optional comma-separated include input documents photos, schools, similar, nearby, history, agent and affordability attachments; those attachment combinations were not verified. Returned text, photos and estimates are not guarantees of condition, rights or value. Critical existence caveat: a deliberately nonexistent zpid returned HTTP 200 with success:true, data.zpid:null, default OFF_MARKET status, null address/price/location and empty collections. Validate a nonnull matching zpid and meaningful address/facts before treating the response as a real property. OFF_MARKET and success:true alone do not establish existence.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/lookup-property-by-address Resolve an Address to Property Details
Details
Provide address as full or partial US address text. The documented result resolves a property and returns its details without requiring a zpid as input. include accepts the documented property sub-resources: photos, schools, similar, nearby, history, agent and affordability. Prefer a complete address when you need to distinguish a building, unit or similarly named street. This address route was not live-verified; no address-resolution precision, exact response field layout or not-found behavior is asserted. Preserve the submitted text and compare the returned property identity and address before accepting a match. The separate zpid detail route was observed returning null-filled success for a missing ID, so do not build address imports around success:true alone or silently resolve ambiguous units to a different property.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/batch-properties Fetch Details for Up to Fifty Property IDs
Details
Send body as a JSON object with a required zpids array containing one to fifty property IDs. Optional include is an array, not the comma-separated query string used by single-property reads. Documented values are photos, schools, similar, nearby, history, agent, affordability and zestimate_history. The documented response has separate success/error outcomes for each property and may return HTTP 200 with partial failures. No saved batch-property response is available, so exact item keys, ordering and attachment layout are unverified. Keep the submitted IDs and inspect each result's identity and outcome rather than treating HTTP 200 as a portfolio-wide success. The single-property route's null-filled success behavior is a reason to validate returned identities, not evidence that this batch route reports missing records the same way.
| Parameter | In | Value |
|---|---|---|
| body |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-features Inspect Home Amenities, Parking and Feature Flags
Details
Supply a known numeric zpid to request the documented feature-focused view: interior, exterior and community amenities, parking and notable flags. Use this when your task is comparing amenities rather than requesting a full property page. This dedicated route was not live-verified. A separate full-property response contained features, parking and flags sections with arrays, booleans and null values, but that does not establish the dedicated route's exact field layout. Inspect its result before building a parser. Retain unavailable attributes as unknown, preserve explicit false separately from missing data and confirm material accessibility or renovation details through independent due diligence.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-photos Retrieve a Selected Property Photo Carousel
Details
Pass a known zpid to request the documented photo-only resource: image URLs and a count for one property. This is intended for a listing carousel or image-availability check, not a property-facts lookup. The dedicated photo response was not live-verified, so its exact list and count field names are not asserted. Search results did contain image links and the verified full-property record contained photo_count, but neither establishes the separate photo route's schema. URLs and available images may change. A returned image link does not grant ownership, redistribution, model-training or commercial-display rights; confirm permitted use before downloading or displaying photos.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-neighborhood Get a Property Neighborhood and Nearby Areas
Details
Provide a known zpid for the documented neighborhood-focused resource: a neighborhood name and nearby cities, neighborhoods and ZIP codes. The input remains a property ID, not a city region ID or free-text neighborhood name. This dedicated route was not live-verified. Nearby-city, neighborhood and ZIP collections were seen on the separate full-property response, including entries with name and nullable url, but the dedicated route's exact response shape remains unverified. Use proximity data to suggest further research, not to claim administrative boundaries, demographic similarity or interchangeable market statistics.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-schools Research Schools Associated with a Property
Details
Supply a known zpid to request the documented school resource, including school records and available rating, level and distance summaries. Treat these as relocation research inputs, not authoritative enrollment decisions. No saved live school response is available, so exact field names, rating sources, coverage and assignment accuracy are not verified. School boundaries, admissions rules and eligibility can change independently of a property listing. Preserve missing ratings as unknown and confirm enrollment, program availability and boundaries directly with the relevant school district before advising a buyer or renter.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-building Get Apartment or Condo Building Details
Details
Use building_key for either a documented alphanumeric Zillow building key or a latitude,longitude pair in the same path field. A building key identifies a multi-unit building and is not a property zpid. The documented response covers building name, address, amenities, attributes, scores and available units. Optional include accepts comma-separated photos, schools, comps, floor_plans, nearby, market or reviews. This route has no saved live response; its exact unit schema, optional attachments and availability were not verified. Do not treat a returned available-unit set as a complete building rent roll or assume that every unit can be leased. Keep building-level records separate from any individual property IDs.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-price-history Review Property Price Events and Drop Summaries
Details
Pass a known zpid for the documented property price-history resource: dated price events with a minimum, maximum and drop summary. Use it to research how reported pricing changed for one home rather than to infer the movement of a regional index. This endpoint was not live-verified. Exact event keys, event-type taxonomy, available time range and summary calculations were not observed. Retain the date and event meaning supplied with each record; a listing-price adjustment is not automatically a closed transaction. Do not reconstruct missing events, treat gaps as no activity or promise a complete pricing archive.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-tax-history Review Historical Property Tax Entries
Details
Provide a known property zpid for the documented tax-history resource: historical entries with latest, minimum and maximum summaries. Use this read to support carrying-cost due diligence, keeping tax amounts, assessed values and years separate when supplied. No live tax-history response was saved. Its exact record keys, jurisdictional coverage, update timing and summary calculations are not verified. The separate verified property record had null tax fields, which must not be converted to zero. Past recorded taxes do not predict the liability after a purchase, reassessment, exemption change or local tax-rate change; verify material amounts with the relevant tax authority.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-hoa Inspect HOA Information and Cost Summaries
Details
Supply a known zpid to request the documented homeowners-association information and monthly/annual cost summary for a property. This is a property-specific cost resource, not a neighborhood fee estimate. The dedicated HOA route was not live-verified; exact fields, payment-frequency interpretation and coverage are unconfirmed. The verified full-property example contained hoa:null, which does not prove there is no association or no fee. Preserve absent fees as unknown, keep supplied billing periods visible and confirm dues, assessments, included services and current obligations with the association before a purchase.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-rent-estimate Research Property Rent Estimates and Confidence
Details
Pass a known zpid to request the documented property-level rental estimate, with source-aware consensus and a confidence tag when available. A home’s rent estimate is not ZORI, which measures regional rental conditions, and neither establishes a signed lease price. This endpoint was not live-verified. The documentation describes Zillow rent Zestimate as a candidate source, optional HUD rental benchmarks and confidence reflecting source discrepancy: high within 10%, medium within 25% or for a single source, and low otherwise. Available-source coverage and exact response fields are unverified; do not assume every source contributes or any additional ZIP-median estimate is supplied. Preserve missing sources and estimates rather than fabricating a consensus, and review local rental comparables before underwriting.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-property-mortgage-estimate Inspect a Property Modeled Monthly Payment
Details
Provide a known zpid to request the documented monthly-cost breakdown from the property affordability model. This route exposes only the property ID; it does not accept a caller-defined down payment, credit score, interest rate or lender quote input. No live response for this mortgage-estimate route was saved, so exact component keys, model assumptions and completeness are unverified. Preserve supplied assumptions and unavailable components, and label the result as a modeled estimate. It is separate from the mortgage-rate endpoint and does not establish approval, qualification, a rate lock or the actual payment a lender will offer.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-market-analytics Get Regional ZHVI, ZORI, Sales and Inventory Data
Details
Provide location text or a region_id; at least one is needed for an intentional region request even though both fields are individually optional in the schema. Use autocomplete to review available region types, and keep selected request geography separate from response-confirmed geography. Behavior when both inputs are supplied was not verified. The observed Seattle response contained success:true and data.region, home_values, rentals, sales, listings and neighbors, plus meta. home_values included zhvi, zhvi_yoy, zhvi_date, zhvi_history and an empty forecast array. rentals included zori, zori_date, zori_history, national_zori and national_zori_history. The two regional index histories each had 100 date/value/change_pct records. sales included median_sale_price, median_sale_price_date, median_sale_to_list, pct_sold_above_list, pct_sold_below_list and sales_history. listings included median_list_price, new_listings, for_sale_inventory, median_days_to_pending, listings_date and listings_history. Nine neighbors supplied region_id, name, zhvi and relative url fields. Counts and historical coverage can change. Every field in data.region was null despite populated analytics. Retain the requested city or selected region ID as request provenance, not a verified response label; sending region_id has not been demonstrated to fix the null block. ZHVI and ZORI were dated 2026-09-30, while median sale price was dated 2026-08-31. Store reporting dates per metric rather than assigning the retrieval date or one shared month to all values. ZHVI is not median sale price, ZORI is not an individual home’s rent and a regional snapshot is not a property appraisal.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-mortgage-rates Get Indicative Mortgage Rate and APR Assumptions
Details
Request an indicative mortgage rate using state, program, loan_type and credit_score. The documented defaults are US, fixed_30, conventional and very_high. state accepts a two-letter US state code or US; alternative program and bracket values were not enumerated or verified in the saved evidence. The verified default-parameter request returned success:true and numeric data.rate and data.apr, with program, loan_type, credit_score, state, loan_amount_bucket and loan_to_value_bucket echo/context fields, plus meta. Store these assumptions with the numeric values when comparing observations. The response contained no rate observation date: retrieval time does not establish that a rate is today’s or the freshest available. Treat the output as indicative research, not a personalized offer, rate lock or credit approval.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-mortgage-rate-history Research a Rolling Thirty-Day Mortgage Rate History
Details
Use program, loan_type and credit_score to request the documented rolling 30-day mortgage-rate history. Defaults are fixed_30, conventional and very_high. Unlike the rate read, this history route has no state parameter or arbitrary date-range input. No live history response was saved. Exact record keys, observation timestamps, missing-date behavior and the number of points returned were not verified. Keep a consistent loan program and bracket when comparing records, preserve actual returned dates when available and do not promise a multi-year archive or fill unobserved days with invented rates. Any longer history you maintain must be labeled as your own collected observations.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-agent Research a Known Agent Profile by Screen Name
Details
Supply a known public agent screen_name, not a display name, phone number or property ID. The documented profile resource includes available ratings, team information, service areas, licenses, sales statistics and social links. Use a screen name obtained from a public profile or an existing authorized directory; this project does not expose agent search. This profile route was not live-verified and its exact response keys or field completeness are not established. The omitted agent-discovery route returned missing performance metrics in the saved probe, which does not establish that this profile route’s statistics work. Preserve absent licenses and statistics as unknown and verify professional credentials independently before making a referral or business decision.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-agent-listings View an Agent’s Sale, Rental or Sold Listings
Details
Provide the public profile screen_name and choose type:sale, rent or sold. page is one-based and defaults to 1. include_team defaults to true and is documented to affect sale and rental inventory only; it is ignored for sold listings. This route was not live-verified. It is documented to return the agent’s property listings, but exact collection, pagination and listing field names were not observed. Keep the chosen type and team scope with every observation, and do not combine active inventory with closed-sale activity or assume an agent’s listed inventory proves production totals.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-agent-reviews Read Agent Reviews with Context Filters
Details
Supply screen_name and use page, page_size, sort and filter to request the documented review resource. page defaults to 1; page_size defaults to 10 with a documented maximum of 20. sort accepts newest, rating_high or rating_low. filter accepts all, buying, selling, buy_and_sell, connected, renting or no_response. No saved response for this route is available. Exact review keys, pagination totals and coverage were not verified. Keep the selected relationship filter and sort order with each sample, and do not describe a filtered page as every customer’s experience or infer that an absent review count means an agent has never been reviewed.
| Parameter | In | Value |
|---|---|---|
| path | ||
| query | ||
| query | ||
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-agent-team Inspect a Lead Agent’s Public Team
Details
Pass the lead agent’s screen_name to request the documented team resource, including members, available contact fields and aggregate statistics. This is a team read anchored on the lead profile, not a search for unrelated agents who share a brokerage name. The route was not live-verified: exact membership, contact and aggregate-statistic fields and freshness are unconfirmed. Keep team-level aggregates separate from individual member statistics; do not add the two together or assume roster membership establishes current employment, permission to contact or verified licensing.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/get-agent-contact Get Published Agent Contact and Office Information
Details
Supply a known public screen_name for the documented contact view. Available data can include phone numbers in E.164 and display form, email only when published, website, social links, brokerage office address and licenses. The actual response layout and contact completeness were not live-verified. An absent email or phone is unavailable, not permission to infer or reconstruct one. Public contact information does not authorize unsolicited outreach. Confirm applicable TCPA, Do-Not-Call and other legal requirements, respect consent and suppression preferences and verify professional credentials separately before using the information.
| Parameter | In | Value |
|---|---|---|
| path |
Request cost is temporarily unavailable. No price is assumed.
/api/project/zillow-real-estate/batch-agent-contacts Resolve Public Contact Fields for Multiple Agents
Details
Send body as a JSON object containing a screen_names array of known public agent profile names. Use names already held in an authorized directory or chosen for a legitimate research task. The source documentation does not provide a numeric batch maximum; keep client batches bounded and handle validation errors rather than inventing a fixed limit. The documented per-item status is ok, not_found or error, so one failed agent need not invalidate the other outcomes. This route was not live-verified; exact response layout, returned contact fields and item ordering are not established. Preserve each input’s outcome and absent fields, and honor consent, Do-Not-Call and suppression requirements. Batch access to public information is not permission for unsolicited outreach.
| Parameter | In | Value |
|---|---|---|
| body |
Request cost is temporarily unavailable. No price is assumed.