Search US Properties by Location and Filters
View all Zillow Real Estate Data API endpoints →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.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/zillow-real-estate/search-properties API Response (JSON)
{} curl -X GET 'https://api.opendata-api.com/api/project/zillow-real-estate/search-properties?key=<API_KEY>&status=for_sale&page=1&page_size=40&result_type=list&sort=relevance'
Query Result
Use Cases
- Buyer shortlist builder: collect filtered location-search candidates and let users select which zpids need richer detail.
- Rental inventory monitor: compare dated observations from the same location and status without claiming a complete rental census.
- Listing-search result viewer: display the returned asking prices, bed/bath counts and coordinates while preserving unavailable estimates.
- Location input diagnostics: show an explicit correction prompt for INVALID_LOCATION rather than an empty-results screen.
Frequently asked questions
Where are the listings and pagination fields?
The verified list response placed listings in data.results and the count in data.total_count. pagination is a separate top-level object with result_count, current_page, has_next and next_cursor.
Does HTTP 200 mean the location was valid?
No. The observed impossible-location request returned HTTP 200 with success:false and error.code:INVALID_LOCATION. Check the business result before reading property data.
Should I paginate by page or cursor?
Both inputs are documented alternatives. Begin with one-based page or use the returned cursor as an opaque value, keep the search filters unchanged and stop on exhausted pagination. Only the first list page was verified, not subsequent cursor behavior.