Swap arxiv.org for talk2arxiv.org in any paper link to read the paper and chat with an AI that has read its full text.
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
Install the package from PyPI
pip install arxiv - 2
Import the library in your Python code
import arxiv - 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
A mobile app for finding, reading, bookmarking, summarizing and discussing arXiv papers, with optional AI chat via your own Gemini API key.
A web and Tampermonkey userscript hub that turns an arXiv paper ID into one-click links to reading, translation, search, and discussion tools.
A local MCP server that lets AI agents search arXiv, read papers section by section from original LaTeX, export BibTeX, and watch topics.
Translates scientific PDF papers into another language while preserving formulas, charts, tables and layout, with a bilingual output option.
A Zotero plugin that translates PDFs, EPubs, webpages, metadata, annotations and notes, with 20+ translation services supported.