arXiv APIexport.arxiv.org ↗
Retrieve arXiv paper metadata by ID or keyword search. Access titles, authors, abstracts, categories, DOIs, and PDF links via two clean endpoints.
What is the arXiv API?
The arXiv API exposes 2 endpoints for accessing academic paper metadata from export.arxiv.org. Use get_paper to fetch the full record for a specific paper by its arXiv ID — including title, authors with affiliations, abstract, categories, DOI, and PDF URL — or use search_papers to query across millions of preprints with field-scoped syntax and paginated results.
curl -X GET 'https://api.parse.bot/scraper/f73f077c-e2a7-4a25-a5b1-8f1a7d120634/get_paper?paper_id=2412.15115' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve full metadata for a single arXiv paper by its ID. Returns submission date/year, title, authors with affiliations, abstract, categories, and links. One upstream request per call.
| Param | Type | Description |
|---|---|---|
| paper_idrequired | string | arXiv paper identifier, with or without version suffix (e.g. '2412.15115' or '2412.15115v2'). |
{
"type": "object",
"fields": {
"doi": "string or null — DOI if assigned",
"title": "string — paper title",
"authors": "array of author objects with name and optional affiliation",
"comment": "string or null — author comment",
"pdf_url": "string — URL to the PDF",
"summary": "string — full abstract text",
"arxiv_id": "string — full arXiv identifier including version",
"categories": "array of arXiv category codes",
"journal_ref": "string or null — journal reference if published",
"authors_line": "string — comma-separated list of all author names",
"updated_date": "string — last revision datetime in ISO 8601 format",
"submission_date": "string — original submission datetime in ISO 8601 format",
"submission_year": "string — four-digit year of original submission",
"primary_category": "string — primary arXiv category code"
},
"sample": {
"data": {
"doi": null,
"title": "Qwen2.5 Technical Report",
"authors": [
{
"name": "An Yang",
"affiliation": "additional authors not shown"
},
{
"name": "Baosong Yang",
"affiliation": "additional authors not shown"
}
],
"comment": null,
"pdf_url": "https://arxiv.org/pdf/2412.15115v2",
"summary": "In this report, we introduce Qwen2.5...",
"arxiv_id": "2412.15115v2",
"categories": [
"cs.CL"
],
"journal_ref": null,
"authors_line": "An Yang, Baosong Yang",
"updated_date": "2025-01-03T02:18:21Z",
"submission_date": "2024-12-19T17:56:09Z",
"submission_year": "2024",
"primary_category": "cs.CL"
},
"status": "success"
}
}About the arXiv API
Fetch a Single Paper by ID
The get_paper endpoint accepts a paper_id string — with or without a version suffix (e.g. 2412.15115 or 2412.15115v2) — and returns the full metadata record for that paper. The response includes the paper's title, summary (full abstract text), authors array (each with name and optional affiliation), categories (arXiv category codes such as cs.LG or math.ST), pdf_url, arxiv_id (with version), and nullable fields doi, journal_ref, and comment.
Search Across arXiv
The search_papers endpoint accepts a query string using arXiv's field-prefix syntax: ti: for title, au: for author, abs: for abstract, cat: for category, and all: for any field. Pagination is controlled via start (zero-based offset) and max_results (1–100 per page). The response includes a papers array of full paper objects (same structure as get_paper), a total_results integer for the full result count, and the current start offset for building subsequent pages.
Data Scope and Field Coverage
Every paper object surfaces authors_line — a comma-separated string of all author names — alongside the structured authors array, which is useful when you need a quick display string vs. iterating over individual author records. Category codes follow arXiv's taxonomy (e.g. cs.CV, quant-ph, econ.EM). DOI and journal reference fields are populated only when the paper has been formally published and those values are present in the arXiv record.
The arXiv API is a managed, monitored endpoint for export.arxiv.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when export.arxiv.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official export.arxiv.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a citation tool that resolves arXiv IDs to full metadata including DOI and journal reference.
- Monitor new submissions in a specific category (e.g.
cat:cs.LG) by polling search_papers with a date-sorted query. - Populate an internal research database with author affiliations and abstracts from a reading list of arXiv IDs.
- Autocomplete or power a literature search UI with paginated results from search_papers using title or abstract queries.
- Aggregate co-authorship data by extracting the authors array across a set of papers in a given subject area.
- Check whether a preprint has been formally published by inspecting the journal_ref and doi fields from get_paper.
- Generate structured paper summaries by combining the title, authors_line, and summary fields from a bulk search query.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does arXiv have an official developer API?+
What does search_papers return beyond a list of papers?+
total_results integer indicating how many papers match the query in full, plus the current start offset. Each entry in the papers array has the same structure as get_paper: title, authors, summary, categories, pdf_url, doi, journal_ref, comment, arxiv_id, and authors_line. This lets you paginate programmatically without an additional count request.