Below you’ll find interesting projects that programmatically interact with REDCap.

Libraries

The following libraries/packages can assist communication with REDCap’s API. They can help make your development quicker and more robust. Unlike the code samples in a subsequent list, these libraries are reusable components (and not loose code that’s copied and pasted into each caller). Each library’s readme will have instructions how the deployed instances can be updated after the developer releases a new version.

Project Language Description Release GitHub Activity
Last 12 months
REDCapR R Encapsulates R calls to the REDCap API. GitHub Release
Documentation
GitHub Activity
REDCapTidieR R Makes it easy to read data from a REDCap project into R. Uses REDCapR under the hood. GitHub Release
Documentation
GitHub Activity
tidyREDCap R Functions for processing REDCap data.. GitHub Release
Documentation
GitHub Activity
redcapAPI R An R interface to the REDCap API. GitHub Release
Documentation
GitHub Activity
REDCapDM R REDCap Data Management. GitHub Release
Documentation
GitHub Activity
PHPCap PHP Classes that simplify the use of the REDCap API using PHP. GitHub Release
Documentation
GitHub Activity
redcap-api C# Library for the REDCap API. GitHub Release
Documentation
GitHub Activity
PyCap Python A minimal wrapper around the REDCap API to export & import data and files. It natively works with pandas. GitHub Release
Documentation
GitHub Activity
GoCap Go Helpful abstractions for REDCap's REST API.
The project is currently in development and not considered production-ready.
GitHub Release GitHub Activity
redcap.js JavaScript Simple, lightweight JavaScript client module for the REDCap API. GitHub Release
Documentation
GitHub Activity
REDCap.jl Julia A Julia frontend for the REDCap API.
Archived 2019.
GitHub Release GitHub Activity
redcap Ruby A Ruby gem for interacting with the REDCap API. GitHub Release GitHub Activity
RedcapAPI Ruby A Ruby interface to the REDCAP API. GitHub Release GitHub Activity

Common Resources

The some developers of different libraries have collaborated to create resources not tied to any specific library. The finished products and the source code are available on GitHub, and any contributions or suggestions are welcomed.

Resource Description
redcap-tools REDCap-Tools is a GitHub organization that fosters interesting projects built against REDCap. Developers and projects in this organization have no official ties to REDCap other than looking to push the data management capabilities provided by REDCap’s more advanced tools (namely the API and Data Entry Triggers) to their fullest potential. (Edit the web site source code here); view the repositories here.
Wiki API Examples Several examples with loose code in bash, Java, Powershell, Matlab, VBA, and Stata. The REDCap wiki is typically accessible only to your institution's REDCap admin.
Wiki API Space List of questions and ideas posted to the forum community.
Wiki API Documentation A replication of the documentation available at https://YOUR_REDCAP_INSTALLATION/redcap/api/help. Another way to click on the API Documentation link in the "Technical / Developer Tools" section of the menu (in the Control Center of your institution's instance).
API Troubleshooting Vignette There are many links in the pipeline between your institution's REDCap server and the API user. When the end result is unsuccessful, this document should help narrow the location of the possible problem. The first two sections will be relevant to almost any language interacting with the API. (Edit source code here).
REDCap API 101 A blog post about the API for users that are new to the concept, from the University of Washington ITHS.
UC Denver Videos Tutorial videos from created by the University of Colorado Denver Anschutz.

Code Samples and Snippets

These samples can be copied and pasted into a larger program. Some of the sample’s code may have to be modified to work with your existing code.

Project Language Description Release
nef-c-sharp C# These functions push/pull DataTables. It can be used in an .aspx program, or in a windows desktop program, a DET program, etc. GitHub Release
REDCap-API-and-Stata Stata Example Stata do-files for interacting with the REDCap API (using shell command and curl). GitHub Release
redcap-test-datasets text Example datasets covering a range of scenarios to facilitate API tests. GitHub Release
RedcapDotNetDETs C# Data entry triggers for REDCap written using .NET Web API. GitHub Release

Applications

These programs or scripts extend REDCap capabilities and facilitate integration with other systems.

Project Language Description Release GitHub Activity
Last 12 months
REDCap-ETL PHP Extract data from REDCap, transform the extracted data, and load the transformed data into a database. GitHub Release GitHub Activity
collaboratoR R Facilitates administration of multi-site investigations. GitHub Release GitHub Activity
redcaphelper Python Wraps PyCap to facilitate uploads, backups as well as other tasks. GitHub Release GitHub Activity
redcapcustodian R Simplifies data management activities on REDCap systems. It provides a framework for automating data extraction, transformation, and loading (ETL) work with a focus on REDCap workflows and maintenance tasks. Uses Docker, shell script, and cron to automate workflows. GitHub Release GitHub Activity

Remarks

  • As a user choosing a resource, consider if you need one that’s been updated since REDCap’s version 6.0.0 (in Sept 2014), or since any other version that introduced API modifications and improvements.
  • As a developer maintaining one of these resource, please tell us if you’d like changes to an entry below. Help us keep the info current by editing the libraries, resources, samples , or applications yaml files (depending on which table above you’d like to modify), and submitting a PR. Alternatively, you can create a conventional GitHub issue and tell us how your project can be more accurately described.

Purpose of REDCap-Tools

(repeated from the home page.)

REDCap-Tools is an organization that fosters interesting projects built against REDCap. Developers and projects in this organization have no official ties to REDCap other than a motivation to promote the data management capabilities provided by REDCap’s more advanced tools (namely the API and Data Entry Triggers) to their fullest potential. We hope to foster projects across a wide-range of programming languages. Our other goal is to connect users to the best existing libraries and resources for their needs.

If you have written a tool or application that helps improve reproducibility or accuracy in your a REDCap-based project, please consider housing it in this organization. This growing community of advanced REDCap end-users may find interest in your project and may want to help make it better. Also, if you move on in your career, placing your project under this organization will help to keep it growing and improving after you have moved on.

Notably REDCap-Tools takes no ownership over the projects hosted in this organization. That is left to the discretion of the author(s).

If you have a suggestion, please consider creating an issue for it in this repository (click the green ‘New Issue’ button in the top right).

Website Contributors