Exporting Collection Data
Early Access
AI Task Builder Collections are an early-access feature that may be enabled on your workspace upon request.
To request access or contribute towards the feature’s roadmap, visit our help center at https://researcher-help.prolific.com/en/ and drop us a message in the chat. Your activation request will be reviewed by our team.
Note: This feature is under active development and you may encounter bugs.
Once participants have completed your collection study, you can export all responses and uploaded files as a single ZIP archive.
Exports are generated asynchronously — the API responds immediately with a job ID, and the archive is built out-of-band. This keeps the request fast even for large collections with many uploaded files.
Workflow overview
Request an export by sending a POST request to the export endpoint. The API returns a job ID immediately.
Using the Prolific CLI
The Prolific CLI handles the full request, poll, and download flow in a single command:
By default the archive is saved to <collection-id>-export-<YYYYMMDD-HHMMSS>.zip in the current directory. Use --output to specify a path:
Requires the PROLIFIC_TOKEN environment variable and researcher access to the collection’s workspace.
Requesting an export
No request body is required.
Responses
If a new export job is created, the API returns 202 Accepted:
If a recent export for this collection already exists, the API returns 200 OK with the download URL immediately — you can skip polling and go straight to the download step.
Export requests are idempotent. Re-sending POST for a collection that is already generating or has a complete export returns the existing job ID or download URL rather than triggering a new generation.
Polling for completion
Use the export_id from the POST response to check the status of your export job.
Poll at a reasonable interval (every 3–5 seconds) until the status changes.
Complete response
The url is a presigned HTTPS link valid for 24 hours. Re-poll the GET endpoint to receive a refreshed URL if it has expired.
Polling example
Archive format
The downloaded ZIP contains the following structure:
The files/ directory is only present if participants uploaded files. The README.md inside the archive contains a quick-start guide and a pandas example.
responses.jsonl
Each line is a JSON object representing one submission. Response values are keyed by instruction ID.
The path for file uploads is relative to the archive root, so it can be used directly after extraction.
Response value shapes
collection.json
Collection metadata and a list of all instructions, useful for mapping instruction IDs to their descriptions and types.
Working with the exported data
Load responses with pandas
Extract uploaded files
The submission_id prefix in each filename lets you match files back to their submission record in responses.jsonl.
Handle all response types
Notes
- Presigned URL expiry: download URLs are valid for 24 hours. Re-poll
GETto receive a refreshed URL. - Retry on failure: a
failedexport can be retried by sendingPOSTagain. - Active responses only: deleted and
no_submissionresponses are excluded from the export.
By using AI Task Builder, you agree to our AI Task Builder Terms.