pybliometrics: Python-based API-Wrapper to access Scopus

pybliometrics is an easy to use Python library to pull, cache and extract data from the Scopus database. It provides one class per API Access Point:

>>> import pybliometrics
>>> pybliometrics.scopus.init()  # read API keys
>>> # Document-specific information
>>> from pybliometrics.scopus import AbstractRetrieval
>>> ab = AbstractRetrieval("10.1016/j.softx.2019.100263")
>>> ab.title
'pybliometrics: Scriptable bibliometrics using a Python interface to Scopus'
>>> ab.publicationName
'SoftwareX'
>>> ab.authors
[Author(auid=57209617104, indexed_name='Rose M.E.', surname='Rose',
 given_name='Michael E.', affiliation='60105007'),
 Author(auid=7004212771, indexed_name='Kitchin J.R.', surname='Kitchin',
 given_name='John R.', affiliation='60027950')]
>>>
>>> # Author-specific information
>>> from pybliometrics.scopus import AuthorRetrieval
>>> au2 = AuthorRetrieval(ab.authors[1].auid)
>>> au2.h_index
34
>>> au1 = AuthorRetrieval(ab.authors[0].auid)
>>> au1.affiliation_current
[Affiliation(id=60105007, parent=None, type='parent', relationship='author',
 afdispname=None, preferred_name='Max Planck Institute for Innovation and Competition',
 parent_preferred_name=None, country_code='deu', country='Germany',
 address_part='Marstallplatz 1', city='Munich', state='Bayern',
 postal_code='80539', org_domain='ip.mpg.de', org_URL='http://www.ip.mpg.de/')]
>>>
>>> # Affiliation information
>>> from pybliometrics.scopus import AffiliationRetrieval
>>> aff1 = AffiliationRetrieval(au1.affiliation_current[0].id)
>>> aff1.author_count
98

Installation

Install the stable version from PyPI:

pip install pybliometrics

or the development version from the GitHub repository (requires git on your system):

pip install git+https://github.com/pybliometrics-dev/pybliometrics

To access the Scopus database you will need API keys which you register at http://dev.elsevier.com/myapikey.html. If your institution subscribes to Scopus, you may need to be in your institution’s network or you need to have an InstToken, which can also be saved in the configuration. Non-subscribers only get limited access to two APIs. See https://dev.elsevier.com/api_key_settings.html for details. On first usage, pybliometrics prompts you for authentication details (API keys and, if necessary, InstToken) and stores them in ~/.config/pybliometrics.cfg (see Configuration).

Classes to interact with the Scopus APIs

AbstractRetrieval([identifier, refresh, ...])

Interaction with the Abstract Retrieval API.

AffiliationRetrieval(aff_id[, refresh, view])

Interaction with the Affiliation Retrieval API.

AffiliationSearch(query[, refresh, verbose, ...])

Interaction with the Affiliation Search API.

AuthorRetrieval(author_id[, refresh, view])

Interaction with the Author Retrieval API.

AuthorSearch(query[, refresh, verbose, ...])

Interaction with the Author Search API.

CitationOverview(identifier[, date, start, ...])

Interaction with the Citation Overview API.

PlumXMetrics(identifier, id_type[, refresh])

Interaction with the PlumX Metrics API.

ScopusSearch(query[, refresh, view, ...])

Interaction with the Scopus Search API.

SerialSearch(query[, refresh, view])

Interaction with the Serial Title API.

SerialTitle(issn[, refresh, view, years])

Interaction with the Serial Title API.

SubjectClassifications(query[, refresh, fields])

Interaction with the Subject Classifications Scopus API.

Citation

If pybliometrics helped you getting data for research, please cite our corresponding paper:

Citing the paper helps the development of pybliometrics, because it justifies funneling resources into the development. It also signals that you obtained data from Scopus in a transparent and replicable way.

Indices and tables