Elsevier’s products include a wealth of useful information, from books and journals on the ScienceDirect platform to research databases such as Scopus and EMBASE. These products are typically used interactively from a web browser, but Elsevier also provides API access to subscribing institutions. These APIs allow users to search and retrieve data from these products programmatically. For example, a user could create a program that mines text data from Elsevier publications or collects Scopus citation data for further analysis.
The API is only available to users on-site at Columbia University or via CUIMC VPN. In addition, users must have an Elsevier login and must create an API key to access the APIs.
To create an API key:
- Go to https://dev.elsevier.com/
- Click the “My API key” link in the menu at the top of the page.
- Input your Columbia University email address.
- If there is no account for the provided email account, the website will prompt for registration information. Otherwise, sign in with the correct password.
- Use the “Create API Key” link to create a new API Key.
API access to Elsevier resources is limited to Columbia University subscriptions, which include ScienceDirect, Scopus, Engineering Village, and EMBASE. These APIs support both XML and JSON formatted data.
The Elsevier Developers website (https://dev.elsevier.com/) includes the following API documentation:
- API specifications: https://dev.elsevier.com/api_docs.html
- Swagger interactive APIs: https://dev.elsevier.com/interactive.html
- How-to Guides: https://dev.elsevier.com/technical_documentation.html
Individual API specification pages may link to additional information, and some important search information is only found on the FAQs page. In addition, Elsevier has posted sample code on GitHub at https://github.com/ElsevierDev/elsapy.
Notes and caveats:
- Elsevier has, in the past, introduced unintentional breaking changes related to namespace use in the XML APIs. The JSON APIs should be immune to this.
- Documentation for the results format is provided via XML DTDs (https://schema.elsevier.com/dtds/). It may be faster and easier to reverse engineer the output format from sample data than to parse the provided schemas.
- In the JSON APIs, attributes that return 1 or more values frequently return a single object for one entry and an array of objects for multiple entries. Code will need to account for this behavior.
- APIs are rate limited and have quotas. Quotas re-set after 7 days. Quota information for the API key in use can be found in the response header.
- Elsevier will consider quota exceptions upon request via their email support address, firstname.lastname@example.org.
- Elsevier identifiers are not guaranteed to be stable. Database maintenance may result in merging and deleting of authors, institutions, articles, etc.