Skip to main content

arXiv-dl

Command-line research paper downloader for papers hosted on arXiv, alphaXiv, Hugging Face, ICLR, NeurIPS, CVF Open Access (CVPR, ICCV, WACV), and ECVA (ECCV).

Disclaimer: This is an opinionated command-line tool for downloading papers. It prioritizes ease of use for researchers and is not an official arXiv project.

What does it do?

  • Downloads papers from arXiv, alphaXiv, Hugging Face, ICLR, NeurIPS, CVPR, ICCV, WACV, and ECCV with a simple CLI.
  • Speeds up downloads with aria2 when available.
  • Retrieves paper metadata:
    • Title, abstract, and year
    • Authors
    • Comments and conference acceptance info
    • Repository URLs when available
    • BibTeX citation
  • Maintains a list of local papers and their metadata in a JSON file.
  • Lets you configure the download destination with an environment variable or command-line option.
  • Saves downloaded papers with standardized filenames.

Why?

  • Save time downloading and organizing papers.
  • Use multiple parallel connections for faster downloads.
  • Keep a local paper list for lookup, notes, and citations.

Installation

For regular command-line use, install with pipx:

  • Prerequisite: Python 3.9 or later
pipx install arxiv-dl

If pipx is not installed:

# Debian/Ubuntu
sudo apt install pipx
pipx ensurepath

# macOS
brew install pipx
pipx ensurepath

[!NOTE] pipx installs command-line tools in isolated environments and exposes their commands on your PATH. This avoids conflicts with operating-system-managed Python installations, including Debian/Ubuntu environments that block global pip install through PEP 668.

To upgrade:

pipx upgrade arxiv-dl

If you prefer pip, install inside a virtual environment:

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -U arxiv-dl

Optionally, install aria2c for multi-connection downloads.

  • macOS: brew install aria2
  • Linux: sudo snap install aria2c

Usage

After installation, use paper in your shell to download papers. The legacy commands arxiv-dl and getpaper are equivalent to paper.

paper [OPTIONS] TARGET(s)

Shell examples

# Download a single target
$ paper 1512.03385

# Download multiple targets
$ paper 2103.15538 https://arxiv.org/abs/1512.03385 https://alphaxiv.org/abs/2312.16682v2

# Download from ICLR Proceedings
$ paper https://proceedings.iclr.cc/paper_files/paper/2026/hash/0021c2cb1b9b6a71ac478ea52a93b25a-Abstract-Conference.html

Supported Targets

Click to expand

✅ Supported, 🚧 Not Yet Supported, ❌ Not Supported

  • ArXiv
    • ✅ ArXiv ID: 1512.03385 or arXiv:1512.03385
    • ✅ Legacy ArXiv ID: alg-geom/9708001 or cs/0002001, etc.
    • ✅ ArXiv Abstract Page URL: https://arxiv.org/abs/1512.03385
    • ✅ ArXiv PDF Page URL: https://arxiv.org/pdf/1512.03385.pdf
    • ✅ ArXiv HTML Page URL: https://arxiv.org/html/2506.15442
  • alphaXiv
    • ✅ alphaXiv Abstract Page URL: https://www.alphaxiv.org/abs/2312.16682v2
    • ✅ alphaXiv PDF Page URL: https://www.alphaxiv.org/pdf/2312.16682v2
    • ✅ Other alphaXiv paper routes containing an arXiv ID, including overview, HTML, localized, Markdown, and direct PDF asset URLs
    • alphaXiv targets are resolved through the corresponding canonical arXiv abstract and PDF URLs.
  • Hugging Face Papers
    • ✅ Single Paper Page URL: https://huggingface.co/papers/2605.12357
    • ✅ Current Daily Papers Page URL: https://huggingface.co/papers
    • ✅ Daily Papers Page URL: https://huggingface.co/papers/date/2026-05-22
    • ✅ Weekly Papers Page URL: https://huggingface.co/papers/week/2026-W21
    • ✅ Monthly Papers Page URL: https://huggingface.co/papers/month/2026-05
    • ✅ Trending Papers Page URL: https://huggingface.co/papers/trending
    • ✅ User/Organization Papers Page URL: https://huggingface.co/huggingface/papers
    • ✅ Collection Page URL: https://huggingface.co/collections/Testerpce/memory
  • CVF Open Access (CVPR, ICCV, WACV)
    • ✅ CVF Abstract Page URL: https://openaccess.thecvf.com/content/**/html/**/*.html
    • ✅ CVF PDF Page URL: https://openaccess.thecvf.com/content/**/papers/**/*.pdf
  • ECVA (ECCV)
    • ✅ ECVA Abstract Page URL: https://www.ecva.net/html/**/*.php
    • ❌ ECVA PDF Page URL: https://www.ecva.net/papers/**/*.pdf
  • NeurIPS Proceedings / NIPS Legacy Site
    • ✅ NeurIPS Abstract Page URL: https://proceedings.neurips.cc/paper_files/paper/**/hash/**/*.html
    • ✅ NeurIPS PDF Page URL: https://proceedings.neurips.cc/paper_files/paper/**/file/**/*.pdf
    • ✅ NIPS mirror Abstract Page URL: https://papers.nips.cc/paper_files/paper/**/hash/**/*.html
    • ✅ NIPS mirror PDF Page URL: https://papers.nips.cc/paper_files/paper/**/file/**/*.pdf
  • ICLR Proceedings
    • ✅ ICLR Abstract Page URL: https://proceedings.iclr.cc/paper_files/paper/**/hash/**/*-Abstract-Conference.html
    • ✅ ICLR PDF URL: https://proceedings.iclr.cc/paper_files/paper/**/file/**/*-Paper-Conference.pdf
    • ✅ Short /paper/** route and -Abstract.html aliases; both are normalized to canonical HTTPS -Conference URLs
  • OpenReview
    • 🚧 TODO

Common Options

  • -v, --verbose: Print full details.
  • -d, --download-dir: Set the download directory for this run. This overrides both the default path and ARXIV_DOWNLOAD_FOLDER.
  • -n, --n-threads: Set the number of parallel download connections used by aria2.

[!TIP] Run paper -h to see all options.

Python API

from arxiv_dl import download_paper

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

Configuration

Default Download Destination

  • By default, papers are downloaded to $HOME/Downloads/ArXiv_Papers.

Custom Download Destination

Set ARXIV_DOWNLOAD_FOLDER to choose a persistent download destination. Add this to your .bashrc or .zshrc:

export ARXIV_DOWNLOAD_FOLDER="YOUR/PATH/TO/ANY/FOLDER"
  • Download destination priority:
    1. Command-line option -d (highest priority)
    2. Environment variable ARXIV_DOWNLOAD_FOLDER
    3. Default download destination (lowest priority)

Custom Command Alias

  • You can define aliases to rename the command or add default options:
    alias dp="paper"
    alias dpv="paper -v -d '~/Documents/Papers'"
    

Contributing

Development, testing, build, and publishing notes are in DEVELOPMENT.md.

License

This project is licensed under the MIT License.
© Mark H. Huang. All rights reserved.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxiv_dl-1.3.4.tar.gz (973.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxiv_dl-1.3.4-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_dl-1.3.4.tar.gz.

File metadata

  • Download URL: arxiv_dl-1.3.4.tar.gz
  • Upload date:
  • Size: 973.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for arxiv_dl-1.3.4.tar.gz
Algorithm Hash digest
SHA256 504861727f3d14d6211e02fad7a9a3d3f730e20106b4f40f346b3f3e8f5acc80
MD5 af6ff2205359e6fde156b83db77d688d
BLAKE2b-256 7855770c91adcc57faa3d9d0f03dc815f9a02949fb028253582bfe23db6eb82d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arxiv_dl-1.3.4.tar.gz:

Publisher: publish.yml on MarkHershey/arxiv-dl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arxiv_dl-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: arxiv_dl-1.3.4-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for arxiv_dl-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cbde4bba9aef97eca491a54366c87214ea0bf4c8e4cb3e8bb5ebfda28394d6e1
MD5 c30426858dae5a84024a823342c7dcbc
BLAKE2b-256 c4d6152fb9434aef39532eba526d74d3114eae9fb546fcdeb6e7c08b1e064eef

See more details on using hashes here.

Provenance

The following attestation bundles were made for arxiv_dl-1.3.4-py3-none-any.whl:

Publisher: publish.yml on MarkHershey/arxiv-dl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.3.4 This release

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page