search_papers
Search OpenAlex and arXiv for academic papers by keywords, DOI, or arXiv ID, with sorting by relevance or citation count to build reading lists and locate key references.
Instructions
Search open catalogs (OpenAlex + arXiv) for academic papers.
Use this first when the user needs papers, citations, or a reading list.
Does not download PDFs. Prefer hits with pdf_url for the next step.
Ranking: pass sort=cited_by when the user wants the most cited / famous /
popular papers. Pass sort=relevance (default) for topical match. Aliases
like "most cited" are accepted; unknown values fall back to relevance.
A doi or arxiv_id looks up that paper (query may be empty). If query
itself is a DOI or arXiv id, it is treated as a lookup, not keywords.
Identifier filters win over a keyword query.
cited_by ranks on OpenAlex citation counts. arXiv keyword hits are
skipped in that mode because they have no citation counts.
Possible error_code values: source_unavailable (one or both catalogs
failed; remaining hits may still be useful). Empty papers is still
status=ok.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| doi | No | Optional DOI (`10.xxxx/...` or doi.org URL) to look up that work. | |
| sort | No | `relevance` or `cited_by` (aliases: citations, most_cited, famous). | relevance |
| limit | No | Maximum papers to return after merge (1–20, default 5). | |
| query | No | Keywords, a bare DOI/arXiv id, or empty when doi/arxiv_id is set. | |
| arxiv_id | No | Optional arXiv id (`2301.12345`, `arxiv:…`, abs URL). | |
| year_min | No | Inclusive publication/submission year floor. Impossible values (≤0, far future) are ignored. | |
| open_access_only | No | If true (default), OpenAlex is restricted to OA; arXiv results are always included because they are OA. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | relevance | |
| query | Yes | ||
| papers | No | ||
| status | No | ok | |
| message | No | ||
| warnings | No | ||
| error_code | No |