Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including get-dois with all npm packages installed. Try it out:

var getDois = require("get-dois")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

get-dois v3.1.0

Detect Digital Object Identifiers listed in the metadata of a DOM tree


A small module that takes a DOM tree and returns all Digital Object Identifiers (DOIs) located in that tree's metadata.

Unfortunately, academic publishers use a wide variety of metadata "standards". This package normalises between Dublin Core, Highwire Press tags, etc., and the different formatting rules used for DOIs.

To use this library outside of a browser context, you can use a library like jsdom.

This project also includes TypeScript type definitions.


npm install get-dois --save


import { getDois } from 'get-dois';

const head = document.getElementsByTagName('head').item(0);
const dois = getDois(head);
//=> [ '10.31222/' ]


getDois(domTree: Document | Element): string[]

Parameter: domTree

Either window.document or an HTML element whose children might include meta tags containing a DOI.


An array of DOIs. If no DOIs are found, this will return an empty array. Duplicate DOIs will only be listed once. Note that a page might list multiple DOIs.

Supported meta tags

At the time of writing, get-dois supports detecting DOIs embedded in a webpage as:

  • Highwire Press tags (citation_doi)
  • Eprints tags (eprints.id_number and/or eprints.official_url)
  • bepress tags (bepress_citation_doi)
  • PRISM tags (prism.doi)
  • Dublin Core Schema markup (dc.identifier)

If you encounter a different format that is not yet supported, please file an issue.




MIT © Vincent Tunru

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free