DOI

GET/v0/doi

Validates a DOI (Digital Object Identifier) — a persistent identifier for scientific publications, datasets, and other research outputs. The format is 10.XXXX/suffix where the prefix identifies the registrant. Accepts raw DOIs, doi: prefixed, or full https://doi.org/ URLs.

Guides: Node.js · Python

Try it

Query Parameters

ParamTypeRequiredDescription
valuestringYesDOI to validate (e.g. 10.1038/nature12373 or full URL)
lookupstringNoSet to true to fetch publication metadata from doi.org (title, authors, publisher)

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/doi?value=10.1038/nature12373"

Response Fields

FieldTypeDescription
validbooleanWhether the DOI has a valid format
doistringNormalised DOI string
prefixstringDOI prefix (e.g. 10.1038)
suffixstringDOI suffix (part after /)
registrantCodestringRegistrant code (prefix without 10.)
registrantstringKnown registrant name (if recognised)
urlstringResolver URL (https://doi.org/...)
metadataobjectPublication metadata (only when lookup=true). Contains title, authors, publisher, type, issued
errorstringError message when invalid

Example Response

{
  "valid": true,
  "doi": "10.1038/nature12373",
  "prefix": "10.1038",
  "suffix": "nature12373",
  "registrantCode": "1038",
  "registrant": "Nature Publishing Group",
  "url": "https://doi.org/10.1038/nature12373"
}

Example Response — with lookup

{
  "valid": true,
  "doi": "10.1038/nature12373",
  "prefix": "10.1038",
  "suffix": "nature12373",
  "registrantCode": "1038",
  "registrant": "Nature Publishing Group",
  "url": "https://doi.org/10.1038/nature12373",
  "metadata": {
    "found": true,
    "title": "Gravitational waves from binary pulsars",
    "authors": ["J. H. Taylor"],
    "publisher": "Springer Science and Business Media LLC",
    "type": "journal-article",
    "issued": [[1994, 1]]
  }
}