For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Go to app
DocumentationAPI Reference
DocumentationAPI Reference
  • API Reference
    • Introduction
    • Users
    • Taskflow
    • AI Task Builder
      • Batches
      • Exporting Batch Data
      • Collections
      • Exporting Collection Data
      • Datasets
      • Instructions
      • GETList Batches
      • POSTCreate a Batch
      • GETGet a Batch
      • PATCHUpdate a Batch
      • GETGet Batch Status
      • POSTSetup a Batch
      • GETGet Batch Responses
      • GETGet Batch Report
      • POSTDuplicate a Batch
      • POSTRequest a Batch Export
      • GETGet Batch Export Status
      • POSTCreate a Dataset
      • GETGet Dataset Upload URL
      • GETGet Dataset Status
      • GETGet Batch Instructions
      • POSTCreate Batch Instructions
      • PUTUpdate Batch Instructions
      • GETList Collections
      • POSTCreate a Collection
      • GETGet a Collection
      • PUTUpdate a Collection
      • GETGet Collection Responses
      • POSTRequest a Collection Export
      • GETGet Collection Export Status
    • Studies
    • Representative sample studies
    • Filter Sets
    • Participant Groups
    • Custom Groups
    • Study Distribution
    • Submissions
    • Bonuses
    • Messages
    • Workspaces
    • Projects
    • Surveys
    • Webhooks
    • Invitations
    • Reward Recommendations
    • Testing
    • Well Known Endpoints
Go to app
LogoLogo
API ReferenceAI Task Builder

Request a Batch Export

|View as Markdown|Open in Claude|
POST
https://api.prolific.com/api/v1/data-collection/batches/:batch_id/export
POST
/api/v1/data-collection/batches/:batch_id/export
$curl -X POST https://api.prolific.com/api/v1/data-collection/batches/batch_id/export \
> -H "Authorization: Token <token>" \
> -H "Content-Type: application/json" \
> -d '{}'
1{
2 "status": "complete",
3 "url": "https://prolific-export.s3.amazonaws.com/exports/batch-9f8c7d6e-1234-4b56-8a9b-0c1d2e3f4a5b.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20240601%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240601T120000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
4 "expires_at": "2024-06-01T13:00:00Z"
5}
Initiates an asynchronous export of all participant responses and uploaded files for a batch as a ZIP archive. The export is generated out-of-band to handle large batches without hitting API timeout limits. The endpoint returns immediately with one of two outcomes: - **202 Accepted** — a new export job has been enqueued. Use the returned `export_id` to poll `GET /batches/{batch_id}/export/{export_id}` for status. - **200 OK** — a recent export already exists and is ready to download immediately. Subsequent POST requests for the same batch are idempotent while an export is generating or complete; they return the existing job ID or download URL rather than re-triggering generation. Only researchers with workspace access to the batch can request an export.
Was this page helpful?
Previous

Duplicate a Batch

Next

Get Batch Export Status

Initiates an asynchronous export of all participant responses and uploaded files for a batch as a ZIP archive.

The export is generated out-of-band to handle large batches without hitting API timeout limits. The endpoint returns immediately with one of two outcomes:

  • 202 Accepted — a new export job has been enqueued. Use the returned export_id to poll GET /batches/{batch_id}/export/{export_id} for status.
  • 200 OK — a recent export already exists and is ready to download immediately.

Subsequent POST requests for the same batch are idempotent while an export is generating or complete; they return the existing job ID or download URL rather than re-triggering generation.

Only researchers with workspace access to the batch 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

batch_idstringRequired

Response

Export already complete
statusenum
Allowed values:
urlstringformat: "uri"

Presigned HTTPS URL for downloading the ZIP archive. Valid for 1 hour. Re-poll to get a refreshed URL if expired.

expires_atdatetime
ISO 8601 timestamp indicating when the presigned URL expires.

Errors

403
Forbidden Error