Uploading submission feedback files
This guide explains how to use the Submission Feedback Upload API to submit feedback files for your completed studies.
Why share feedback?
We are always keen to hear feedback on the data you collect through Prolific. We know that many customers run their own scripts, quality checks and downstream analysis once a study is complete; those assessments are some of the most valuable feedback we can receive. Sharing feedback helps us to improve data quality and the reliability of our participant pool.
This API gives you a simple, secure way to send that feedback to us in a variety of formats.
Overview
The Submission Feedback Upload API lets you upload feedback files in any schema for a pain-free experience. Uploading follows a secure two-step process:
- Request a pre-signed upload URL.
- Upload your file directly to the provided upload URL.
This approach enables secure and efficient file transfers while supporting a range of file formats for your research feedback, namely CSV, XLS, XLSX, JSON, TXT and PDF.
Prerequisites
- A Prolific researcher account with API access.
- Your API token.
- The feedback file you wish to upload.
Step 1: Request an upload URL
To begin the upload process, request a secure upload URL by sending a GET request to the endpoint below.
Example request
Example response
The response includes a temporary, pre-signed upload_url that you use in the next step.
Step 2: Upload your file
After receiving the upload URL, upload your file directly to it with an HTTP PUT request.
For successful uploads, you’ll receive an HTTP 200 OK response with an empty body.
The PUT request must not include an Authorization header. The upload
URL is already authenticated by its query-string signature; sending your API
token as well will cause the upload to fail. Your API token is only needed for
Step 1. Use the upload_url exactly as returned. Some API clients (e.g.
Postman, Bruno) re-encode query parameters, which corrupts the signature and
results in an error. If in doubt, upload with curl as shown above as it
sends the URL verbatim.
The pre-signed upload_url is temporary — it is valid for 20 minutes from
when it was issued. Upload your file before the expires_at time in the
response, otherwise request a new URL. Note that expires_at is in UTC,
and an expired URL returns 403 Access Denied.
Supported file formats
The API supports the following file formats:
- CSV
- Excel spreadsheets (XLS, XLSX)
- JSON files
- TXT files
- PDF files
If you would like to upload your feedback file in a format that isn’t currently supported, please get in touch.
Best practices
- File naming - use descriptive and consistent file naming conventions.
- File size - there is a maximum file size limit of 5GB. For files approaching this limit, consider compressing them or splitting them into multiple smaller files where possible.
- Token security - keep your API token secure and never share it in public repositories.
- Retries - consider implementing retry logic with exponential backoff for transient failures (e.g. network timeouts) when uploading large files.
Support
If you encounter any issues or have questions about the Submission Feedback Upload API, please contact our support team.