BYTETOOLS

DataCite API

Free DataCite API with no key: DOI metadata for research datasets, software and preprints, complementing Crossref's journal coverage. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the DataCite API?

The DataCite API is a free, key-free API providing DOI metadata for research outputs that are not journal articles — datasets, software, preprints, images and physical samples — complementing Crossref's coverage of publications.

DataCite and Crossref split the DOI world between them: Crossref registers DOIs for journal articles and books, DataCite for research data, software, preprints and other outputs. If a DOI is not in Crossref, DataCite is where to look next.

Its `resourceTypeGeneral` field is the practical hook — you can filter to just datasets, or just software, which is how you build a research data discovery tool rather than another literature search.

Quick facts

Base URL
https://api.datacite.org
Authentication
No API key for reads. Registering DOIs requires a repository account.
Rate limit
No published hard limit; fair use expected.
Pricing
Free metadata; DOI registration is a paid membership service.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the DataCite API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Search research DOIs

GET https://api.datacite.org/dois?page%5Bsize%5D=1

curl
curl 'https://api.datacite.org/dois?page%5Bsize%5D=1'
JavaScript (fetch)
const res = await fetch("https://api.datacite.org/dois?page%5Bsize%5D=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.datacite.org/dois?page%5Bsize%5D=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "data": [
    {
      "id": "10.5281/zenodo.20181854",
      "type": "dois",
      "attributes": {
        "doi": "10.5281/zenodo.20181854",
        "identifiers": [],
        "creators": [
          {
            "nameType": "Personal",
            "affiliation": [
              "Tripdatabase"
            ],
            "familyName": "Tripdatabase",
            "name": "Tripdatabase",
            "nameIdentifiers": []
          }
        ],
        "titles": [
          {
            "title": "What percentage of people experience shoulder problems after cervical neck dissection, and how many do not recover?"
          }
        ],
        "publisher": "Zenodo",
        "container": {},
        "publicationYear": 2026,
        "subjects": [
          {
            "subject": "shoulder problems"
          },
          {
            "subject": "cervical neck dissection"
          },
          {
            "subject": "recovery"
          },
          {
            "subject": "surgery complications"
          },
          {
            "subject": "orthopaedics"
          }
        ],
        "contributors": [],
        "dates": [
          {
            "date": "2026-05-14",
            "dateType": "Issued"
          }
        ],
        "language": null,
        "types": {
          "schemaOrg": "CreativeWork",
          "resourceTypeGeneral": "Text",
          "citeproc": "article",
          "bibtex": "misc",
          "ris": "GEN",
          "resourceType": "Other"
        },
        "relatedIdentifiers": [
          {
            "relationType": "IsIdenticalTo",

Parameters

ParameterTypeRequiredDescription
doispathOptionalDOI search and listing. dois
querystringOptionalElasticsearch-style search query. climate
page[size]integerOptionalResults per page, max 1000. 25
resource-type-idstringOptionalFilter by output type. dataset
client-idstringOptionalFilter by the repository that registered the DOI. cern.zenodo

Response fields

meta.totalinteger
Total matching DOIs.
data[].idstring
The DOI itself.
data[].attributes.titlesarray
Title records.
data[].attributes.creatorsarray
Authors or creators with affiliations and ORCIDs.
data[].attributes.publisherstring
Repository or publisher.
data[].attributes.types.resourceTypeGeneralstring
Dataset, Software, Text, Image and so on.
data[].attributes.rightsListarray
Licence terms.

What you can build with the DataCite API

  • Discover research datasets and software by topic
  • Resolve a DOI that Crossref does not recognise
  • Track outputs registered by a specific repository
  • Build research data citation tooling

Common errors and how to fix them

Bracket parameters rejected

page[size] contains square brackets.

Fix: URL-encode them as %5B and %5D if your HTTP client does not.

DOI not found

It may be a Crossref DOI.

Fix: Crossref registers journal articles; DataCite registers data and software. Try both.

Deeply nested attributes

Records follow the JSON:API convention.

Fix: Read data[].attributes.titles[0].title rather than a top-level field.

DataCite API — frequently asked questions

Is the DataCite API free?

Yes, reading metadata requires no API key. Registering DOIs is a paid membership service for repositories.

How does DataCite differ from Crossref?

They split the DOI space. Crossref registers journal articles and books; DataCite registers datasets, software, preprints and other research outputs. If a DOI is not in one, check the other.

Can I search only for datasets?

Yes, filter with resource-type-id=dataset, or read resourceTypeGeneral on each record. That is the main way to build a research data discovery tool.

Why are the records so nested?

It follows the JSON:API specification, so everything sits under data[].attributes rather than at the top level.

Tools that pair with this API

DataCite is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.