This post contains my notes about web APIs to access bibliographic data, mostly for the sake of open-access.
Meta APIs
Meta-APIs gather content from different bibliographic repositories.
BASE
- Documentation: https://api.base-search.net/
- Indexed repositories: https://www.base-search.net/about/en/about_sources.php
- Example: https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi?func=PerformSearch&format=json&query=10.1162/neco.2006.18.10.2509 (requires registration of IP address)
- Output: JSON
Unpaywall/oadoi Can be used to find open-access URLs based on a DOI
- Documentation: https://unpaywall.org/products/api
- Indexed repositories: https://api.oadoi.org/data/sources.csv
- Example: http://api.oadoi.org/v2/10.1145/3238147.3240474?email=m@f
- Output: JSON
Dissemin
- Documentation: https://dev.dissem.in/api.html
- Indexed repositories: https://dev.dissem.in/datasources.html
- Example: https://dissem.in/api/10.1145/1509307.1509309
- Output: JSON
CORE
- Documentation: https://core.ac.uk/services#api
- Example: https://core.ac.uk/api-v2/articles/search/bengio?apiKey=XXYYZZ
- Output: JSON
Semantic Scholar
- Documentation: https://api.semanticscholar.org/api-docs/
- Example:
- Output: JSON
- Original points:
- contain “citation velocity” and “highly influential citations”
graph/v1/paper/
contains “tldr” summary and “embedding”- SemanticScholar makes their entire corpus available (in JSON format). They also offer API keys so that you can avoid the rate-limiting of the API.
- Wrapper Python library: https://github.com/danielnsilva/semanticscholar
OpenAire
- Examples:
- Documentation: https://api.openaire.eu/api.html
DBLP
- Examples:
- by key
conf/icst/AlshammariAHB24.xml
https://dblp.org/rec/conf/icst/AlshammariAHB24.xml (also supports rdf, nt, ttl, ris, bib and html by changing suffix) - query: https://dblp.org/search/publ/api/?q=amplification
- by key
- Documentation: https://dblp.uni-trier.de/faq/How+to+use+the+dblp+search+API
OpenAlex (“An open and comprehensive catalog of scholarly papers, authors, institutions” by OurResearch)
- Examples:
- Documentation: https://docs.openalex.org/
Repository APIs
arXiv
- Examples:
- by arxiv identifier https://export.arxiv.org/api/query?id_list=1205.6361 (returns ATOM/RSS)
- by arxiv identifier JSON https://www.monperrus.net/martin/arxiv-json.py?id=2409.18952
- https://export.arxiv.org/api/query?max_results=2000&search_query=doi:10.11s45/2896995.2896996
- Output: XML
- Documentation: https://arxiv.org/help/api/index
HAL
- Examples:
- DOI query:
- Author query: https://api.archives-ouvertes.fr/search/?wt=json&q=authFullName_s:%22Martin+Monperrus%22&rows=1000 (json)
- Documentation: https://api.archives-ouvertes.fr/docs
Publisher APIs
- Crossref
- Documentation: https://github.com/CrossRef/rest-api-doc
- Our API doesn’t support exact string matching for any field except for singleton fields (doi, issn, etc)
- If the API call includes a query, then the sort order will be by the relevance score. If no query is included, then the sort order will be by DOI update date.
- Example by DOI: http://api.crossref.org/works/10.1016/j.ydbio.2017.03.003
- Example by Journal ISSN: <https://api.crossref.org/journals/0098-5589, https://api.crossref.org/journals/0098-5589/works
- Example by Conference ISSN https://api.crossref.org/works?filter=issn:0270-5257
- Example via
title
https://api.crossref.org/works?query.title='betroot' - Example via
orcid
https://api.crossref.org/works?filter=orcid:0000000335053383 - a list of ISSNs associated with conference series https://api.crossref.org/works?filter=type:proceedings-article&facet=issn:*&rows=0
- Documentation: https://github.com/CrossRef/rest-api-doc
- Elsevier
- Example https://api.elsevier.com/content/article/PII:S0950584916300714?httpAccept=text/xml (example json output)
- can be used without API key, but “x-els-status: WARNING - Unauthorized request results in minimized metadata response”
- Scopus endpoint: https://api.elsevier.com/content/search/scopus?apiKey=xyz&query=john
- Example https://api.elsevier.com/content/article/PII:S0950584916300714?httpAccept=text/xml (example json output)
- IEEE Explore
- IEEE Computer sociey
- Clarivate Web of Science (WOS)
- Endpoint: https://api.clarivate.com/api/wos/
- Example: https://gist.github.com/monperrus/213571c6551004252ba3936d6ac8201a
- Documentation: https://developer.clarivate.com/
- Springer/SpringerNature
- ACM does not provide any API AFAIK
Other APIs
Chorus Chorus is about funding. The search service enables users to discover articles reporting on research from a given funder. The dashboard service enables funders, institutions, researchers, publishers, and the public to keep track of public-access compliance.
/institution/:id/histories
Allows the user to download the metadata found in our Institution Dashboardshttp://search.chorusaccess.org/funders
Allows the user to find the Crossref Funder Names and Funder IDs of all the Agencies monitored by CHORUS. Updated every 24 hours.
See https://www.acm.org/publications/openaccess and https://www.chorusaccess.org/chorus-institution-api-information/
AltMetrics
- Documentation: https://api.altmetric.com/
- Example
Dimensions Metrics API “Dimensions analyzes references from publications and calculates a set of article-level indicators.”
- Documentation: https://figshare.com/ndownloader/files/22539416