Research Guides

Digital Tools and Techniques

What are Scholarly Research APIs?

APIs, short for application programming interface, are tools used to share content and data between software applications.  APIs are used in a variety of contexts, but some examples include embedding content from one website into another, dynamically posting content from one application to display in another application, or extracting data from a database in a more programmatic way than a regular user interface might allow.  

Many scholarly publishers, databases, and products offer APIs to allow users with programming skills to more powerfully extract data to serve a variety of research purposes.  With an API, users might create programmatic searches of a citation database, extract statistical data, or dynamically query and post blog content.

This guide was adapted from MIT's list of scholarly APIS.

List of APIs for Scholarly Resources

API What it does

How is it accessed

Result format Registration Limitations (record numbers, fields accessible) Contact for technical questions
arXiv API Gives programmatic access to all of the arXiv data, search and linking facilities API calls are made using any web-enabled client (e.g. a web browser) to make an HTTP GET or POST request to an appropriate url.  API users can use the programming language of their choice. Atom Free to use, no registration or API key required. No stated limitations, but high-volume users should contact arXiv at http://arxiv.org/help/contact arXiv Google Group
BioMed Central API Retrieves: 1) BMC Latest Articles; 2) BMC Editors picks; 3) Data on article subscription and access; 4) Bibliographic search data RESTful interface, queries are made as HTTP GET requests JSON Free to access, no registration required. No limitations at present. info@biomedcentral.com
 CORE API gives programmatic access to metadata and full-text of millions of OA research papers RESTful interface, queries are made as HTTP GET requests  JSON Free to use, API key required, register for API key at https://core.ac.uk/api-keys/register Quota applied for query volume, details at https://core.ac.uk/services#api theteam@core.ac.uk  
CrossRef REST API Allows access to metadata records for over 75 million scholarly works that have CrossRef DOIs, covering around 5000 publishers.  Can be used for text- and data-mining, checking against funder mandates, and to obtain metadata in a variety of representations. RESTful interface JSON No registration required. No limitations at present. labs@crossref.org
Digital Public Library of America (DPLA) API Allows programmatic access to metadata in DPLA collections, including partner data from Harvard, New York Public Library, ARTstor, and others. RESTful interface Structured JSON-LD objects Free to use; API key needed No limitations at present codex@dp.la; Users can also submit issues to DPLA's Issue Tracker
HathiTrust Bibliographic API Returns bibliographic, rights, and volume information when given standard identifiers (ISBN, LCCN, OCLC, etc.) for items in the HathiTrust Digital Library. Intended for use to retrieve information about small numbers of items at a time. RESTful interface JSON, MARC-XML No registration required. No stated limitations but intended for use to retrieve information about small numbers of items at a time. feedback@issues.hathitrust.org
HathiTrust Data API Can be used to retrieve content (page images, OCR, and in some cases whole volume packages), and metadata for HathiTrust Digital Library volumes. Two methods of access: via a Web client, requiring authentication (users who are not members of a HathiTrust partner institution must sign up for a University of Michigan "Friend" Account), or programmatically using an access key that can be obtained at http://babel.hathitrust.org/cgi/kgs/request XML, JSON, or binary representation Varies depending whether access is via Web client (for members of HathiTrust partner institution), University of Michigan "Friend" Account, (for non-members), or using API key obtained at ttp://babel.hathitrust.org/cgi/kgs/request No stated limitations but is not meant for large-scale retrieval of data. feedback@issues.hathitrust.org
IEEE Xplore XML Search API Allows IEEE customers and 3rd parties such as federated search vendors to query the IEEE Xplore content repository and retrieve results for manipulation and presentation on local web interfaces HTTP requests using structured URL queries XML Must be an IEEE customer (i.e. belong to an institution that subscribes to IEEE Xplore). Contact onlinesupport@ieee.org to receive API user guide. Maximum of 200 results may be retrieved in a single query.  A query term can only contain a maximum of 10 words. onlinesupport@ieee.org
JSTOR Data for Research Not a true API, but allows computational analysis and selection of JSTOR's scholarly journal and primary resource collections  Includes tools for faceted searching and filtering, text analysis, topic modeling, data extraction, and visualization. Web interface CSV, varies depending on tool used Free to access, registration is required to obtain results. No institutional affiliation is required. Datasets are capped by default at 1,000 articles; users seeking larger results are asked to contact JSTOR Data for Research. http://about.jstor.org/contact
Nature Blogs API Blog tracking and indexing service; tracks Nature blogs and other third-party science blogs RESTful interface, queries are made as HTTP GET requests Default is JSON, some queries return Atom/RSS, CSV Free to register, developer account and API key needed; see here. 2 calls per second; 5,000 calls per day; RSS results are limited to 100 items maximum developers@nature.com
Nature OpenSearch API Bibliographic search service for Nature content REST API with two interfaces: 1) OpenSearch standard interface using keyword searches; 2) SRU  search interface using CQL structed queries RSS, JSON, ATOM, SRU XML, TURTLE, depending on interface used Free to register, developer account and API key needed; see here. 2 calls per second; 5,000 calls per day developers@nature.com
NLM APIs NLM offers 21 different APIs for accessing various NLM databases. Varies depending on API. Varies depending on API. Varies depending on API. Varies depending on API. Varies depending on API.
OECD Data API Allows programmatic access to a selection of OECD datasets A dataset identifier, a list of dimension item identifiers, and some additional parameters need to be supplied in a URL SDMX-JSON Free to register.  Registration is not required but is strongly encouraged. 1 million data points; not all OECD datasets are covered; IEA datasets are excluded http://stats.oecd.org/FAQAndContact.aspx
ORCID API Queries and searches the ORCID researcher identifier system and obtain researcher profile data    
 
RESTful interface HTML, XML, or JSON Two options: 1) Users can access the Public API,which only returns data marked as "public"; 2) Become an Orcid member to receive API credentials: see here. Data retrieved through Public API is limited http://about.orcid.org/help/contact-us
PLoS Article-Level Metrics API Retrieves article-level metrics (including usage statistics, citation counts, and social networking activity) for articles published in PLOS journals and articles added to PLOS Hubs: Biodiversity RESTful interface, queries are made as HTTP GET requests XML, JSON, CS Free to register.  API key needed.  Go to http://api.plos.org/registration/. Max is 1000 requests a day.  Users should wait 5 seconds for each query to return results.  High-volume users should contact api@plos.org.  API users are limited to no more than five concurrent connections from a single IP address api@plos.org; Questions can also be posted in PLoS API Google Group
PLoS Search API Allows PLoS content to be queried using the 23 terms in the PLoS search, for integration into web, desktop, or mobile applications RESTful interface, queries are made as HTTP GET requests XML Free to register.  API key needed.  Go to http://api.plos.org/registration/. Max is 7200 requests a day, 300 per hour, 10 per minute.  Users should wait 5 seconds for each query to return results.  Requests should not return more than 100 rows.  High-volume users should contact api@plos.org.  API users are limited to no more than five concurrent connections from a single IP address. api@plos.org; Questions can also be posted in PLoS API Google Group
PubMed E-Utilities API Set of 8 server-side programs for searching 38 NCBI Entrez databases of biomedical literature and data To access data, a piece of software posts an URL using a fixed sytax to NCBI's E-Utilities server, then retrieves and processes data.  Users can use any programming langauge that can send the URL and interpret the XML response (e.g. Perl, Python, Java, C++, etc.) XML Free to register; registration is not necessary but strongly encouraged. 3 URL requests per second; large jobs should be limited to weekends or business hours eutilities@ncbi.nlm.nih.gov
Scopus Supports multiple use cases, including displaying publications on a website, showing cited-by counts on a website, federated searching, populating repositories with metadata, populating VIVO profiles, and others. Various depending on use case. Varies depending on use case. Free to register. Varies depending on use case. http://www.developers.elsevier.com/action/contactus
Springer Text- and Data-Mining Access Allows text- and data- mining access to researchers via their subscribing institutions for non-commercial research purposes. Researchers can download content for TDM purposes directly from the SpringerLink platform. Full-text content can be accessed programmatically at friendly URLs based on the content’s DOI.  Can use a web browser, or HTTP GET requests using any convenient scripting tool, e.g. curl, wget, Python’s urllib, among others. Varies depending on use case. No registration or API key is required. No stated limitations but TDM researchers are asked to be considerate and limit their downloading speed to a reasonable rate. mikail.shaikh@springer.com
Springer Images API Provides images and related text for over 300,000 free images available on Springer Images. RESTful interface, using structured URL requests XML, JSON, JSONP Free to register.  API key needed. No stated limitations.  High-volume users should contact Springer. support.api@springer.com
Springer Metadata API Provides metadata for over 5 million online documents (e.g. journal articles, book chapters, protocols). RESTful interface, using structured URL requests XML in PRISM Aggregator message format, JSON, JSONP Free to register.  API key needed. No stated limitations.  High-volume users should contact Springer. support.api@springer.com
Springer Open Access API Provides metadata, full-text content, and images for over 80,000 open access articles from BioMed Central and SpringerOpen journals. RESTful interface, using structured URL requests XML in Springer's A++ format, JSON Free to register.  API key needed. No stated limitations.  High-volume users should contact Springer. support.api@springer.com
STAT!Ref OpenSearch API Bibliographic search service for displaying syndicated results on a website. Uses OpenSearch specifications. RSS, ATOM, HTML Free to register for users at subscribing host institution. Limits exist but are not specified; high-volume users should contact STAT!Ref. support@tetondata.org
Web of Science Web Services Bibliographic search service. Allows automatic, real-time querying of records.  Primarly for populating an institutional repository. Uses SOAP protocol to access XML Free to register if you are affiliated with a host institution that subscribes to Web of Science. Extractable data is limited to particular fields, databses, and filedepths, also depends on host institution's subscription. http://ip-science.thomsonreuters.com/support/
World Bank Indicators Provides access to nine World Bank statistical databases:  RESTful interface XML, JSON Free to use, no registration or API key required. Requests volume, while not specified, should be "reasonable"  data@worldbank.org
World Bank Projects Provides access to data on all closed, active, and planned World Bank projects RESTful interface XML, JSON, Atom Free to use, no registration or API key required. Requests volume, while not specified, should be "reasonable"  data@worldbank.org
World Bank Finances Provides access to the data on the World Bank’s loans, credits, financial statements and other data related to the financial operations RESTful interface XML, JSON and RDF Free to use, no registration or API key required. Requests volume, while not specified, should be "reasonable"  data@worldbank.org
UN ComTrade Allows access to data on International Merchandise Trade Statistics (IMTS) and the work of the International Merchandise Trade Statistics Section (IMTSS) of the United Nations Statistics Division Some services in REST, some in SOAP XML, CSV, depending on service Comtrade Web Services requires IP authentication, users must have site license account. However, access to metadata and data availability is not restricted. Depending on access rights, the following data can be obtained: Comtrade Data, Tariff Line Data, Total Trade, Annual Totals, Processed Data or Original Data. The latest three are restricted for data exchange between UN and OECD. comtrade@un.org
Wiley Text and Data Mining Allows text- and data-mining access to content in the Wiley Online Library Accessible via CrossRef's TDM service; RESTful interface JSON Must be part of a subscribing institution to have full text access. Users will encounter a click-through agreement and will receive a Client API Token, which is needed when requesting full text of articles. 6 queries per minute; 200 character-limit labs@crossref.org for support using the CrossRef TDM service to access Wiley content; journalshelp.wiley.com for other inquires