Skip to main content

CLI tool for searching and downloading academic papers from 20+ sources.

Project description

paper-search-cli

A CLI tool for searching and downloading academic papers from 20+ sources. Also works as a Claude Code Skill for AI-assisted research.

Features

  • 20+ academic sources: arXiv, PubMed, Semantic Scholar, CrossRef, OpenAlex, CORE, bioRxiv, medRxiv, and more
  • Concurrent search: searches multiple sources in parallel with automatic deduplication
  • Smart download: multi-stage fallback chain (source -> OA repositories -> Unpaywall -> Sci-Hub)
  • PDF text extraction: download and extract text from papers in one step
  • JSON output: machine-readable output for scripting and AI integration
  • Claude Code Skill: use as a slash command in Claude Code

Installation

pip

pip install paper-search-cli

uv

uv tool install paper-search-cli

From source

git clone https://github.com/openags/paper-search-cli.git
cd paper-search-cli
uv sync

Docker

docker build -t paper-search .
docker run paper-search search "transformer architecture"

Usage

Search papers

# Search all sources
paper-search search "transformer architecture"

# Search specific sources
paper-search search "quantum computing" --sources arxiv,semantic --max-results 5

# Filter by year (Semantic Scholar)
paper-search search "large language models" --sources semantic --year 2023-2024

# JSON output (for scripting / AI tools)
paper-search search "CRISPR" --json

Download a paper

paper-search download 2106.12345 --source arxiv
paper-search download 2106.12345 --source arxiv --output-dir ./papers

Download with fallback chain

paper-search download-fallback 2106.12345 --source arxiv \
  --doi 10.48550/arXiv.2106.12345 --title "Paper Title"

Read (download + extract text)

paper-search read 2106.12345 --source arxiv

List available sources

paper-search sources

Claude Code Skill

This tool can be used as a Claude Code Skill for AI-assisted academic research.

Setup

Copy the skill file to your project:

mkdir -p .claude/commands
cp claude-skill/paper-search.md .claude/commands/paper-search.md

Or for global access (all projects):

mkdir -p ~/.claude/commands
cp claude-skill/paper-search.md ~/.claude/commands/paper-search.md

Then in Claude Code, use:

/paper-search transformer architecture in NLP

Available Sources

Source Search Download Read Notes
arXiv yes yes yes Open API, reliable
PubMed yes no no Metadata only
bioRxiv yes yes yes Category-based search
medRxiv yes yes yes Category-based search
Google Scholar limited no no Bot-detection active
IACR yes yes yes Cryptography focus
Semantic Scholar yes OA OA Year filter support
CrossRef yes no no DOI metadata
OpenAlex yes no no Broad metadata
PMC yes OA OA Open access only
CORE yes yes yes API key recommended
Europe PMC yes OA OA Open access only
dblp yes no no CS bibliography
OpenAIRE yes no no EU research
CiteSeerX limited yes limited Intermittent
DOAJ yes limited limited Open access journals
BASE limited yes yes OAI-PMH based
Zenodo yes yes yes Record-dependent
HAL yes yes yes French archives
SSRN limited limited limited Metadata only
Unpaywall DOI no no DOI lookup only
Sci-Hub limited yes no Optional fallback
IEEE key key key Requires API key
ACM key key key Requires API key

Environment Variables

All environment variables are optional. Set them in a .env file or export them.

Variable Purpose
PAPER_SEARCH_UNPAYWALL_EMAIL Required for Unpaywall DOI resolution
PAPER_SEARCH_CORE_API_KEY Better rate limits for CORE
PAPER_SEARCH_SEMANTIC_SCHOLAR_API_KEY Better rate limits for Semantic Scholar
PAPER_SEARCH_ZENODO_ACCESS_TOKEN Access embargoed Zenodo records
PAPER_SEARCH_DOAJ_API_KEY Higher rate limits for DOAJ
PAPER_SEARCH_GOOGLE_SCHOLAR_PROXY_URL Proxy for Google Scholar
PAPER_SEARCH_IEEE_API_KEY Enable IEEE Xplore
PAPER_SEARCH_ACM_API_KEY Enable ACM Digital Library

Legacy PAPER_SEARCH_MCP_* prefix is also supported for backward compatibility.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paper_search_cli-1.0.2.tar.gz (125.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paper_search_cli-1.0.2-py3-none-any.whl (104.8 kB view details)

Uploaded Python 3

File details

Details for the file paper_search_cli-1.0.2.tar.gz.

File metadata

  • Download URL: paper_search_cli-1.0.2.tar.gz
  • Upload date:
  • Size: 125.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for paper_search_cli-1.0.2.tar.gz
Algorithm Hash digest
SHA256 aaef30540d3d6447ba62dc502224f5771c48c64c8d04a23c677985c81e2e1a41
MD5 7364b8d6fcf1bf4a2e55f1f656b16f22
BLAKE2b-256 1bead294510e46da14e0c9c84a398493e00271c96fa7ec97647987f842bb540a

See more details on using hashes here.

Provenance

The following attestation bundles were made for paper_search_cli-1.0.2.tar.gz:

Publisher: publish.yml on openags/paper-search-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file paper_search_cli-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for paper_search_cli-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 66aea0f83bb443612c5f17c77bdc455ce319264f56a52beee54bb43b4d649ea9
MD5 5fe1601eda4ae43f7c45ca6616e584a6
BLAKE2b-256 09ad8cc832277545285deae1867e6c2bba388eaec86361a1ece954bfa88cb583

See more details on using hashes here.

Provenance

The following attestation bundles were made for paper_search_cli-1.0.2-py3-none-any.whl:

Publisher: publish.yml on openags/paper-search-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page