DataCite API
Free DataCite API with no key: DOI metadata for research datasets, software and preprints, complementing Crossref's journal coverage. Tested example.
Endpoint tested and returned HTTP 200 on 20 Aug 2026
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 20 Aug 2026, 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 'https://api.datacite.org/dois?page%5Bsize%5D=1'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);import requests
res = requests.get("https://api.datacite.org/dois?page%5Bsize%5D=1", timeout=20)
res.raise_for_status()
print(res.json()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
dois | path | Optional | DOI search and listing. dois |
query | string | Optional | Elasticsearch-style search query. climate |
page[size] | integer | Optional | Results per page, max 1000. 25 |
resource-type-id | string | Optional | Filter by output type. dataset |
client-id | string | Optional | Filter 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
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
Alternatives to DataCite API
If DataCite does not fit, these science & space apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| NASA APOD | Free NASA Astronomy Picture of the Day API. Daily space images with expert explanations, HD URLs and archive access back to 1995. Tested curl example. | Key | Yes | 19 Aug 2026 |
| Open Notify ISS | Free API returning the International Space Station's live latitude and longitude. No key, updates in real time. Tested curl example and live JSON response. | No key | Yes | 19 Aug 2026 |
| USGS Earthquake | Free USGS earthquake API with no key: live global seismic events as GeoJSON, filterable by magnitude, time and location. Tested curl example and live response. | No key | Yes | 19 Aug 2026 |
| Launch Library 2 | Free rocket launch API with no key: upcoming and past launches from every space agency, with rockets, missions, pads and live stream links. Tested example. | No key | Yes | 19 Aug 2026 |
| DOAJ | Free DOAJ API with no key: search 600,000+ open access articles and 20,000+ vetted open access journals with licence and APC data. Tested curl example. | No key | Yes | 20 Aug 2026 |
| EMBL-EBI OLS4 | Free EMBL-EBI Ontology Lookup Service (OLS4) API with no key. Search and resolve terms across GO, EFO, MONDO, ChEBI, UBERON and 250+ biomedical ontologies. Tested example included. | No key | Yes | 21 Aug 2026 |
DataCite is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.