Paper Details
Look up one scholarly work by DOI or OpenAlex id: authors and institutions, venue, open-access status and PDF, citations, topics and abstract.
paper-details Example
{
"doi": "10.1038/s41586-020-2649-2"
} {
"doi": "https://doi.org/10.1038/s41586-020-2649-2",
"type": "article",
"title": "Array programming with NumPy",
"venue": "Nature",
"topics": [
"Computational Physics and Python Applications"
],
"authors": [
{
"name": "Charles R. Harris",
"orcid": null,
"institutions": []
}
],
"pdf_url": "https://www.nature.com/articles/s41586-020-2649-2.pdf",
"abstract": "Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data...",
"keywords": [
"Python (programming language)"
],
"language": "en",
"venue_type": "journal",
"openalex_id": "https://openalex.org/W3035965352",
"author_count": 26,
"is_retracted": false,
"cited_by_count": 23533,
"is_open_access": true,
"landing_page_url": "https://doi.org/10.1038/s41586-020-2649-2",
"publication_date": "2020-09-16",
"publication_year": 2020,
"open_access_status": "hybrid",
"referenced_works_count": 41
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
doi | string | Yes | A DOI (10.1038/s41586-020-2649-2 or https://doi.org/...), or an OpenAlex work id such as W3035965352 |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
title | string | Always (present in every successful answer) |
venue | string | Usually (present for most inputs) |
authors | array | Always (present in every successful answer) |
abstract | string | Usually (present for most inputs) |
openalex_id | string | Always (present in every successful answer) |
author_count | number | Always (present in every successful answer) |
cited_by_count | number | Always (present in every successful answer) |
is_open_access | boolean | Always (present in every successful answer) |
publication_year | number | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "paper-details",
"inputs": {
"doi": "10.1038/s41586-020-2649-2"
},
"max_price_cents": 2
}' {
"tool": "strale_execute",
"arguments": {
"slug": "paper-details",
"inputs": {
"doi": "10.1038/s41586-020-2649-2"
},
"max_price_cents": 2
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "paper-details",
inputs: {
"doi": "10.1038/s41586-020-2649-2"
},
max_price_cents: 2,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="paper-details",
inputs={
"doi": "10.1038/s41586-020-2649-2",
},
max_price_cents=2,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/paper-details \
-H 'Content-Type: application/json' \
-d '{
"doi": "10.1038/s41586-020-2649-2"
}' Limitations
Works without a DOI can only be fetched by OpenAlex id
Book chapters, datasets and older articles frequently have no DOI; find their OpenAlex id with academic-paper-search first.
What to do instead: Search by title with academic-paper-search and pass the returned openalex_id.
Abstracts and venue details can be missing
Many publishers do not licence abstracts to OpenAlex; `abstract` and occasionally `venue` are then null.
What to do instead: Follow landing_page_url or pdf_url for the full record.
Related tools
- Academic Paper Search €0.03
- arXiv Search €0.02
- Clinical Trials Search €0.03
- DOI Resolver €0.02
- Hacker News Search €0.02
- Job Board Search €0.20