Return the audience's built output as JSON, one page at a time. Each result is one row with the same columns the download files carry.
The audience needs a finished full build first. Create it with "unload": "unload", or call POST /api/v1/audiences/{id}/unload for a preview audience. Then poll GET /api/v1/audiences/{id}/status until status is ready or done. Neither call bills records. Until the build finishes, this endpoint answers 409 with not_ready.
Do not poll GET /api/v1/audiences/{id}/download to make the build ready. Its ready response bills every distinct person in the build, and paging that build is then free. To see that charge first, call the download endpoint with dry_run=true.
To read the whole audience, request a page, then pass its next_cursor as cursor on the next request. Repeat until a response has no next_cursor. page_size is a maximum, not a guarantee: a page can hold fewer rows and still carry next_cursor, so loop on the cursor, not on the row count.
Send Accept-Encoding: gzip; responses are gzip-compressed when you do, which is much faster for large pages.
Billing. Billed per record returned, at the audience's meter (Predictive Signals audiences bill at the Predictive Signals rate). A record read again on the same UTC day is not charged again, and in one day paging a build never costs more than downloading it. If the build's file download was already charged, paging that build is free. A page that fails partway is not charged.
Test API keys page a fixed 7-row sample (count: 7; with page_size=3 the pages hold 3, 3 and 1 rows, and the last has no next_cursor). Responses carry the header X-Delivr-Mode: test and are never billed. Audience id pending returns 409 not_ready, so you can exercise that path before using a live key.
Project-scoped: name the project with the X-Project-Id header or a ?project_id= query parameter, as with the other audience endpoints. Any query parameter other than page_size, cursor, and project_id returns 400.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Missing or invalid authentication.
403Forbidden.
404Audience not found.
500Internal server error.
