Skip to content
Eden Engine

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.

activeper callv1

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

Crossref

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.

agent
// 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 do

Not 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.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "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
output_schema.json
{
  "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
}