DataCite REST API
DataCite REST API
DataCite's public REST API returns JSON metadata for DOIs registered with DataCite, which include research datasets, software and other research outputs: titles, creators, publisher, publication year, resource type, rights, related identifiers and landing-page URLs. Retrieval needs no authentication and supports queries, filters such as resource-type-id, paging and random samples.
Required Attribution:
DataCite's data file use policy asks users to give attribution to DataCite as the source.
Coverage
The public API returns DOIs in Findable state only, excluding drafts and Registered DOIs. DataCite also publishes an annual Public Data File of all Findable DOIs, and a monthly data file for its members. Publication delay: Not stated.
Verdict
Use it to find research datasets and software by topic, publisher or date, and to follow related identifiers between datasets, software and papers. DataCite says all its metadata is openly available under CC0; its data file use policy asks users to credit DataCite and not to modify records so as to make them false, incomplete, defamatory or misleading. Add an email address in the User-Agent or a mailto parameter to move from 500 to 1,000 requests per 5 minutes.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load DataCite dataset DOIs for a search into pandas and Parquet. Checked against the provider's documentation on Nov 3, 2026.
Access
- No key for retrieval (the Public API). Add mailto=your address, or an email in the User-Agent, for the identified rate tier.
- Base URL https://api.datacite.org; /dois takes query, resource-type-id, page[size], page[cursor] and other filters.
Request
curl 'https://api.datacite.org/dois?query=climate&resource-type-id=dataset&page%5Bsize%5D=100&disable-facets=true&mailto=you@example.org'Format
JSON:API: data is a list of DOI objects whose attributes carry doi, titles, creators, publisher, publicationYear, types (resourceTypeGeneral), rightsList, relatedIdentifiers and url; meta carries total and facets; links carries next.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""DataCite DOI metadata (datasets) -> pandas -> Parquet. No key; a mailto parameter puts you in the 'identified' rate tier."""
import requests
import pandas as pd
params = {"query": "climate", "resource-type-id": "dataset", "page[size]": 100,
"disable-facets": "true", "mailto": "you@example.org"} # replace with your own address
r = requests.get("https://api.datacite.org/dois", params=params, timeout=60)
r.raise_for_status()
js = r.json()
rows = []
for d in js["data"]:
a = d["attributes"]
rows.append({
"doi": a.get("doi"),
"title": (a.get("titles") or [{}])[0].get("title"),
"publisher": a["publisher"] if isinstance(a.get("publisher"), str) else (a.get("publisher") or {}).get("name"),
"year": a.get("publicationYear"),
"resource_type": (a.get("types") or {}).get("resourceTypeGeneral"),
"rights": "; ".join(x.get("rightsIdentifier") or x.get("rights", "") for x in a.get("rightsList", [])),
"url": a.get("url"),
})
df = pd.DataFrame(rows)
df.to_parquet("datacite_datasets.parquet", index=False)
print(len(df), "dataset DOIs on this page of", js["meta"]["total"], "matches")Run by us on 2026-11-03 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 100 dataset DOIs on this page of 222072 matches
Limits
- 500 requests per 5 minutes per IP unidentified, 1,000 identified, 3,000 authenticated; over the limit returns 429.
- Use page[cursor] for harvesting beyond the first pages.
Quirks
- publisher can be a string or an object with a name, depending on request parameters; handle both.
- disable-facets=true makes list requests lighter when you do not need facet counts.
Terms and attribution
- DataCite metadata is CC0; the waiver does not apply to the linked datasets, which keep their own licences (see rightsList).
- DataCite asks for attribution and that records are not modified to make them false or misleading.
Sources
- https://support.datacite.org/docs/harvesting-datacite-doi-metadata: “All DataCite metadata is openly available with a CC0 license, meaning it is available to everyone.”
- https://support.datacite.org/docs/rest-api: “The Public API only returns DOIs in Findable state, excluding draft records and Registered DOIs.”
- https://support.datacite.org/docs/rate-limit: “If your request has been rate limited, the API will return a 429 response code.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer