Papers

Overview

3,166,878 arXiv papers in full text, synced the day they are announced, plus PubMed Central, bioRxiv and medRxiv. Paper access and retrieval live under /arxiv/ and /pmc/; agentic search under /arxiv/agent/.

Writing queries that work matters more than any parameter. Be specific — “what compression ratio does KV cache eviction report on LongBench” beats “kv cache”. Ask for numbers if you want numbers. Chinese works directly; queries are rewritten to English technical terms for retrieval and the answer comes back in your language. Put scope limits — year, venue, category, author, institution, minimum citations — in the query text; they become filters. If results miss, rephrase: raising effort only adds reading rounds.

Agentic search

effortGather roundsFirst tokenReach for it when
default1–23–4sYou want an answer now
high37–8sComparing across papers
xhigh4–59–13sSurvey-shaped questions

Rounds are a ceiling, not a floor — the loop converges early once the evidence is enough. Answer text starts within ~5s: a speculative prefetch removes the first evidence round, and the run is forced into the answer phase at force_answer_after.

Ask arXivregistered key+ /stream

POST/arxiv/agent/search

A question goes in; the service runs hybrid retrieval over the full-text corpus, reads the sections it needs, and returns an answer with real IDs — [arXiv:2512.15176]. Append /stream for NDJSON events.

CLIdeepxiv ask "…"

Parameters

ParameterTypeDescription
query string REQUIRED 1–2000 characters. Be specific; ask for numbers if you want numbers.
effort default | high | xhigh = default Gather rounds ceiling: 1–2 / 3 / 4–5.
verbose bool = false Include the tool-call trace (and tool_call / tool_result / thinking events when streaming).
top_k integer = 10 Speculative prefetch size, 1–30.
stream_answer bool = true Streaming endpoint only. false emits one answer event instead of deltas.
max_rounds integer OPTIONAL 0–8. Overrides the effort preset. 0 answers straight off the prefetch — first token ≈1.3s.
force_answer_after number OPTIONAL 0.5–30s. Hard cutover into the answer phase.
max_answer_tokens integer = 4096 256–16384. Hitting it sets answer_truncated.
language string OPTIONAL Answer language. Defaults to the query’s language.

Example

{
  "answer": "DEER reports a 5.54× speedup on HumanEval ... [arXiv:2512.15176]",
  "sources": [ { "arxiv_id": "2512.15176", "title": "...", "url": "https://arxiv.org/abs/2512.15176" } ],
  "stats": { "rounds": 1, "elapsed_s": 6.2, "answer_truncated": false },
  "trace": [ ... ],                       // only when verbose=true
  "quota": { "tier": "free", "used": 3, "limit": 30 }
}
Registered keys only. The token the SDK auto-registers returns 403. Every registered account gets 30 agentic calls a day, free, shared across arXiv, web and talent.
Citations are real. It never invents an ID and says “no relevant papers” rather than fabricate. sources is the retrieval set, not the citation list — filter to IDs that appear in answer. answer_truncated means incomplete — say so downstream.

Reading

One paper, seven views, all GET /arxiv/?type=…&arxiv_id=…. Each layer is a separate call; judge with brief, locate with head, read one section, and only then raw. Real numbers for 2409.05591: brief ~300 tokens, head ~1.7k, section “2. Method” 5,919, raw 23,311.

brief

GET/arxiv/?type=brief&arxiv_id={arxiv_id}

Title, TLDR, keywords, publication date, citation count, GitHub URL. ~300 tokens — enough to judge whether the paper is worth reading.

CLIdeepxiv paper 2409.05591 --brief

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

Response

  • arxiv_idarXiv ID
  • titlePaper title
  • tldrGenerated one-paragraph summary
  • keywordsKeyword list
  • publish_atPublication date
  • citationsCitation count
  • github_urlCode repository, when found
  • src_urlPDF link

head

GET/arxiv/?type=head&arxiv_id={arxiv_id}

Structured metadata plus the section map: every section name with its own TLDR and token count, so an agent knows where the answer lives before paying for it. Total token_count included.

CLIdeepxiv paper 2409.05591 --head

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

Response

  • title / abstract / authorsAuthors carry name, orgs and optional misc (email, orcid)
  • sections[{ name, idx, tldr, token_count }]
  • token_countTokens in the full paper
  • venue / journal_name / citations / categories / publish_at / keywords / github_urlAs available

section

GET/arxiv/?type=section&arxiv_id={arxiv_id}§ion={section}

One section, in full, as clean markdown. Use the names from head.

CLIdeepxiv paper 2409.05591 --section "2. Method"

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
section string REQUIRED Section name exactly as listed by head, e.g. 1. Introduction.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

preview

GET/arxiv/?type=preview&arxiv_id={arxiv_id}

The first N characters of the paper. Returns is_truncated and total_characters.

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
characters integer = 10000 100–100000.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

raw

GET/arxiv/?type=raw&arxiv_id={arxiv_id}

The entire paper as markdown. Reach for it last.

CLIdeepxiv paper 2409.05591 --raw

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

json

GET/arxiv/?type=json&arxiv_id={arxiv_id}

The complete structured document: metadata and every section as JSON.

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

markdown (HTML view)

GET/arxiv/?type=markdown&arxiv_id={arxiv_id}

A rendered HTML page for reading in a browser. Open 2409.05591.

Parameters

ParameterTypeDescription
arxiv_id string REQUIRED arXiv paper ID. 2409.05591 and 2504.21776 are free.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

Search & retrieve

GET/arxiv/?type=retrieve&query={query}

Hybrid retrieval (dense + sparse over metadata, section and RoC indexes, optional fine rerank) over arXiv, bioRxiv and medRxiv. Returns a ranked list, not an answer — for a cited answer use Ask arXiv. Queries transformer, attention mechanism, large language model are free.

CLIdeepxiv search "agentic memory" --venue NeurIPS --venue-year 2025

Parameters

ParameterTypeDescription
query string REQUIRED Up to 500 characters.
source arxiv | biorxiv | medrxiv = arxiv ID field in results follows the source: arxiv_id / biorxiv_id / medrxiv_id.
top_k integer = 10 1–100.
offset integer = 0 Pagination, 0–10000.
authors string[] OPTIONAL Filter and ranking signal. Repeat the param per value.
orgs string[] OPTIONAL Organisation filter and ranking signal.
categories string[] OPTIONAL e.g. cs.AI, cs.CL. Pure filter.
venue string[] OPTIONAL NeurIPS, ICLR, CVPR… aliases resolve (NeurIPS ↔ NIPS). venues is an alias.
venue_year integer OPTIONAL 1900–2100, parsed from the venue string.
min_citation integer OPTIONAL Citation floor. Pure filter.
date_search_type exact | after | before | between OPTIONAL Pair with date_str.
date_str string[] OPTIONAL YYYY / YYYY-MM / YYYY-MM-DD; for between pass start and end.
search_funcs string[] OPTIONAL Index types, default metadata, section, roc.
use_fine_rerank bool = true Fine rerank after recall.
return_contents bool = false Include matched section contents.
return_roc bool = false Include the RoC list.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

Example

{
  "status": "success", "total_count": 3,
  "result": [ { "arxiv_id": "2506.18871", "score": 0.9475, "title": "...", "tldr": "...", "abstract": "...",
                "authors": [{ "name": "...", "orgs": ["..."] }], "url": "https://arxiv.org/abs/2506.18871",
                "date": "2025-06-23T17:38:54Z", "citation_count": 217, "categories": ["cs.CV"] } ]
}
Filters combine with AND. A narrow date window on a high citation floor can legitimately return 0 — loosen one. Legacy size, search_mode, bm25_weight, vector_weight, date_from, date_to are gone.

PMC, bioRxiv, medRxiv

PubMed Central articles live under /pmc/ with the same type convention. bioRxiv and medRxiv are reached through retrieve with source=biorxiv|medrxiv. Open-access only.

PMC · head

GET/pmc/?type=head&pmc_id={pmc_id}

PubMed Central metadata: title, DOI, abstract, authors, categories, date. PMC544940 and PMC514704 are free.

Parameters

ParameterTypeDescription
pmc_id string REQUIRED PMC ID.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.

PMC · json

GET/pmc/?type=json&pmc_id={pmc_id}

The complete structured article.

Parameters

ParameterTypeDescription
pmc_id string REQUIRED PMC ID.
token string OPTIONAL API token, or send Authorization: Bearer. Not required for free papers.