{"repo":"Agents365-ai/paper-fetch","free":true,"listed":false,"github":"https://github.com/Agents365-ai/paper-fetch","clone":"git clone https://github.com/Agents365-ai/paper-fetch.git","description":"DOI → PDF resolver with 7-source fallback (Unpaywall, S2, arXiv, PMC, bioRxiv, publisher, Sci-Hub). Multi-agent, zero-deps Python.","language":"Python","stars":180,"topics":["agent-skills","claude-code","claude-code-skill","claude-skills","doi","open-access","openclaw","openclaw-skills","pdf-downloader","skill-md"],"license":"MIT","category":"ai-agents","readme_excerpt":"paper-fetch — Download scientific paper PDFs by DOI English · 中文 · 📖 Online Docs Resolve a DOI (or title) to a PDF via a 7-source fallback chain — Unpaywall → Semantic Scholar → arXiv → PubMed Central → bioRxiv/medRxiv → publisher direct → Sci-Hub mirrors. Pure Python stdlib, agent-native CLI with stable JSON envelopes. What it does Resolve a DOI (or title) to a PDF - 7-source fallback chain: Unpaywall → Semantic Scholar → arXiv → PubMed Central → bioRxiv/medRxiv → publisher direct (institutional opt-in) → Sci-Hub mirrors (last resort, on by default) - Title-only input via --title — Crossref + Semantic Scholar resolution with confidence flags - Auto-named output: {first author} {year} {journal abbrev} {short title}.pdf Batch + agent-friendly - --batch dois.txt or --batch - (stdin) for bulk download - --idempotency-key replays the exact envelope on retry without network I/O - --stream emits one NDJSON result per line as each DOI resolves - Skips already-downloaded files unless --overwrite Built-in correctness - Stable JSON envelope on stdout, NDJSON progress on stderr, machine-readable schema subcommand - TTY-aware format default, typed exit codes ( 0 / 1 / 3 / 4 ) for orchestrator routing - SSRF defense + %PDF magic-byte check + 50 MB size cap on every fetch - Zero runtime dependencies — pure Python stdlib Cloudflare-blocked PDFs (opt-in) - PAPER FETCH CLOAK=1 retries any 403/429-blocked or JS-challenged PDF URL through CloakBrowser, a stealth Chromium that passes the challe","default_branch":null,"files":null,"tree":[],"storefront":"/r/Agents365-ai","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Agents365-ai/paper-fetch/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}