nature-downloader

Downloads academic full text via publisher APIs, open access, CNKI, and institutional browser sessions.

Updated Jul 5, 2026
One-click install
npx skills add https://github.com/huaibovip/research-marketplace --skill nature-downloader-huaibovip
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nature-downloader
Source: https://github.com/huaibovip/research-marketplace/tree/main/plugins/nature-skills/skills/nature-downloader
Command: npx skills add https://github.com/huaibovip/research-marketplace --skill nature-downloader-huaibovip

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pdfplumber, pypdf, PyYAML, jsonschema, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Researchers often cannot obtain paper full text because articles sit behind publisher paywalls, require institutional subscriptions, or are scattered across open-access repositories. This Skill routes each paper through lawful download paths automatically and records an auditable manifest of every attempt. ## Core Features & Use Cases - Intelligent routing: Identifies language and publisher, then chooses CNKI for Chinese papers, publisher APIs (Elsevier, Springer Nature, IEEE) when keys exist, open-access sources (PMC, Unpaywall, arXiv), or the user's authenticated institutional browser session as fallback. - Batch downloads with SI support: Downloads PDFs, HTML/XML full text, CAJ files, and optional Supporting Information for DOI lists, exact titles, or topic searches, writing a manifest.json with hashes, routes, and typed failure statuses. - Secure credential handling: Stores publisher API keys and library configuration locally with owner-only permissions, never echoing secrets into logs or manifests. - Use Case: Given a list of 20 DOIs for a literature review, the Skill downloads all legally available PDFs into a project folder, fetches supplements where requested, and reports exactly which papers lacked institutional entitlement. ## Quick Start Ask the agent to download the papers for your DOI list into a project folder, choosing whether Supporting Information should be included.

Frequently Asked Questions about nature-downloader

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I batch download academic papers by DOI?

Run scripts/batch_download.mjs with a comma-separated --dois list, an --out directory, and exactly one of --si or --no-si. The script routes each paper through publisher APIs, open-access sources, or your institutional browser session and writes a manifest.json with per-paper status.

How do I download Chinese papers from CNKI?

Pass the Chinese title with --title to batch_download.mjs; Chinese literature always routes through CNKI using your logged-in Chrome session. You can restrict output to PDF with --cnki-format pdf or point to a library-provided CNKI entry with --cnki-url.

Which publisher APIs are supported for full-text download?

Elsevier, Springer Nature, and IEEE are supported when you configure API keys via scripts/configure_credentials.py. Keys are stored in ~/.config/lit-dl/credentials.json with owner-only permissions, and IEEE additionally requires an issued Full-Text Access endpoint template.

Does this tool bypass paywalls or CAPTCHAs?

No. It never bypasses paywalls, DRM, or two-factor authentication and never reads cookies, passwords, or session files. It only makes up to two bounded attempts on simple visible verification widgets in your already-authenticated browser, then hands off to you.

What happens when a publisher API returns no full text?

The downloader automatically tries legitimate open-access sources such as PMC, Unpaywall, and arXiv. Only if both fail does it return api_fallback_confirmation_required, asking once before using your institutional Web Access browser route.

Why does the downloader ask about Supporting Information first?

Every download requires an explicit SI choice to avoid unwanted bulk fetching. Without --si or --no-si the script returns si_confirmation_required and creates no output; the choice applies to the entire batch.