human_survey_uuid and study_id because recruitment operations refer to that pair. If you already have participants and will distribute the survey link yourself, use Human studies directly.
Prepare and preview the survey
Construct and pilot your survey with Human surveys. Save the reviewed EDSL survey assurvey.ep and retain the UUID returned by .humanize(). The examples below assume that hosted survey already exists:
Participant limit
Check the account configuration that will apply to a new study:key_source identifies Expected Parrot’s account (ep) or your own configured Prolific key (user_key). Inspect charged_in_credits, participant_limit_applies, and participant_limit before selecting the sample size. Billing and limits depend on this configuration; do not assume a fixed account-wide allowance.
Estimate and create a draft
The following example requests ten participants, estimates five minutes per participant, and offers 100 cents each. Replace these values with the pilot-based duration, payment, and sample size for your study. Estimation and draft creation contact the service but do not publish the study.admin_url and preview_url let you review the draft. Use coop.list_prolific_filters() to discover supported screening filters; its returned object provides find() and create_study_filter() for constructing the filters argument. Select filters from the current catalog rather than copying historical IDs.
Check and publish
Check the deployed survey and funding before publishing:required_credits as well.
Publishing starts recruitment and can incur charges. Run the following only when the instrument, sample, payment, and budget are ready for launch:
Monitor and retrieve responses
Submission approval
approval_mode="automatic" approves a submission when the participant enters the completion code. "manual" requires you to review and manage submissions; Prolific’s own automatic-approval rules still apply. Choose the mode before publishing and monitor submissions through the study’s admin page.
Use the study’s admin page to manage submissions and changes to recruitment. Check the current study state before making changes.
Manage an existing study from Python
coop.list_prolific_studies(human_survey_uuid) lists recruitment studies for a human survey. coop.update_prolific_study(human_survey_uuid, study_id, ...) updates supported settings; allowed changes depend on the study’s current state.
These methods change the live recruitment or submission state. Approval and rejection affect participant payment; use them for deliberate review decisions under Prolific’s applicable rules. The rejection reason must be a supported code, such as
FAILED_INSTRUCTIONS or OTHER, and the explanation must contain at least 100 characters. Inspect get_prolific_study() before and after a change; the service can reject actions that are invalid for the current state.