Request a Collection Export

View as MarkdownOpen in Claude
Initiates an asynchronous export of all participant responses and uploaded files for a collection as a ZIP archive. The export is generated out-of-band to handle large collections without hitting API timeout limits. The endpoint always returns **202 Accepted** with an `export_id` — use it to poll `GET /collections/{collection_id}/export/{export_id}` for status. Each request starts a fresh export job so you can retrieve newly submitted responses matching the same filter, unless one with the exact same filter is already generating, in which case its existing `export_id` is returned rather than starting a duplicate. A completed or failed export is never reused — sending `POST` again always starts a new job, giving you a snapshot of responses as of that request. Use `GET /collections/{collection_id}/export` to see every job you've already requested before starting another. Each collection can have at most 10 export jobs at a time (across all filters combined) — delete one to free up a slot if you hit that limit. By default the export includes every response. Pass `study_id` and/or `from`/`to` to scope it to a subset — see the query parameters below. Terms combine as AND (e.g. `study_id` + `from`/`to` exports only that study's responses within the date range). Two exports requested with different filters are tracked as separate jobs. Only researchers with workspace access to the collection can request an export.

Authentication

AuthorizationToken
The Prolific API uses API token to authenticate requests. You can create an API token directly from your settings. Your API token does not have an expiry date and carries full permission, so be sure to keep them secure. If your token is leaked, delete it and create a new one directly in the app. In your requests add `Authorization` header with the value `Token <your token>`.

Path parameters

collection_idstringRequired

Query parameters

study_idstringOptional
Only export responses submitted under this Prolific Study ID.
fromdatetimeOptional

Only export responses with created_at on or after this ISO 8601 datetime (inclusive). Accepts an offset (e.g. +01:00) or Z.

todatetimeOptional

Only export responses with created_at before this ISO 8601 datetime (exclusive). Must not be earlier than from.

Response

Export generation started
statusenum
Allowed values:
export_idstringformat: "uuid"

The export job ID. Use this with GET /collections/{collection_id}/export/{export_id} to poll for status.

Errors

400
Bad Request Error
403
Forbidden Error
409
Conflict Error