Field projection
The detail response has 300+ fields. If you only want a few, project them:
GET /v1/properties/11026031?fields=zpid,address.streetAddress,price,zestimate{ "data": { "zpid": "11026031", "address": { "streetAddress": "17 Zelma Dr" }, "price": 295000, "zestimate": 305100 }, "cached": true, "request_id": "..."}Syntax
- Top-level field:
price - Nested via dot:
address.streetAddress - Array index via
[n]:priceHistory[0].price - Whole array:
priceHistory(returns the full array)
Where it’s available
| Endpoint | Notes |
|---|---|
/v1/properties/by-url | Single object |
/v1/properties/by-address | Single object |
/v1/properties/{zpid} | Single object |
Sub-resources (e.g. /photos, /schools) are already field-scoped, so
?fields= is unnecessary there.
Unknown fields
Fields that don’t exist in the response are silently dropped — they don’t cause an error. Always test with the field you expect against a known zpid first.