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
    • Studies
    • Representative sample studies
    • study-collections
    • Filter Sets
    • Participant Groups
    • Custom Groups
    • Study Distribution
    • Submissions
    • Bonuses
    • Messages
    • Workspaces
    • Projects
    • Surveys
    • Webhooks
    • Invitations
    • Reward Recommendations
      • GETCalculate reward recommendations
    • Testing
    • Well Known Endpoints
Go to app
LogoLogo
API ReferenceReward Recommendations

Calculate reward recommendations

|View as Markdown|Open in Claude|
GET
https://api.prolific.com/api/v1/reward-recommendations/
GET
/api/v1/reward-recommendations/
$curl -G https://api.prolific.com/api/v1/reward-recommendations/ \
> -H "Authorization: Token <token>" \
> -d workspace_id=workspace_id \
> -d currency=USD
1[
2 {
3 "currency": "USD",
4 "min_reward_per_hour": 1200,
5 "recommended_reward_per_hour": 1500
6 }
7]
Calculate the recommended participant reward rates for a data collection, optionally based upon a given set of filters
Was this page helpful?
Previous

Reward Recommendations

Next

Testing

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>`.

Query parameters

workspace_idstringRequired
The ID of the workspace in which you'll be creating the study
currencyenumRequired
An ISO 4217 currency code. Note that we only support a selection of currency codes as per the enum values.
Allowed values:
screener_idsstringOptional
A URL-encoded, comma-delimited list of filter IDs (e.g. custom group filter IDs) that you plan to apply to your study. There are various methods of converting an array of filter IDs to a URL-encoded, comma delimited array e.g: JavaScript: ```js const screenerIDs = ["mandarin", "spanish"]; const encodedScreenerIDs = encodeURIComponent(screenerIDs.join(",")); const url = `https://api.prolific.com/api/v1/reward-recommendations?screener_ids=${encodedScreenerIDs}&workspace_id=<workspace ID>&currency=GBP` ``` Python: ```python import urllib.parse screener_ids = ["mandarin", "spanish"] encoded_screener_ids = urllib.parse.quote(",".join(screener_ids)) url = f"https://api.prolific.com/api/v1/reward-recommendations?screener_ids={encoded_screener_ids}&workspace_id=<workspace ID>&currency=GBP" ```

Response

A list of reward recommendations. We suggest using the first recommendation in the list as this is guaranteed to be the most recent set of reward rates.
currencyenum
An ISO 4217 currency code. Note that we only support a selection of currency codes as per the enum values.
Allowed values:
min_reward_per_hourinteger

The minimum hourly reward rate that we recommend you pay to your study’s participants.

Note that this is returned as the hundredth subunit of the given currency i.e:

  • for USD, this will be the value in cents
  • for GBP, this will be the value in pence

To display this as USD or GBP respectively, you’ll need to divide this value by 100 and use an appropriate number formatting API e.g:

JavaScript:

1new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(2000/ 100); // "$20.00"
recommended_reward_per_hourinteger

The good hourly reward rate that we recommend you pay to your study’s participants.

Note that this is returned as the hundredth subunit of the given currency i.e:

  • for USD, this will be the value in cents
  • for GBP, this will be the value in pence

To display this as USD or GBP respectively, you’ll need to divide this value by 100 and use an appropriate number formatting API e.g:

JavaScript:

1new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(2000/ 100); // "$20.00"

Errors

4XX
Client Request Error

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>.

A URL-encoded, comma-delimited list of filter IDs (e.g. custom group filter IDs) that you plan to apply to your study.

There are various methods of converting an array of filter IDs to a URL-encoded, comma delimited array e.g:

JavaScript:

1const screenerIDs = ["mandarin", "spanish"];
2const encodedScreenerIDs = encodeURIComponent(screenerIDs.join(","));
3const url = `https://api.prolific.com/api/v1/reward-recommendations?screener_ids=${encodedScreenerIDs}&workspace_id=<workspace ID>&currency=GBP`

Python:

1import urllib.parse
2
3screener_ids = ["mandarin", "spanish"]
4encoded_screener_ids = urllib.parse.quote(",".join(screener_ids))
5url = f"https://api.prolific.com/api/v1/reward-recommendations?screener_ids={encoded_screener_ids}&workspace_id=<workspace ID>&currency=GBP"