| name | arxiv-cli-tools |
| description | Command-line tools for searching and batch-downloading arXiv papers |
| metadata | {"openclaw":{"emoji":"🔍","category":"literature","subcategory":"search","keywords":["arxiv","command line","paper download","preprint search","batch download","literature retrieval"],"source":"https://pypi.org/project/arxiv-cli-tools/"}} |
arXiv CLI Tools
Overview
arxiv-cli-tools is a Python command-line interface for searching and downloading papers from arXiv.org. It wraps the arxiv Python client library into convenient CLI commands, enabling researchers to search by keyword, author, or category, view abstracts, and batch-download PDFs directly from the terminal. No API key is required.
Installation
pipx install arxiv-cli-tools
pip install arxiv-cli-tools
arxiv-cli --help
Searching Papers
Basic Search
arxiv-cli search "transformer attention mechanism"
arxiv-cli search "quantum computing" -n 5
arxiv-cli search "prompt engineering" -n 5 --summary
Filtered Search
arxiv-cli search "attention mechanism" --authors "Vaswani"
arxiv-cli search "neural networks" --categories "cs.LG,cs.AI"
arxiv-cli search "protein folding" --categories "q-bio" -n 20 --summary
Common arXiv Categories
| Prefix | Field | Popular Subcategories |
|---|
cs | Computer Science | cs.AI, cs.CL, cs.CV, cs.LG, cs.SE |
math | Mathematics | math.ST, math.OC, math.PR |
physics | Physics | physics.comp-ph, hep-th, cond-mat |
stat | Statistics | stat.ML, stat.ME, stat.TH |
q-bio | Quantitative Biology | q-bio.BM, q-bio.GN |
q-fin | Quantitative Finance | q-fin.ST, q-fin.PM |
econ | Economics | econ.EM, econ.GN |
eess | Electrical Engineering | eess.SP, eess.AS |
Downloading Papers
Single Paper
arxiv-cli download --id 1706.03762 --dest ~/papers
arxiv-cli download --id 2301.13688 --dest ~/papers --pdf
Batch Download
arxiv-cli download --id 1706.03762 --id 2301.13688 --id 2303.08774 \
--dest ~/papers/transformers
arxiv-cli download --id 1706.03762 --id 2301.13688 \
--dest ~/papers --skip-existing
Download from Search Results
A common workflow is to search first, then download selected papers:
arxiv-cli search "diffusion models survey" -n 10 --summary
arxiv-cli download --id 2209.00796 --id 2206.00364 --dest ~/papers/diffusion
Python API Alternative
For programmatic use, the underlying arxiv library provides a Python API:
import arxiv
search = arxiv.Search(
query="large language models",
max_results=10,
sort_by=arxiv.SortCriterion.SubmittedDate
)
for result in arxiv.Client().results(search):
print(f"{result.entry_id}: {result.title}")
print(f" Authors: {', '.join(a.name for a in result.authors)}")
print(f" Published: {result.published.date()}")
print(f" PDF: {result.pdf_url}")
print()
result.download_pdf(dirpath="./papers", filename="paper.pdf")
Workflow Integration
Daily Paper Check Script
#!/bin/bash
DATE=$(date +%Y-%m-%d)
LOG="$HOME/papers/daily_${DATE}.txt"
echo "=== arXiv Papers for $DATE ===" > "$LOG"
arxiv-cli search "retrieval augmented generation" \
--categories "cs.CL,cs.AI" -n 20 --summary >> "$LOG"
echo "Paper digest saved to $LOG"
Export to BibTeX
After finding relevant papers, retrieve BibTeX entries via the arXiv API:
curl -s "https://arxiv.org/bibtex/1706.03762"
Rate Limits and Etiquette
- arXiv API allows 1 request per 3 seconds for programmatic access
- For bulk downloads, add delays between requests
- The CLI tool respects rate limits by default
- See arXiv API Terms of Use
References