Help us improve
Share bugs, ideas, or general feedback.
Academic literature search, citation management, and PDF retrieval using the opencite CLI
npx claudepluginhub neuromechanist/openciteAcademic literature search, citation management, and PDF retrieval using the opencite CLI
No description available.
RuFlo Marketplace: Claude Code native agents, swarms, workers, and MCP tools for continuous software engineering
Code intelligence powered by a knowledge graph — execution flows, blast radius, and semantic search
Share bugs, ideas, or general feedback.
Academic literature search, citation management, and PDF retrieval CLI.
Searches Semantic Scholar, OpenAlex, and PubMed in parallel, deduplicates results, and supports BibTeX output, citation graph traversal, PDF retrieval, batch downloads, and PDF-to-markdown conversion.
Install and set up your API keys:
uv pip install opencite # or: pip install opencite
opencite config init # creates ~/.opencite/config.toml
Add your API keys to ~/.opencite/config.toml or export them as environment variables:
export SEMANTIC_SCHOLAR_API_KEY=your_key
export PUBMED_API_KEY=your_key
export OPENALEX_API_KEY=your_key
Start searching:
opencite search "transformer attention mechanism"
opencite lookup 10.1038/nature12345
opencite canonical "deep learning" --min-citations 500
opencite cite 10.1038/nature12345
opencite pdf 10.1038/nature12345 -o paper.pdf --convert
[!NOTE] Claude Code plugin: Type
/plugin, select "Add marketplace", enterneuromechanist/opencite, and restart. Then use/openciteor ask Claude directly.
[!TIP] PDF conversion is included by default. If
MISTRAL_API_KEYis set, markit-mistral is used (better for math/complex layouts); otherwise markitdown (free, local).
opencite search "query" [--max N] [--source all|openalex|s2|pubmed]
[--year-from YYYY] [--year-to YYYY] [--oa-only]
[--sort relevance|citations|year] [-f text|json|bibtex|csv] [-o FILE] [-v]
opencite lookup IDENTIFIER [IDENTIFIER ...] [--enrich] [--append-bib FILE]
[-f text|json|bibtex] [-o FILE] [-v]
Accepts DOI, pmid:X, pmc:X, arxiv:X, S2 ID, or OpenAlex ID. Supports multiple IDs.
opencite cite IDENTIFIER [--direction citing|references|both] [--max N]
[--sort citations|year] [--min-citations N] [-f text|json|bibtex] [-o FILE]
opencite canonical "topic" [--max N] [--year-from YYYY] [--min-citations N]
[-f text|json|bibtex] [-o FILE]
opencite pdf IDENTIFIER [-o PATH] [--filename NAME] [--convert]
[--converter auto|markitdown|mistral]
-o accepts a file path (e.g., paper.pdf) or directory. With --convert, also generates a markdown file alongside the PDF.
opencite convert FILE.pdf [-o FILE] [--converter auto|markitdown|mistral]
[--extract-images] [--images-dir DIR]
Auto mode uses markit-mistral when MISTRAL_API_KEY is set (better for math and complex layouts), otherwise falls back to markitdown (free, local).
opencite batch-fetch FILE [-o DIR] [--convert] [--concurrency N] [--summary FILE]
opencite batch-fetch --from-json FILE [options]
opencite batch-fetch --from-stdin [options]
Downloads PDFs for multiple papers with controlled concurrency. Supports text files (one ID per line), JSON files (array of DOIs or opencite search results), and stdin. With --convert, output is organized into pdf/, markdown/, and markdown/img/ subdirectories.
Example workflow:
# Search and save as JSON, then batch download with conversion
opencite search "tDCS motor cortex" --max 30 -f json -o results.json
opencite batch-fetch --from-json results.json --convert --summary report.json -o ./papers
opencite ids IDENTIFIER [IDENTIFIER ...] [-f text|json]
Converts between DOI, PMID, and PMCID using the NCBI ID Converter API.
opencite config init # create ~/.opencite/config.toml template
opencite config show # display resolved config (keys masked)
opencite config path # show config file location
All search/lookup/cite/canonical commands support -f/--format:
text (default) - human-readable outputjson - structured JSONbibtex - BibTeX entries for citation managerscsv - comma-separated values (search only)Use -o/--output FILE to write to a file instead of stdout.
# uv (recommended)
uv pip install opencite
# pip
pip install opencite
# uvx (no install needed, runs from cache)
uvx opencite --version
PDF conversion support (markitdown and markit-mistral) is included by default.
For development:
git clone https://github.com/neuromechanist/opencite.git
cd opencite
uv sync --extra dev
OpenCite supports TOML config, .env files, and environment variables.
opencite config init # creates ~/.opencite/config.toml with template
opencite config show # display resolved config (keys masked)
opencite config path # show config file location
Later sources override earlier ones: