BYTETOOLS

arXiv API

Free arXiv API with no key: search 2M+ preprints across physics, mathematics, computer science and biology, with abstracts, authors and PDF links. Tested.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the arXiv API?

The arXiv API is a free, key-free API for searching more than two million open access preprints across physics, mathematics, computer science, quantitative biology, statistics and economics, returning abstracts, authors and PDF links.

arXiv is where most physics, mathematics and machine learning research appears first, often months before journal publication. Everything on it is freely readable, which makes it the most important open preprint archive in the sciences.

The API returns Atom XML rather than JSON — it predates the JSON convention and has never changed, for good reasons of stability. You will need an XML parser, which is the main friction in using it.

Quick facts

Base URL
https://export.arxiv.org/api/query
Authentication
No API key required. arXiv asks for a delay of at least 3 seconds between requests.
Rate limit
One request every 3 seconds; bulk users should use the S3 bulk data access instead.
Pricing
Free open access archive.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the arXiv API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Search arXiv preprints

GET https://export.arxiv.org/api/query?search_query=all:electron&max_results=1

curl
curl 'https://export.arxiv.org/api/query?search_query=all:electron&max_results=1'
JavaScript (fetch)
const res = await fetch("https://export.arxiv.org/api/query?search_query=all:electron&max_results=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://export.arxiv.org/api/query?search_query=all:electron&max_results=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:arxiv="http://arxiv.org/schemas/atom" xmlns="http://www.w3.org/2005/Atom">
  <id>https://arxiv.org/api/cHxbiOdZaP56ODnBPIenZhzg5f8</id>
  <title>arXiv Query: search_query=all:electron&amp;id_list=&amp;start=0&amp;max_results=1</title>
  <updated>2026-08-20T06:29:59Z</updated>
  <link href="https://arxiv.org/api/query?search_query=all:electron&amp;start=0&amp;max_results=1&amp;id_list=" type="application/atom+xml"/>
  <opensearch:itemsPerPage>1</opensearch:itemsPerPage>
  <opensearch:totalResults>185141</opensearch:totalResults>
  <opensearch:startIndex>0</opensearch:startIndex>
  <entry>
    <id>http://arxiv.org/abs/cond-mat/0011267v1</id>
    <title>The electronic structure of cuprates from high energy spectroscopy</title>
    <updated>2000-11-15T16:19:15Z</updated>
    <link href="https://arxiv.org/abs/cond-mat/0011267v1" rel="alternate" type="text/html"/>
    <link href="https://arxiv.org/pdf/cond-mat/0011267v1" rel="related" type="application/pdf" title="pdf"/>
    <summary>  We report studies of the electronic structure and elementary excitations of doped and undoped cuprate chains, ladders and planes. Using high energy spectroscopies such as x-ray absorption, core level photoemission and angle resolved photoemission spectroscopy, important information regarding the charge distribution and hole dynamics can be obtained. The comparison of the experimental data with suitable theoretical models sets constraints on the parameters entering into the model calculations,

Parameters

ParameterTypeRequiredDescription
search_querystringOptionalField-prefixed query, e.g. all:, ti:, au:, cat:. all:electron
id_liststringOptionalFetch specific arXiv ids. 2301.00001
start / max_resultsintegerOptionalPagination controls. 0
sortBystringOptionalrelevance, lastUpdatedDate or submittedDate. submittedDate

Response fields

(Atom XML)xml
The response is Atom XML, not JSON — parse with an XML library.
entry/titlestring
Paper title.
entry/summarystring
Abstract.
entry/author/namestring
Author names.
entry/idstring
arXiv identifier URL.
entry/published / updatedstring
Submission and revision dates.
entry/link[@title='pdf']string
Direct PDF download link.

What you can build with the arXiv API

  • Monitor new preprints in a research area
  • Build a paper discovery or alerting tool
  • Analyse publication trends in machine learning or physics
  • Fetch abstracts and PDFs for a literature review

Common errors and how to fix them

XML, not JSON

arXiv predates JSON APIs and still serves Atom.

Fix: Use an XML parser; there is no JSON output option.

Empty results for a valid query

Query syntax uses field prefixes.

Fix: Use all:term, ti:term for title, au:term for author, cat:cs.AI for category.

429 or throttling

arXiv asks for 3 seconds between requests.

Fix: Add a delay; for bulk access use the S3 bulk data option rather than the API.

arXiv API — frequently asked questions

Is the arXiv API free?

Yes, completely free with no API key. arXiv asks that you leave at least three seconds between requests.

Why does it return XML instead of JSON?

The API predates the JSON convention and has remained stable rather than breaking existing consumers. Use an XML parser — there is no JSON option.

How do I search by author or category?

Use field prefixes in search_query: au: for author, ti: for title, cat: for category such as cs.AI, and all: to search everything.

Can I download the papers?

Yes, each entry includes a direct PDF link. Everything on arXiv is open access, though individual papers carry their own licences.

Tools that pair with this API

arXiv is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.