Repolode
lukasschwab

lukasschwab/arxiv.py

A Python wrapper for the arXiv API to search arXiv papers and fetch their metadata, PDFs and source files.

Stars
1,562
Forks
157
Open issues
3
Last commit
5 days ago

What is it?

arxiv.py is a Python client library for the arXiv API, the public interface to the preprint archive run by Cornell University Library that covers physics, mathematics, computer science, quantitative biology, quantitative finance and statistics. It lets Python code run keyword, author, title and ID searches using arXiv's query syntax and iterate over the results as Python objects.

A Client object handles pagination, retries and a configurable delay between requests, so repeated calls reuse the same connection pool and respect the rate limit. Each result exposes paper metadata such as title and authors, and provides the PDF URL and a helper for the source tarball, which can be downloaded with the standard library.

The package is installable from PyPI with pip or uv and is MIT licensed.

Key features

  • 01Keyword, author, title and ID searches using arXiv query syntax.
  • 02Lazy generator interface that yields results one at a time.
  • 03Configurable page size, request delay and retry count via Client.
  • 04Access to paper metadata, PDF URL and source tarball URL.
  • 05Installable from PyPI with pip or uv.

Use cases

  • Pulling recent papers on a topic into a literature review script.
  • Batch-downloading PDFs or source files for a list of arXiv IDs.
  • Building a dashboard or alert that tracks new submissions by author or keyword.

Quick start

  1. 1

    Install the package from PyPI

    pip install arxiv
  2. 2

    Import the library in your Python code

    import arxiv
  3. 3

    Search for the 10 most recent articles matching a keyword using the default client

Things to know

  • Depends on the public arXiv API, so request rates are limited and results depend on that service.

In collections

Topics

FAQ

What is arxiv.py?
A Python wrapper for the arXiv API to search arXiv papers and fetch their metadata, PDFs and source files. arxiv.py is a Python client library for the arXiv API, the public interface to the preprint archive run by Cornell University Library that covers physics, mathematics, computer science, quantitative biology, quantitative finance and statistics. It lets Python code run keyword, author, title and ID searches using arXiv's query syntax and iterate over the results as Python objects.
Is arxiv.py free to use? What license does it have?
arxiv.py is open source under the MIT license. Check the license terms before using it in commercial products.
Is arxiv.py still maintained?
Actively maintained. The last commit to arxiv.py was on Nov 2, 2026.
What can I use arxiv.py for?
Pulling recent papers on a topic into a literature review script. Batch-downloading PDFs or source files for a list of arXiv IDs. Building a dashboard or alert that tracks new submissions by author or keyword.
How do I install arxiv.py?
Install the package from PyPI: pip install arxiv Import the library in your Python code: import arxiv Search for the 10 most recent articles matching a keyword using the default client
Where can I get arxiv.py?
The source code and installation instructions are on GitHub: https://github.com/lukasschwab/arxiv.py

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects