Usage Guide
The getscipapers command-line interface provides a set of subcommands that
coordinate searches, downloads, and requests across multiple services.
Basic Usage
Show available modules and entry points:
getscipapers --list
Get help for a specific module:
getscipapers getpapers --help
Perform a quick DOI search using Crossref and Unpaywall:
getscipapers getpapers --doi 10.1038/s41586-020-2649-2 --email you@example.com
Request a paper through community bots without direct downloads:
getscipapers request --title "Efficient Vision Transformers" --nexus --non-interactive
Example Workflows
Use these ready-to-run commands as starting points:
# Keyword search limited to 5 results, downloading PDFs when available
getscipapers getpapers --search "graph neural network" --limit 5
# Download a DOI via Unpaywall with non-interactive credentials
GETSCIPAPERS_EMAIL=you@example.com \\
getscipapers getpapers --doi 10.1038/nature12373 --db unpaywall --non-interactive
# Process many DOIs from a text file and save outputs to a custom folder
getscipapers getpapers --doi-file dois.txt --download-folder ./pdfs
# Extract DOIs from a PDF without downloading
getscipapers getpapers --extract-doi-from-pdf paper.pdf --no-download
# Show metadata only across all services for a DOI
getscipapers getpapers --doi 10.1016/j.cell.2019.05.031 --no-download --verbose
Graphical wrapper
If you prefer not to remember command-line flags, start the Tkinter-based GUI wrapper (works on Windows and Linux) and trigger the same searches and DOI list downloads:
getscipapers gui
The window exposes database selection (toggle one or many services), metadata-only runs, verbose logging, and custom download folders while reusing the existing CLI logic under the hood.
Search Strategies
getpapers combines several strategies to maximize discovery:
Crossref lookups for authoritative metadata and publisher links.
Unpaywall queries to find open access versions.
Nexus bot searches to leverage community mirrors when direct download is not possible.
Optional LibGen and Z-Library queries for book-like content.
Combine options thoughtfully. For example, supplying --email ensures
Crossref and Unpaywall requests include a contact address, improving API
reliability.
Download Locations
Downloads are saved to the configured output directory (see Configuration). When running inside Docker or Codespaces, mount or bind a host directory so that downloaded files persist outside the container.
Non-interactive Runs
Many environments (CI, containers) cannot handle interactive prompts. Use the
--non-interactive flag to require environment-provided credentials and avoid
blocking for input. When set, the command will exit with an error if a needed
credential is missing instead of waiting for keyboard input.