Web API for bibliographic survey of Scopus articles
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
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.
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
andworkers
options are mutually exclusive. -
Setting the
host
to0.0.0.0
makes the application externally available.
Take a look at the .env.example
file.
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
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
You will need Docker installed.
# Run the App in Docker Container
make docker
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.
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.
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.
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.
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.
Click here to download the CSV file for the survey example above.
This project is licensed under the terms of the MIT license