Academic Paper Search MCP: arXiv, Crossref & OpenAlex
Pricing
from $8.00 / 1,000 paper searches
Academic Paper Search MCP: arXiv, Crossref & OpenAlex
Search arXiv, Crossref and OpenAlex papers, look up a DOI or arXiv id with abstract, and get cited-by and reference lists. Batch runs or MCP server for agents.
Pricing
from $8.00 / 1,000 paper searches
Rating
0.0
(0)
Developer
Stephen
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Search and look up scholarly papers from three open sources, in one Actor:
- Search papers by keywords on arXiv (preprints), Crossref (DOIs registered by publishers) or OpenAlex (open index of scholarly works), with an optional publication date range and sort by relevance or newest.
- Get a paper by DOI, arXiv id or OpenAlex id: title, authors, date, venue, type, DOI, arXiv id, landing page and PDF links, open-access flag, citation count and abstract (when the source has one). DOI lookups merge Crossref and OpenAlex; arXiv lookups merge arXiv and OpenAlex.
- Citations: list the papers that cite a paper, or the papers it references, ranked by citation count or date (OpenAlex citation graph).
Use it for literature reviews, research agents and RAG pipelines, citation checks of LLM output, or enriching a list of DOIs. No API key needed. Runs as a normal batch Actor or as an MCP server for AI agents.
Quick start
- Enter one or more search queries and/or paper ids (the prefill searches "large language model evaluation" on Crossref and looks up the DOI
10.1038/nature14539). - Optionally choose the source, a date range, and citations (cited by / references) for each paper id.
- Click Start. You get one dataset row per paper.
Input
| Field | Default | Meaning |
|---|---|---|
queries | – | Keyword searches, one per line (max 300 characters). arXiv field syntax works with source arXiv: ti:transformer AND cat:cs.CL |
source | crossref | crossref, openalex or arxiv |
maxResultsPerQuery | 10 | 1–50 papers per query |
fromDate / toDate | – | YYYY, YYYY-MM or YYYY-MM-DD |
sort | relevance | relevance or date (newest first) |
paperIds | – | DOIs, arXiv ids, OpenAlex ids or doi.org / arxiv.org / openalex.org links |
citations | none | cited_by or references for each paper id |
maxCitationsPerPaper | 10 | 1–50 |
includeAbstracts | true | Return abstracts where available |
openalexApiKey | – | Optional free OpenAlex key for higher OpenAlex limits |
Up to 1,000 queries and 1,000 paper ids per run. With an empty input the Actor runs the prefill example (one Crossref search and one DOI lookup).
Output
One dataset row per paper. kind says where it comes from: search, paper, cited_by or references.
Fields: title, authors (first 25), authorCount, published, year, venue, type, doi, arxivId, openalexId, url, pdfUrl, abstract, citedByCount, categories (arXiv categories or OpenAlex topics), isOpenAccess, source, plus query / input / ofPaper, rank and a credit line.
{"kind": "paper", "input": "10.1038/nature14539", "sources": ["crossref", "openalex"],"title": "Deep learning", "authors": ["Yann LeCun", "Yoshua Bengio", "Geoffrey Hinton"], "published": "2015-05-27","venue": "Nature", "doi": "10.1038/nature14539", "openalexId": "W2919115771", "citedByCount": 84105, "isOpenAccess": true}
A SUMMARY record in the key-value store gives counts, charges and any errors.
Pricing (pay per event)
| Event | Price |
|---|---|
| Paper search (one query with results, up to 50 papers) | $0.008 |
| Paper lookup (one paper found by id) | $0.004 |
| Citation list (one paper's citing or referenced papers, up to 50) | $0.008 |
| Actor start (Apify standard, once per run) | $0.0003 |
Searches with no results, ids that are not found, and upstream errors are not charged. The run stops cleanly when your maximum charge per run is reached.
Use it as an MCP server (AI agents)
The same tools are available as a Model Context Protocol (MCP) server over streamable HTTP for Claude, Cursor, VS Code or any MCP client:
- Endpoint:
https://noisy-jubilee--paper-search-mcp.apify.actor/mcp - Auth: header
Authorization: Bearer <your Apify API token>
| MCP tool | Arguments | Charged event |
|---|---|---|
search_papers | query, source, fromDate, toDate, limit, sort, includeAbstracts | paper-search (only if results) |
get_paper | id (DOI / arXiv / OpenAlex) | paper-lookup (only if found) |
get_citations | id, direction (cited_by / references), limit, sort, includeAbstracts | citation-list (only if results) |
Listing tools is free. Example client config:
{ "mcpServers": { "papers": { "url": "https://noisy-jubilee--paper-search-mcp.apify.actor/mcp","headers": { "Authorization": "Bearer <APIFY_TOKEN>" } } } }
Speed and limits
- Crossref and OpenAlex answers usually take 0.5–3 seconds.
- The MCP server lets one server instance handle many concurrent calls, so arXiv requests from one user go through a single 1-request-per-3-seconds queue instead of many parallel instances.
- arXiv asks API users to send at most one request every 3 seconds, so arXiv calls are queued and can take several seconds (sometimes 15–30 s when the arXiv API is busy). If arXiv answers "Rate exceeded", the Actor waits 5 seconds and retries once; if it is still busy you get a "rate limit" error and are not charged. For broad searches, Crossref or OpenAlex is faster.
- Abstracts depend on the publisher: Crossref and OpenAlex do not have abstracts for every paper (
abstractis thennull). - Citation counts come from OpenAlex (or Crossref when OpenAlex has no record) and can differ from Google Scholar.
Data sources and credits
Thank you to arXiv for use of its open access interoperability. This Actor is not affiliated with or endorsed by arXiv, Crossref or OpenAlex.
- arXiv API – metadata is CC0. Each result links to its arXiv abstract page.
- Crossref REST API – public metadata about scholarly works; abstracts remain under the publisher's copyright where applicable.
- OpenAlex – CC0 data.
The Actor only reads public metadata APIs, respects each API's rate limits, and caches repeated lookups for an hour.