Output formats
Choose by query param ?format= or by Accept header. Available on
/v1/listings, /v1/listings/*, /v1/search, /v1/jobs/{id}/results.
| Format | Query | Accept |
|---|---|---|
| JSON | ?format=json (default) | application/json |
| NDJSON | ?format=ndjson | application/x-ndjson |
| CSV | ?format=csv | text/csv |
NDJSON
One JSON object per line, no envelope. Ideal for streaming to BigQuery / Snowflake / DuckDB.
{"zpid":"11026031","address":{"city":"Greenville",...},"price":295000}{"zpid":"11026032","address":{"city":"Greenville",...},"price":312000}Headers:
Content-Type: application/x-ndjsonX-Row-Count: <n>
CSV
Nested objects flatten with dot-notation. Arrays are JSON-stringified in their cell. First line is a header row.
zpid,address.streetAddress,address.city,address.state,price,beds,baths,latLong.latitude,latLong.longitude11026031,"17 Zelma Dr",Greenville,SC,295000,3,2,34.882,-82.428Cells containing commas, quotes, or newlines are quoted; embedded quotes are doubled per RFC 4180.
JSON (default)
Wrapped in our standard envelope:
{ "data": [...], "meta": { "count": 50, "total": 213, "limit": 50, "offset": 0, "has_more": true }, "request_id": "..."}