DataCite content negotiation allows you to retrieve metadata for DataCite DOIs in different formats. To retrieve metadata for DOIs registered by DataCite and other DOI registration agencies, see the Crosscite documentation.
Custom content types are no longer supported since January 1st, 2020
Registration of custom content types has been retired on October 1st, 2019 from the content negotiation via https://doi.org and on January 1st, 2020 from content negotiation via https://data.datacite.org. All requests for unknown content types will then be forwarded to the URL registered for the DOI in the handle system. The media API will continue to support registration and retrieval of content with custom content types.
More information in this blog post
It can be used by an HTTP client by configuring its HTTP
Accept headers, or directly through a browser, constructing a URL.
The DataCite Citation Formatter is one important example of what can be done with DOI content negotiation. If you want more information, please visit DataCite Citation Formatter Documentation.
DataCite content negotiation is open to the whole community and does not require authentication. It is designed to provide direct access to all DataCite DOIs, simplify integrations and avoid format conversions.
The DOI proxy at doi.org will normally redirect a user to the resource location URL of a DOI. For example, the DOI "10.5284/1015681" redirects to a landing page describing the dataset, "Excavation of a Romano-British Cemetery...". Content negotiated requests to doi.org that ask for a content type which isn't "text/html" will be redirected to the DataCite content negotiation service.
GET "Accept: text/html" https://doi.org/10.5284/1015681 | | | V Repository landing page archaeologydataservice.ac.uk/archives/view/greylit/details.cfm?id=13979
Normal browser requests or explicit requests for text/html redirect to the content's landing page.
GET "Accept: application/csl+json" https://doi.org/10.5284/1015681 | | | V DataCite content negotiation service http://data.datacite.org/10.5284/1015681
Requests for a data type redirect to a registration agency's metadata service.
Making a content negotiated request requires the use of the
Accept HTTP header. Content types that are acceptable to the client (those that it knows how to parse), each with an optional "quality" value indicating its relative suitability. For example, a client that wishes to receive citeproc JSON if it is available, but which can also handle BibTeX if citeproc JSON is unavailable, would make a request with an Accept header listing both "application/citeproc+json" and "application/x-bibtex":
$ curl -LH "Accept: application/x-bibtex;q=0.5, application/vnd.citationstyles.csl+json;q=1.0" https://doi.org/10.5284/1015681
This request favours citeproc JSON but will accept RDF XML if citeproc is unavailable. The q values are optional. The request could have been written without them. The order of content types then becomes important; more suitable content types should be placed at the front of the Accept header.
$ curl -LH "Accept: application/vnd.citationstyles.csl+json, application/rdf+xml" https://doi.org/10.5284/1015681
DataCite supports different response codes, listed below. If multiple content types specified by the client are supported by a DOI then the content type with the highest "q" value (or, if no "q" values are specified, the one that appears first in the "accept" header) will be returned.
|200||The request was OK.|
|204||The request was OK but there was no metadata available.|
|404||The DOI requested doesn't exist.|
DataCite supports link-based content type requests. This method can be used with a regular web browser. In order to get a specific format please construct a URL following this pattern:
Direct requests to the DataCite content negotiation service via https://data.crosscite.org only supports DataCite DOIs
Extra parameters, e.g. when using the
text/x-bibliography content type, can be included via query parameters, e.g.
This method allows DataCite data centres to link additional metadata using custom URLs, still using the primary URL for the DOI to point to the landing page of a data set.
DataCite supports a number of metadata content types:
|Schema.org in JSON-LD||application/ld+json|
|Formatted text citation||text/x-bibliography|
Would you like to know more?
If you have any questions, requests or ideas please contact us!
Updated 3 months ago