Skip to content

Scholarly search

Search scholarly works by free text and return title, authors, year, venue, DOI, citation count and open-access link where known (up to 25 per call, optionally bounded by publication year). openalex is the broadest cross-discipline catalog; crossref covers DOI-registered publisher metadata without abstracts; europe-pmc covers life-science and biomedical literature; arxiv covers preprints and is rate-limited upstream.

Endpoint POST /v1/scholarly-searches
Scope scholarly_search:search
MCP tool scholarly_search
Usage units works

Usage units appear in execution.usage.units for reconciliation and billing.

Field Type Required Description
invocation_id string yes The market’s invocation id: one execution per id and operation, so a retry with the same id is rejected instead of charged twice. 1-128 characters of A-Z a-z 0-9 . _ : -.
provider string yes Provider that serves the request; choose by the coverage described for this tool. One of: crossref, openalex
query string yes Free-text search terms, 1-300 characters.
from_year integer no Optional earliest publication year, 1000 to next year; must not exceed to_year.
max_results integer no Number of works to return, 1-25; default 10.
to_year integer no Optional latest publication year, 1000 to next year; must not be before from_year.
Provider Region Source Limits
crossref US Crossref, for Crossref-registered DOIs max_results: 25, timeout_seconds: 30
openalex US OpenAlex, the broadest cross-discipline catalog max_results: 25, timeout_seconds: 30
终端窗口
curl -sS https://services.zgi.im/v1/scholarly-searches \
-H "Authorization: Bearer $ZGI_SERVICES_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"invocation_id": "docs-1791778521-scholarly_search", "provider": "openalex", "query": "graph neural networks", "max_results": 2}'

A real response, with lists cut to two items and long text shortened.

{
"code": 0,
"message": "success",
"data": {
"execution": {
"id": "exe_01a12e52bb9278c58ae2e160782b5430",
"invocation_id": "docs-1791778521-scholarly_search",
"capability": "scholarly_search",
"operation": "scholarly_search.search",
"provider": "openalex",
"outcome": "succeeded",
"error_category": null,
"error_code": null,
"usage": {
"provider_requests": 1,
"units": [
{
"name": "works",
"value": 2,
"source": "measured"
}
]
},
"upstream_ref": null,
"request_id": "req_193791742237ef76fe24671a",
"started_at": "2026-10-12T04:15:36.338572607Z",
"finished_at": "2026-10-12T04:15:36.771329958Z",
"duration_ms": 432
},
"result": {
"total_results": 988681,
"works": [
{
"title": "Graph neural networks",
"doi": "10.1038/s43586-024-00294-7",
"year": 2024,
"type": "review",
"venue": "Nature Reviews Methods Primers",
"authors": [
"Gabriele Corso",
"Hannes Stark"
],
"cited_by_count": 457,
"url": "https://openalex.org/W4392553889",
"open_access_url": null
},
{
"title": "The Graph Neural Network Model",
"doi": "10.1109/tnn.2008.2005605",
"year": 2008,
"type": "article",
"venue": "IEEE Transactions on Neural Networks",
"authors": [
"Franco Scarselli",
"M. Gori"
],
"cited_by_count": 9708,
"url": "https://openalex.org/W2116341502",
"open_access_url": "https://figshare.com/articles/journal_contribution/The_graph_neural_network_model/27757629"
}
],
"source": {
"name": "OpenAlex",
"license": "CC0-1.0",
"url": "https://openalex.org"
}
}
}
}