dragoman

DOI content negotiation server — GitHub

Send a DOI as the URL path. Receive a redirect to the landing page, or metadata in any supported format based on your Accept header.

Usage

GET https://commonmeta.org/{doi}

Example — fetch BibTeX for a Zenodo record:

curl -H "Accept: application/x-bibtex" \
     https://commonmeta.org/10.5281/zenodo.1089100

Use ?format= instead of an Accept header:

https://commonmeta.org/10.5281/zenodo.1089100?format=bibtex

Supported formats

Accept headerformat=
application/x-bibtexbibtex
text/x-bibliographycitation
application/vnd.commonmeta+jsoncommonmeta
application/vnd.crossref.unixref+xmlcrossref_xml
application/vnd.citationstyles.csl+jsoncsl
application/vnd.datacite.datacite+jsondatacite
application/vnd.datacite.datacite+xmldatacite_xml
application/vnd.inveniordm.v1+jsoninveniordm
application/x-research-info-systemsris
application/vnd.schemaorg.ld+jsonschemaorg
text/html / absentredirect to landing page

Query parameters

ParameterDescription
formatOverride Accept header
styleCSL citation style (e.g. apa, vancouver); only with citation
localeCitation locale (e.g. fr-FR); only with citation
sourceOverride registration agency: crossref or datacite

Content negotiation with quality values

Multiple types with q= weights are supported per RFC 7231:

curl -H "Accept: application/vnd.citationstyles.csl+json;q=0.9, application/x-bibtex" \
     https://commonmeta.org/10.5281/zenodo.1089100