proliferate Documentation

proliferate is a tool that facilitates running JavaScript-based experiments on Prolific. Unlike other crowdsourcing platforms such as Mechanical Turk, Prolific does not store participant data and therefore JavaScript-based experiments also require a server component to store the data. proliferate provides this data storage functionality on a server run by the Stanford ALPS lab that is available to researchers from all institutions.

proliferate was originally developed to run Mechanical Turk experiments using experiment templates that are used by many labs at Stanford but it can also be used with any other experiment written in JavaScript.

It consists of three different components:

  1. a command line interface (CLI) and a web interface for interfacing with the proliferate server
  2. a JavaScript library for submitting the data from your experiment and redirecting participants to the completion URL
  3. a server for collecting, storing, and downloading participant data

Getting started

  1. Sign up for a Prolific account and a proliferate account.
    1. If you want to use the command line interface (CLI), follow the setup instructions for the CLI and instructions on how to manage experiments.
    2. If you want to use the web interface, follow the instructions on how to manage experiments using the web interface.


Please note that you are using the server at your own risk. It is hosted on a reliable cloud computing provider, the server is thoroughly secured, and we are creating daily backups of all the data. Nevertheless, we cannot provide any guarantees about the availability of the server and the security of your data. You should always download all data from an experiment after running it and you should always backup your data!


proliferate was built and is maintained by Sebastian Schuster. Please contact him if you run into issues or have feature requests to integrate proliferate into your web-based experiments.