ℹ️ Scopus quickly finds relevant and authoritative research, identifies experts and provides access to reliable data, metrics and analytical tools. Be confident in progressing research, teaching or research direction and priorities — all from one database and with one subscription.
SCOPUS API allows the users to query its database for all the articles based on a specified keyword(s).
A user needs to create an account on SCOPUS using your university or
personal account and generate the SCOPUS key.
The API specification can be seen at this link. Using this API, It is possible
to retrieve title,authors, affiliation, DOI, etc of the scientific articles. Further, depending on the
access level of the article and authorized API, the article's abstract-text can also be retrieved.
Semantic Scholar also provides an API to retrieve the article's meta-data. It is possible to obtain abstracts by specifying the DOI of the article. Abstracts for all SCOPUS database articles are not available from Semantic Scholar database.
-
Create a virtual environment to install all packages in and activate the environment:
# create an environment called scopuscaller in this project python3 -m venv ~/.scopuscaller # activate the environment source ~/.scopuscaller/bin/activate
-
Install the package
pip install scopus-caller
- If you haven't created an account on SCOPUS yet, got to SCOPUS and create a private account or one via your university.
- After being logged in, create a new API key here, name the label to your
likings and leave the website input field empty (it is not important).
Carefully read and understand the "API SERVICE AGREEMENT" and "Text and Data Mining (TDM) Provisions", before using the API and the retrieved data. These will be presented to the user while generating the API. - Copy you API key and store it in a text file.
Import the library and paste the API key. Then run the following code in Python3 terminal or Jupyter notebook.
# import the module
import scopuscaller as sc
# paste the api here
api_key = ""
Parameters of function get_titles.py:
Parameters:
- api_key (str): Your Elsevier API key for authentication.
- keywords (list of str): Keywords to search for in article titles and abstracts.
- year (int, optional): The cut-off year, upto which articles which be retrieved. Default is 2023.
Example:
The following command will search for articles with the search terms transportation
, road safety
and transfer learning
published before 2023 (inclusive).
# Obtain the articles
df = sc.get_titles(api_key, ["transportation", "road safety", "transfer learning"], 2023)
# Obtain the abstracts of the above articles. For abstracts, you need to specify the output of previous step as input and then run the following
df = sc.get_abstracts(df)
If you plan to use abstracts for your work, please attribute this GitHub repository:
- Mahajan, V. scopus_caller, (2021), GitHub repository. GitHub Repository
This work is based on the Scopus-Query base script for obtaining article titles (without abstracts). For this purpose, kindly consider citing the original work:
- Narayanan, S., & Antoniou, C. (2022). Electric cargo cycles - A comprehensive review. Transport Policy, 116, 278–303.
DOI: 10.1016/j.tranpol.2021.12.011
For examples of how the keywords are used, you can refer to the supplementary information in the following publication:
- Vishal Mahajan, Nico Kuehnel, Aikaterini Intzevidou, Guido Cantelmo, Rolf Moeckel & Constantinos Antoniou (2022). Data to the People: A Review of Public and Proprietary Data for Transport Models. Transport Reviews, 42(4), 415-440. DOI: 10.1080/01441647.2021.1977414
Distributed under the MIT License.