Code Examples

A number of ORCID API users have made their code publicly available for your reference as you work on your own integration. See the list below for examples in a variety of languages. 

Don't see a example in the language that you're using? Reach out to other developers via the ORCID API Users Group

Have an example you'd like to share? Contact the ORCID Community team.

CrossRef Metadata Search CrossRef Ruby CrossRef search interface
Datacite Search & Claim ORCID EU Labs Ruby Tool for searching for works in the DataCite metadata catalogue and adding them to an ORCID record
FlexiGrant Fluent Technologies ASP.NET Get an authenticated ORCID iD
GoAuth2 ORCID CrossRef Go Fork of goauth2 with extra bits to work with ORCID's OAuth2 authentication.
Invenio CERN Python ORCID OAuth 2.0 Sign in/up for Invenio
ISNI to ORCID ORCID EU Labs Ruby Tool for searching the ISNI registry by name and adding one or more ISNIs to an ORCID record as external identifiers.
Laravel Socialite Provider for ORCID Miguel Piedrafita (Repository Maintainer)
Ben Cornwell (Contributor)
Laravel / PHP ORCID oAuth provider for use with the Laravel application framework. Based on Socialite, this components allows Laravel app developers to quickly including support for ORCID oAuth authentication alongside more than 100 other oAuth providers. example of ORCID OAuth2 Aminur Rouf C# C# example of how to conduct a 3 legged OAuth2 sign in and retrieve read-limited data from ORCID.
Node.js Authentication Example Configuration o2r project JavaScript Example configuration for three legged OAuth 2.0 by ORCID using passport.js and passport-oauth2 in node.js.
OmniAuth ORCID   Ruby ORCID OAuth 2.0 Strategy for the OmniAuth Ruby authentication framework; provides basic support for connecting a client app to ORCID
OmniAuth ORCID (fork) GrowKudos Ruby A maintained fork of OmniAuth ORCID (see above)
ORCID.js Mike Crabb Javascript Very simple javascript library for including ORCID information. Built using fetch().
ORCID Example Client App   Java ORCID Example Client Application (JOPMTS)
ORCID Example Client App   Ruby (on Rails) Simple web app built with Rails and Twitter Bootstrap which demonstrates a basic integration with the ORCID API.
ORCID Feed is no longer supported; ORCID Javascript Client is recommended instead
ORCID EU Labs Ruby RSS feeds for ORCID records
ORCID iD to GDocs ORCID Javascript Simple node.js app that collects authenticated ORCID iDs and uploads them to a Google document.
ORCID Java Client   Java Simple client written in Java; supports the Pulic and Member APIs with OAuth.
ORCID Javascript Client   Javascript A general purpose ORCID Javascript client and reference list generator, supporting CSL, citeproc-JSON and BibTeX.
ORCID record updater   Java Logs users in via ORCID OAuth and pushes new works to their ORCID records.


Théophane Kouchoanou (CNRS)

PHP PHP client to authenticate iDs and push works to ORCID records.
ORCID Python   Python Simple Python wrapper around the ORCID API
ORCID Rails Engine ProjectHydra Ruby Rails Engine for integrating with ORCID; leverages the Devise MultiAuth plugin for negotiating the interaction with ORCID
ORCID Researcher Lookup Widget Australian National Data Service (ANDS) JavaScript Enhances web forms to include the ability to lookup/search for an ORCID iD.
OWIN OAuth Providers Original library author: Tommy Parnell
ORCID provider contributor: Rick Zakharov
C# Provides a set of extra authentication providers for OWIN (Project
Prototype ORCID Updater Australian National Data Service (ANDS) Java ANU DataCommons
Qrorcid ORCID Java Enables you to create a QR code based on your ORCID record
rORCID rOpenSci R R programmatic interface to the ORCID Public API.
Share my iD ORCID JavaScript Simple node.js app that collects authenticated ORCID iDs and uploads them to a Google document.
Spring Social ORCID project Yuci Gou Spring An extension to Spring Social that enables integration with ORCID.
Vue.js ORCID Integration Simon Goring Vue.js Tool to get an authenticated ORCID iD using openid