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.
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. | 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. | 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 |