scopus: Python-based API-Wrapper to access Scopus

scopus is an easy to use Python library to pull, cache and extract data from the Scopus database.


Install scopus from PyPI:

$ pip install scopus

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

$ pip install git+

To access the Scopus database using scopus, get an API key from On first usage, scopus prompts you for authentication details and stores them in ~/.scopus/config.ini, where you can change it manually (see Configuration). 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 extended description and examples in the Examples section.


scopus provides classes to interact with the various Scopus APIs (see

AbstractRetrieval([identifier, view, …]) Class to represent the results from a Scopus abstract.
ContentAffiliationRetrieval(aff_id[, refresh]) Class to represent an Affiliation in Scopus.
AuthorRetrieval(author_id[, refresh]) Class to represent a Scopus Author query by the scopus-id.
AffiliationSearch(query[, count, start, …]) Class to perform a search for an affiliation.
AuthorSearch(query[, count, start, …]) Class to search a query, and retrieve a list of author IDs as results.
ScopusSearch(query[, refresh, subscriber, …]) Class to perform a query against the Scopus Search API.
CitationOverview(eid, start[, end, refresh]) Class to represent the results from a Scopus Citation Overview.
SerialTitle(issn[, refresh, view]) Class to represent a Serial Title retrieval.


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

Citing the paper helps the development of scopus, because it justifies funneling resources into the development.

Indices and tables