Skip to content

mauprogramador/scopus-survey-api

Repository files navigation

Scopus Survey API

Logo

Web API for bibliographic survey of Scopus articles

Lint & Test Documentation Coverage Latest Release Python3 Version

FastAPI Pandas Requests Black Bandit Pytest MkDocs


Federal Institute of Mato Grosso do Sul - IFMS - Campus Três Lagoas
Technology in Systems Analysis and Development - TADS

Documentation: https://mauprogramador.github.io/scopus-survey-api/

Swagger UI: http://127.0.0.1:8000

Web API: http://127.0.0.1:8000/v2/scopus-survey/en-US/search-articles


Overview

This Web API was developed to facilitate the search for articles for research and the development of theoretical references. It will use both the Scopus Search API and the Scopus Abstract Retrieval API, maintained by the Elsevier company, to query the Scopus cluster, which is the largest database of abstracts and citations of quality research literature and sources on the web.

To perform the search, you will need Python3 v3.11 or Docker installed to run the application, you will also need to generate an API Key and select a maximum of four Keywords based on the topic of your search. Start the application, go to the web page, submit your API Key and your Keywords, and if any articles are found, a CSV file with the article information will be returned.


Configuration

You can create an .env file to configure the following options:

Parameter Description Default
host Sets the host address to listen on 127.0.0.1
port Sets the server port on which the application will run 8000
reload Enable auto-reload on file changes for local development false
workers Sets multiple worker processes 1
logging_file Enable saving logs to files false
debug Enable the debug mode and debug logs false
  • The reload and workers options are mutually exclusive.

  • Setting the host to 0.0.0.0 makes the application externally available.

Take a look at the .env.example file.


Run locally with Poetry

You will need Python3 v3.11 with Pip and Venv installed.

# Setup Venv
make setup

# Activate Venv
source .venv/bin/activate

# Install dependencies
(.venv) make install

# Run the App locally
(.venv) make run

Run locally with Pip

You will need Python3 v3.11 with Pip and Venv installed.

# Setup Venv
make setup

# Activate Venv
source .venv/bin/activate

# Install dependencies
(.venv) pip3 install -r requirements/requirements.txt

# Run the App locally
(.venv) make run

Run in Docker

You will need Docker installed.

# Run the App in Docker Container
make docker

API Key

You must obtain an API Key to access the Scopus APIs to search and retrieve the articles' information. It has no spaces and is made up of 32 characters containing only letters and numbers. It can be obtained by accessing the Elsevier Developer Portal, clicking on the I want an API Key button and registering.

If you are part of an educational institution, you can try to confirm if your institution is registered with Elsevier to sign in via your organization, or you can also try to register with your academic email.

Keywords

Based on the theme or subject of your research, you must select a minimum of two and a maximum of four Keywords, which will be used as parameters and filters in the simultaneous search in the title, abstract and keywords of the articles. Each Keyword must be written in English, containing only letters, numbers, spaces and underscores, with a minimum of 2 and a maximum of 50 characters.

Institutional Network

Please be aware that the API Key will only authenticate correctly if you submit it while inside your university/institution's network, and this does not include VPN or proxy access. Therefore, if you are fully remote and off-campus, the abstract and all authors of the articles will not be returned.

Quota and Rate Limits

There is a limit to how many requests for data you can make to Scopus APIs using your API Key. This request quota resets every seven days, and you can check its availability in the response headers. If requests exceed the quota or throttling rate, an error will be returned. See the documentation about weekly quota and requests per second.


Example

The table below exemplifies the results of a search. Using Computer Vision, Scopus and Machine Learning as Keywords, a total of 71 articles were found. There was no loss due to similarity and it took around 18704.65ms.

Table Result

Click here to download the CSV file for the survey example above.


This project is licensed under the terms of the MIT license