Below you’ll find interesting projects that programmatically interact with REDCap.
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.
Last 12 months
|REDCapR||R||Encapsulates R calls to the REDCap API.||
|REDCapTidieR||R||Makes it easy to read data from a REDCap project into R. Uses REDCapR under the hood.||
|redcapAPI||R||An R interface to the REDCap API.||
|PHPCap||PHP||Classes that simplify the use of the REDCap API using PHP.||
|redcap-api||C#||Library for the REDCap API.||
|PyCap||Python||A minimal wrapper around the REDCap API to export & import data and files. It natively works with pandas.||
|GoCap||Go||Helpful abstractions for REDCap's REST API.
The project is currently in development and not considered production-ready.
|REDCap.jl||Julia||A Julia frontend for the REDCap API.
|redcap||Ruby||A Ruby gem for interacting with the REDCap API.|
|RedcapAPI||Ruby||A Ruby interface to the REDCAP API.|
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.
|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.
|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.|
|REDCap-API-and-Stata||Stata||Example Stata do-files for interacting with the REDCap API (using shell command and curl).|
|redcap-test-datasets||text||Example datasets covering a range of scenarios to facilitate API tests.|
|RedcapDotNetDETs||C#||Data entry triggers for REDCap written using .NET Web API.|
These programs or scripts extend REDCap capabilities and facilitate integration with other systems.
Last 12 months
|REDCap-ETL||PHP||Extract data from REDCap, transform the extracted data, and load the transformed data into a database.|
|collaboratoR||R||Facilitates administration of multi-site investigations.|
|tidyREDCap||R||Helper functions for processing REDCap data.|
|redcaphelper||Python||Wraps PyCap to facilitate uploads, backups as well as other tasks.|
- 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).