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

Location-based listing candidates Start from a city, ZIP code or address and retain each returned zpid for a selected property-detail lookup.
Sale, rental and sold segments Use the explicit status values to keep active sale inventory, rental offers and sold-property research separate.
Top-level search continuation Read pagination outside data; the verified list response exposed current_page, result_count, has_next and next_cursor.
Resolvable-place error branch Handle success:false and INVALID_LOCATION before trying to iterate data.results; HTTP 200 alone does not mean a successful search.

Live API Demo

GET /api/project/zillow-real-estate/search-properties

Request cost is temporarily unavailable. No price is assumed.

View pricing

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'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

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.

Related operations

Guides

View Subscription Plans →