REDCap in Python
Latest commit 8ffbfa4 Oct 5, 2016 @sburns sburns committed on GitHub Merge pull request #72 from redcap-tools/scott-is-an-idiot
Fix issue in new method


I am no longer actively developing this code base. Please continue to submit bugs and I'll do my best to tackle them.


PyCap is a python module exposing the REDCap API through some helpful abstractions. Information about the REDCap project can be found at

Available under the MIT license.


Canonical documentation can be found on ReadTheDocs.


Currently, these API calls are available:

  • Export Records
  • Export Metadata
  • Import Records
  • Export File
  • Import File
  • Delete File
  • Export Users
  • Export Form Event Mappings

Events and Arms are automatically exported for longitudinal projects (see below).


  • requests (>= 1.0.0)

    $ pip install requests


>>> import redcap
# Init the project with the api url and your specific api key
>>> project = redcap.Project(api_url, api_key)

# Export all data
>>> all_data = project.export_records()

# import data
>>> data = [{'subjid': i, 'age':a} for i, a in zip(range(1,6), range(7, 13))]
>>> num_processed = project.import_records(data)

# For longitudinal projects, project already contains events, arm numbers
# and arm names
>>> print
>>> print project.arm_nums
>>> print project.arm_names

# Import files
>>> fname = 'your_file_to_upload.txt'
>>> with open(fname, 'r') as fobj:
...     project.import_file('1', 'file_field', fname, fobj)

# Export files
>>> file_contents, headers = project.export_file('1', 'file_field')
>>> with open('other_file.txt', 'w') as f:
...     f.write(file_contents)

# Delete files
>>> try:
...     project.delete_file('1', 'file_field')
... except redcap.RedcapError:
...     # This throws if an error occured on the server
... except ValueError:
...     # This throws if you made a bad request, e.g. tried to delete a field
...     # that isn't a file

# Export form event mappings
>>> fem = project.export_fem()


$ git clone git:// PyCap
$ cd PyCap
$ python install


$ pip install PyCap


If you use PyCap in your research, please consider citing the software:

Burns, S. S., Browne, A., Davis, G. N., Rimrodt, S. L., & Cutting, L. E. PyCap (Version 1.0) [Computer Software]. Nashville, TN: Vanderbilt University and Philadelphia, PA: Childrens Hospital of Philadelphia. Available from doi:10.5281/zenodo.9917