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.