Skip to main content

arxiv-dl

A command-line tool for downloading, naming, and cataloging research papers from arXiv and major paper repositories.

PyPI version PyPI downloads MIT license

arxiv-dl is an independent project and is not affiliated with arXiv.

Features

  • Accepts arXiv IDs, individual paper URLs, and supported listing or collection pages.See Supported Inputs for the complete list of supported targets.
  • Saves consistently named PDFs, optional text or Markdown notes, and a local JSON paper index.
  • Extracts available metadata such as title, authors, abstract, venue, year, comments, and BibTeX. Availability varies by source.
  • Supports a configurable download directory and optional parallel downloads with aria2.

Installation

arxiv-dl requires Python 3.9 or newer. Install it with pipx to keep it isolated from other Python packages:

If pipx is already installed:

pipx install arxiv-dl
paper --help

Current pipx releases require Python 3.10 or newer. If pipx is not installed, use the setup command for your platform, restart the terminal, and then run the commands above.

Platform Install pipx
macOS brew install pipx
pipx ensurepath
Debian 12+ / Ubuntu 23.04+ sudo apt update
sudo apt install pipx
pipx ensurepath
Fedora sudo dnf install pipx
pipx ensurepath
Windows PowerShell py -m pip install --user pipx
py -m pipx ensurepath

On Windows, replace py with python or python3 if needed. See the pipx installation guide for other platforms.

Upgrade an existing installation with:

pipx upgrade arxiv-dl
Install with pip in a virtual environment

Use this method if you have Python 3.9 or prefer not to use pipx.

On macOS or Linux:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade arxiv-dl
paper --help

On Windows PowerShell:

py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade arxiv-dl
paper --help

On Command Prompt, use .venv\Scripts\activate.bat instead of the PowerShell activation command. The paper command is available while the virtual environment is active.

If PowerShell blocks script activation, use the environment directly:

.\.venv\Scripts\python.exe -m pip install --upgrade arxiv-dl
.\.venv\Scripts\paper.exe --help

Usage

paper [OPTIONS] TARGET [TARGET ...]

arxiv-dl and getpaper are alternative command names for paper.

Examples

# Download one paper by arXiv ID
paper 1512.03385

# Download multiple targets
paper 2103.15538 https://arxiv.org/abs/1512.03385

# Download all papers from the current Hugging Face daily listing
paper https://huggingface.co/papers

# Choose an output directory and skip the notes file
paper 1512.03385 --download-dir ./papers --pdf-only

Supported inputs

Source Accepted input
arXiv Modern or legacy arXiv IDs; abstract, PDF, and HTML URLs
alphaXiv Paper routes containing a valid arXiv ID; resolved through canonical arXiv URLs
Hugging Face Papers Individual papers; daily, weekly, monthly, trending, user, and organization listings; collections
ICLR Proceedings abstract and PDF URLs, including short-route aliases
NeurIPS / NIPS Abstract and PDF URLs from the current proceedings or legacy NIPS site
CVF Open Access Abstract and PDF URLs for CVPR, ICCV, WACV, and ACCV, including workshops and findings tracks
ECVA ECCV abstract pages; direct PDF support varies by year, so prefer the abstract page
View detailed input formats

✅ Supported, 🚧 not yet supported, ⚠️ limited support

  • arXiv
    • ✅ arXiv ID: 1512.03385 or arXiv:1512.03385
    • ✅ Legacy arXiv ID: alg-geom/9708001 or cs/0002001
    • ✅ Abstract URL: https://arxiv.org/abs/1512.03385
    • ✅ PDF URL: https://arxiv.org/pdf/1512.03385.pdf
    • ✅ HTML URL: https://arxiv.org/html/2506.15442
  • alphaXiv
    • ✅ Abstract URL: https://www.alphaxiv.org/abs/2312.16682v2
    • ✅ PDF URL: https://www.alphaxiv.org/pdf/2312.16682v2
    • ✅ Other paper routes containing an arXiv ID, including overview, HTML, localized, Markdown, and direct PDF asset URLs
    • alphaXiv targets resolve through the corresponding canonical arXiv URLs.
  • Hugging Face Papers
    • ✅ Individual paper: https://huggingface.co/papers/2605.12357
    • ✅ Current daily papers: https://huggingface.co/papers
    • ✅ Daily papers: https://huggingface.co/papers/date/2026-05-22
    • ✅ Weekly papers: https://huggingface.co/papers/week/2026-W21
    • ✅ Monthly papers: https://huggingface.co/papers/month/2026-05
    • ✅ Trending papers: https://huggingface.co/papers/trending
    • ✅ User or organization papers: https://huggingface.co/huggingface/papers
    • ✅ Collection: https://huggingface.co/collections/Testerpce/memory
  • CVF Open Access (CVPR, ICCV, WACV, ACCV)
    • ✅ Abstract URL: https://openaccess.thecvf.com/content/**/html/**/*.html
    • ✅ PDF URL: https://openaccess.thecvf.com/content/**/papers/**/*.pdf
    • ✅ Workshop and findings-track URLs
  • ECVA (ECCV)
    • ✅ Abstract URL: https://www.ecva.net/papers/eccv_<year>/papers_ECCV/html/<paper>.php
    • ⚠️ Direct PDF support varies by year; prefer the abstract URL.
  • NeurIPS Proceedings / NIPS legacy site
    • ✅ NeurIPS abstract URL: https://proceedings.neurips.cc/paper_files/paper/**/hash/**/*.html
    • ✅ NeurIPS PDF URL: https://proceedings.neurips.cc/paper_files/paper/**/file/**/*.pdf
    • ✅ NIPS abstract URL: https://papers.nips.cc/paper_files/paper/**/hash/**/*.html
    • ✅ NIPS PDF URL: https://papers.nips.cc/paper_files/paper/**/file/**/*.pdf
  • ICLR Proceedings
    • ✅ Abstract URL: https://proceedings.iclr.cc/paper_files/paper/**/hash/**/*-Abstract-Conference.html
    • ✅ PDF URL: https://proceedings.iclr.cc/paper_files/paper/**/file/**/*-Paper-Conference.pdf
    • ✅ Short /paper/** routes and -Abstract.html aliases, normalized to the canonical HTTPS -Conference URLs
  • OpenReview
    • 🚧 Not yet supported

Options

Option Description
-d, --download-dir DIR Set the directory for this run; overrides the environment variable and default.
-p, --pdf-only Download the PDF without creating a notes file.
--notes-format {txt,md} Set the notes format (default: txt).
-n, --n-threads N Request 1–16 download connections (default: 1). Values above 1 use aria2 when available; CVF uses one connection.
-v, --verbose Show full details.
--verbose-level LEVEL Set output to silent, minimal, default, or verbose.
--skip-update-check Skip the package update check.

Run paper --help for the full command reference.

Faster downloads with aria2

aria2 is optional. Install it, ensure aria2c is on your PATH, and request more than one connection:

Platform Install aria2
macOS brew install aria2
Debian / Ubuntu sudo apt install aria2
Fedora sudo dnf install aria2
Windows PowerShell winget install --exact --id aria2.aria2
paper --n-threads 5 1512.03385

Configuration

Papers are saved to ~/Downloads/ArXiv_Papers by default (%USERPROFILE%\Downloads\ArXiv_Papers on Windows). Use --download-dir for a single run or set ARXIV_DOWNLOAD_FOLDER for a persistent default.

On macOS or Linux, add this to .bashrc, .zshrc, or the relevant shell profile:

export ARXIV_DOWNLOAD_FOLDER="$HOME/Documents/Papers"

Reload the shell profile or open a new terminal for the change to take effect.

On Windows PowerShell, set a persistent user environment variable and open a new terminal:

[Environment]::SetEnvironmentVariable("ARXIV_DOWNLOAD_FOLDER", "$HOME\Documents\Papers", "User")

The resolution order is --download-dir, ARXIV_DOWNLOAD_FOLDER, then the default directory.

Python API

from arxiv_dl import download_paper

download_paper(
    target="1512.03385",
    download_dir=".",
    set_verbose_level="silent",
)

Contributing

See DEVELOPMENT.md for development, testing, build, and release instructions.

License

MIT © 2021–2026 Mark H. Huang.

Metadata

Release files for arxiv-dl 1.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arxiv-dl 1.3.5
File Size Uploaded Provenance Actions
arxiv_dl-1.3.5.tar.gz 976.8 kB With provenance Details for arxiv_dl-1.3.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for arxiv-dl 1.3.5
File Interpreter ABI Platform Actions
arxiv_dl-1.3.5-py3-none-any.whl Python 3 none any Details for arxiv_dl-1.3.5-py3-none-any.whl

Total release size: 1.0 MB

Release files / arxiv_dl-1.3.5.tar.gz

Download URL arxiv_dl-1.3.5.tar.gz
Size 976.8 kB
Tags Source
SHA-256 checksum
How to use checksums
04c723d1b0cc401064aa3edf7e1e17aaa51af6e8e2d6d04ab47b476789c1e8c0
BLAKE2b-256 checksum
How to use checksums
16f9e89101a341823625056461df64807b97877019245f7eacbd0645b3ebfdcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Release files / arxiv_dl-1.3.5-py3-none-any.whl

Download URL arxiv_dl-1.3.5-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
084877c6d9e540b3470fea6e9a7786dbd7d976f767b51572b9849c1fb240714a
BLAKE2b-256 checksum
How to use checksums
165728fd6bbf8e3779c60ad4c9709da7519fbed2509740009deb7ec34bb82427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

Security for arxiv-dl 1.3.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for arxiv_dl-1.3.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.3.5 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page