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.
Try it
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | DOI to validate (e.g. 10.1038/nature12373 or full URL) |
| lookup | string | No | Set 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
| Field | Type | Description |
|---|---|---|
| valid | boolean | Whether the DOI has a valid format |
| doi | string | Normalised DOI string |
| prefix | string | DOI prefix (e.g. 10.1038) |
| suffix | string | DOI suffix (part after /) |
| registrantCode | string | Registrant code (prefix without 10.) |
| registrant | string | Known registrant name (if recognised) |
| url | string | Resolver URL (https://doi.org/...) |
| metadata | object | Publication metadata (only when lookup=true). Contains title, authors, publisher, type, issued |
| error | string | Error 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]]
}
}