Once participants have completed your batch 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 batches with many uploaded files.
Request an export by sending a POST request to the export endpoint. The API returns a job ID immediately.
The Prolific CLI handles the full request, poll, and download flow in a single command:
By default the archive is saved to <batch-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 batch’s workspace.
No request body is required.
If a new export job is created, the API returns 202 Accepted:
If a recent export for this batch 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 batch that is already generating or has a complete export returns the existing job ID or download URL rather than triggering a new generation.
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.
The url is a presigned HTTPS link valid for 1 hour. Re-poll the GET endpoint to receive a refreshed URL if it has expired.
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.
The archive ships two JSONL files covering the same underlying data from different angles — choose whichever suits your analysis:
Each line is a JSON object representing one participant’s submission, with all of their responses across every task they completed.
Each line is a JSON object representing one task, with all participant responses for that task collected together.
The path for file uploads is relative to the archive root, so it can be used directly after extraction.
Batch metadata and a list of all instructions, useful for mapping instruction IDs to their descriptions and types.
The submission_id prefix in each filename lets you match files back to their submission record in responses-by-submission.jsonl.
GET to receive a refreshed URL.failed export can be retried by sending POST again.no_submission responses are excluded from the export.By using AI Task Builder, you agree to our AI Task Builder Terms.