Fetch Details for Up to Fifty Property IDs
View all Zillow Real Estate Data API endpoints →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.
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/batch-properties API Response (JSON)
{} curl -X POST 'https://api.opendata-api.com/api/project/zillow-real-estate/batch-properties?key=<API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"body":"<body>"}' Query Result
Use Cases
- Portfolio snapshot refresh: enrich a reviewed set of known property IDs in bounded groups rather than fetching every discovery hit.
- Property-specific failure queue: separate failed or unusable records from accepted portfolio results before retries.
- Selected sub-resource ingestion: request only the documented attachment categories needed for a portfolio review.
- Spreadsheet ID reconciliation: associate each accepted detail result with its original zpid row without assuming batch order.
Frequently asked questions
What is the documented maximum number of property IDs?
zpids must contain one to fifty property IDs. Larger portfolios need separate bounded requests; this is a request-size contract, not a complete-coverage guarantee.
Is include a string or an array in this operation?
It is a JSON array in the batch body, unlike the comma-separated query parameter on single-property reads. Use the raw body object with zpids and optional include.
Does a 200 response mean every property was found?
No. The documented response allows partial failures and item-level outcomes. Validate each property identity too; the exact batch result shape and missing-ID behavior have not been live-verified.