Crossref Work by DOI (Bibliographic Record, Citation Count and Retraction Notices)
crossref/work-by-doi
Returns Crossref's record for one DOI: title, authors (with ORCID where deposited), journal or book, publisher, type, issued date, volume, issue, pages, ISSN or ISBN, Crossref's own citation count (is-referenced-by-count: citations from other Crossref-registered works only, not Google Scholar's), the full-text licence entries, funders, and the correction or retraction notices attached to it (updated-by, including Retraction Watch). An empty items list means the DOI is not registered with Crossref (it may belong to another agency such as DataCite). Abstracts are never returned. Metadata from Crossref (api.crossref.org); bibliographic metadata is facts reusable without restriction.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Metadata from Crossref (api.crossref.org). Crossref's bibliographic metadata is facts, not subject to copyright, and its own data is released as CC0; abstracts are publisher or author copyright and are never returned. Served by Eden Engine; not an official Crossref product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "crossref/work-by-doi" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "crossref/work-by-doi" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "crossref/work-by-doi", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "crossref/work-by-doi", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"doi"
],
"properties": {
"doi": {
"type": "string",
"pattern": "^10\\.\\d{4,9}/[^\\s,]+$",
"maxLength": 200,
"minLength": 7,
"description": "A bare DOI, for example 10.1038/nature14539. Not the https://doi.org/ URL, and no commas or spaces. Case does not matter."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"description": "ok on success."
},
"message": {
"type": "object",
"required": [
"total-results",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"DOI"
],
"properties": {
"DOI": {
"type": "string",
"description": "The DOI, lowercased."
},
"URL": {
"type": "string",
"description": "https://doi.org/ plus the DOI."
},
"ISBN": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISBNs, for books and chapters."
},
"ISSN": {
"type": "array",
"items": {
"type": "string"
},
"description": "Container ISSNs."
},
"page": {
"type": "string",
"description": "A page range or an article number."
},
"type": {
"type": "string",
"description": "Crossref work type id, for example journal-article."
},
"issue": {
"type": "string",
"description": "Issue, where deposited."
},
"title": {
"type": "array",
"items": {
"type": "string"
},
"description": "Title as a one-element array. A retracted work's title begins RETRACTED:."
},
"author": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Authors in order: given, family, sequence, affiliation list, and ORCID with authenticated-orcid where deposited. An organisation has name instead of given and family."
},
"editor": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Editors, same shape as author, where deposited."
},
"funder": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Funders: name, DOI of the funder and award numbers, where deposited."
},
"issued": {
"type": "object",
"description": "Earliest known publication date as date-parts, [[null]] when undated.",
"additionalProperties": true
},
"volume": {
"type": "string",
"description": "Volume, where deposited."
},
"license": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Full-text licence entries as the publisher deposited them: URL, content-version, start date. Not a licence for the metadata."
},
"subtitle": {
"type": "array",
"items": {
"type": "string"
},
"description": "Subtitle, where deposited."
},
"publisher": {
"type": "string",
"description": "The publisher as deposited."
},
"update-to": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Present on a correction or retraction notice: the work it amends."
},
"updated-by": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Present on an amended work: each notice with its DOI, type (correction, retraction, ...), label, source and date."
},
"container-title": {
"type": "array",
"items": {
"type": "string"
},
"description": "Journal, proceedings or book title as an array."
},
"published-print": {
"type": "object",
"description": "Print date as date-parts. Absent when none.",
"additionalProperties": true
},
"published-online": {
"type": "object",
"description": "Online date as date-parts. Absent when none.",
"additionalProperties": true
},
"references-count": {
"type": "integer",
"description": "Entries in this work's own reference list."
},
"short-container-title": {
"type": "array",
"items": {
"type": "string"
},
"description": "Abbreviated container title."
},
"is-referenced-by-count": {
"type": "integer",
"description": "Citations from other Crossref-registered works that deposited their references. Not a global count, and kept after a retraction."
}
},
"additionalProperties": true
},
"description": "The record, or an empty list for a DOI Crossref does not hold."
},
"total-results": {
"type": "integer",
"description": "1 if the DOI is registered with Crossref, else 0."
}
},
"additionalProperties": true
},
"message-type": {
"type": "string",
"description": "work-list."
}
},
"description": "Crossref's work-list response narrowed to one DOI: message.items holds the one record, or is empty when the DOI is not a Crossref DOI.",
"additionalProperties": true
}