
4TU.ResearchData
The data repository of the 4TU federation (TU Delft, TU Eindhoven, University of Twente and Wageningen University & Research). According to its homepage 12,494 datasets with 191,894 files and about 102 TB (16 October 2026), mostly engineering, water, coast, climate and traffic, often as NetCDF with OPeNDAP. Each dataset has a DOI with prefix 10.4121 and its own licence, usually Creative Commons. The software is called djehuty and has a Figshare-like API.
Everything that's in it13,094
Everything 4TU.ResearchData has registered with DataCite, one row per dataset (all versions merged), by field of science as DataCite assigns it. Fetched every night from DataCite, not from data.4tu.nl itself. Every row has its own page with licence, DOI and the DataCite call.
Natural sciences8,104
Engineering and technology2,680
Medical and health sciences249
Agricultural sciences175
Social sciences656
Humanities93
4TU.ResearchData DOIs per publication year, counted in DataCite (prefix 10.4121): 3,047 DOIs in 2025, 9.1 times as much as in 2013
4TU.ResearchData DOIs per publication year, counted in DataCite (prefix 10.4121), 2013 – 2025, in DOIs. The highest point was 2024 (3,106).
What can you do with it?3 ideas
Data behind the news about water
DataCite finds 1,777 4TU DOIs with the subject Water. Many are measurement series and model output behind publications about drought, coasts and rivers.
Research about your city
Search for a place name in the title: Rotterdam returns 50 DOIs (a dataset often counts twice, see limitations). That way you find the raw data behind research about your city.
Compute without downloading
Many NetCDF files can be queried through OPeNDAP. You then fetch only the time span or area you need instead of gigabytes.
How to process it3 steps
Search via DataCite
DataCite holds title, year, subject and licence of every 4TU DOI, without a robots.txt ban. Filter with prefix=10.4121 and query=.
https://api.datacite.org/dois?prefix=10.4121&query=subjects.subject:%22Water%22&page%5Bsize%5D=10
The djehuty API
According to the phase 2 test the Figshare-like API works without a key: /v2/articles (list), POST /v2/articles/search with search_for, /v2/articles/<uuid> (one dataset). robots.txt bans crawlers; 4TU does not say whether single calls fall under that. The documentation is thin.
https://djehuty.4tu.nl/api/
The data model
djehuty stores everything as RDF. Datasets are versions within a container with one fixed identifier; that matches the two kinds of DOI (per version and for all versions together).
https://djehuty.4tu.nl/knowledge-graph/
Interesting combinations


Does the model match the measurement?
Put a model series from 4TU next to Rijkswaterstaat's official water levels or discharges for the same place and time.


Which data belongs to this article?
Many 4TU datasets are called 'Data underlying the publication: …'. Find the article in OpenAlex and compare the conclusions with the data.
Similar sources
DANS Data StationsThe other large Dutch data repository, with more social sciences and archaeology.
Waterinfo and Water Web ServicesOfficial Rijkswaterstaat measurements; 4TU holds research data, often derived from such measurements.
Dutch research in OpenAlex, OpenAIRE, ROR and DataCiteThe publications of Dutch researchers (OpenAlex); 4TU has the data behind them.
What to watch out for
- No automated harvesting
The robots.txt of data.4tu.nl bans all crawlers (Crawl-delay 20). We do not harvest the site and run no status check; the chart and the list on this page come from DataCite.
- Two DOIs per dataset
A dataset has a DOI per version (…v1) and one DOI for all versions together. DataCite therefore counts 21,770 DOIs with 10.4121 against 12,494 datasets on the homepage (16 October 2026). Merged per dataset there are 13,030 (including 610 software items and 400 collections); that list is below.
- Some junk in the registry
On 16 October 2026 DataCite listed 221 4TU DOIs (109 records with their version DOIs) with titles like 'College of Nursing Sciences … Admission Form Is Out' and a phone number: spam registered as collections in February and October 2026. We leave them out. Filter on resource type dataset when you count yourself.
- Licences differ
Besides CC BY 4.0 there are CC BY-SA and CC BY-NC-ND. NC means no commercial use; check the licence per dataset.
APIREST (JSON:API), via DataCite · read 16 Oct 2026
No key. DataCite treats a request as 'identified' when the User-Agent contains an e-mail address or the URL has mailto=; you may then call twice as often. tested
DOIs with prefix 10.4121 in DataCite (16 Oct 2026; per dataset one DOI per version plus one for all versions) tested
jsonJSON:APIDataCite XML (attribuut xml, base64)
Base URL
https://api.datacite.org
Endpoints 4
- GET
/dois?prefix=10.4121All DOIs of 4TU.ResearchData, with filters, search, sorting and paging. Total in meta.total. - GET
/dois/{doi}One DOI with all metadata: creators, description, subjects, licence, related publications, geolocation, view and download counts. - GET
/prefixes/10.4121Which DataCite member owns the prefix (client delft.data4tu, provider scpr). - GET
/clients/delft.data4tuThe repository itself as DataCite knows it (name, website, contact).
The APIs of this source 2 · from the provider's documentation from the description
djehuty-API v2 (Figshare-achtig)
4TU.ResearchData's own API, keyless for public data. Note: the robots.txt of data.4tu.nl bans bots; we do not call it.
https://data.4tu.nl/v2- GET
/articlesLijst van datasets; order, order_direction, published_since, modified_since, item_type, institution, group_id, search_for, page + page_size (max 1.000) of limit + offset - POST
/articles/searchZoeken met JSON-body {search_for, published_since, limit}; AND/OR en veldzoeken (:title:wind turbine); totaal in kop Number-Of-Records - GET
/articles/{id}Eén dataset; ook /versions, /versions/{n} en /files - GET
/collectionsCollecties; /collections/{id}/articles voor de datasets erin - GET
/categoriesAlle vakgebieden (id's voor categories=) - GET
/licensesAlle licenties
Described from swagger-v2.json on djehuty.4tu.nl (version 26.8.1).
djehuty-API v3
Newer endpoints of the same software, also keyless for public data.
https://data.4tu.nl/v3- GET
/datasetsLijst met limit, offset, order, modified_since, published_since, categories, return_count - POST
/datasets/searchZoeken in datasets - GET
/datasets/{id}/referencesVerwijzingen (artikelen) bij een dataset - GET
/datasets/{uuid}/ro-crate-metadata.jsonRO-Crate-metadata van een dataset - GET
/codemetaGepubliceerde software als CodeMeta - GET
/groupsInstellingen en groepen
Described from swagger-v3.json on djehuty.4tu.nl; not called ourselves (robots.txt).
Filtering tested
Separate parameters (prefix, resource-type-id, published) plus a free query in Elasticsearch syntax in query=.
Parameters 10
prefix | DOI prefix; 10.4121 is 4TU.ResearchData. | tested |
client-id | Alternative to prefix: delft.data4tu. | tested |
query | Search query in Elasticsearch syntax on fields: titles.title:Rotterdam, subjects.subject:"Water", publisher, creators.name; with AND, OR, quotes and *. | tested |
resource-type-id | Type: dataset, software, collection, text … (dataset returned 19,266 of the 21,785 DOIs). | tested |
published | Publication year, e.g. 2025 (3,049 DOIs). Also a range such as 2020-2025. | tested |
fields[dois] | Return only these attributes (doi,titles,publicationYear,rightsList,url): much smaller responses. | tested |
page[size] | Rows per page, 0 to 1,000 (default 25). page[size]=0 returns only the count. | tested |
page[number] | Page number, up to 10,000 records in total. | from the description |
page[cursor] | Start with 1 and follow links.next for anything beyond 10,000 records. | tested |
sort | relevance, name, created, updated, published, with - for descending (sort=-updated = latest change first). | from the description |
Fields in the DataCite response (selection) 12
| Name | Type | Meaning |
|---|---|---|
attributes.doi | tekst | DOI; met .v1, .v2 … is het een versie, zonder is het de dataset als geheel |
attributes.titles[].title | tekst | Titel (vaak 'Data underlying the publication: …') |
attributes.publicationYear | getal | Jaar van publicatie |
attributes.types.resourceTypeGeneral | tekst | Dataset, Software, Collection … |
attributes.subjects[] | lijst | Vakgebied (ANZSRC-code en naam) en vrije trefwoorden |
attributes.rightsList[] | lijst | Licentie met SPDX-code (cc-by-4.0) en URL |
attributes.url | url | Landingspagina op data.4tu.nl (datasets/<uuid> of datasets/<uuid>/<versie>) |
attributes.creators[] | lijst | Makers met naam, ORCID en affiliatie |
attributes.relatedIdentifiers[] | lijst | Verwijzingen naar artikelen en andere versies (IsSupplementTo, IsVersionOf …) |
attributes.geoLocations[] | lijst | Plaats of vak waar de data over gaan, als opgegeven |
attributes.created / updated | datetime | Registratie en laatste wijziging in DataCite |
meta.total | getal | Totaal aantal treffers |
Limits and pitfalls
- DataCite: 500 requests per 5 minutes per IP address without an e-mail address, 1,000 with an e-mail address in the User-Agent or mailto=, 3,000 with an account. Above that HTTP 429. from the description
- page[size] above 1,000 is silently capped at 1,000. Page numbers reach 10,000 records; page[number]=11 at 1,000 per page silently returns page 10 again. Use the cursor beyond that. tested
- A full page of 1,000 records without fields[dois] is about 5 MB; with a few fields 160 kB. tested
- The robots.txt of data.4tu.nl bans all bots (Disallow: /, Crawl-delay: 20). We therefore did not test the djehuty API itself (data.4tu.nl/v2, /v3); the example goes through DataCite. tested
- Each dataset has a DOI per version (…v1) and a DOI without a version. Count only DOIs without a trailing .vN, or you count twice. tested
- Facets (facets=) are not returned in meta; count per year or type with page[size]=0 and a filter. tested
- There are spam collections under 10.4121 (titles with a phone number, 2026). Filter on resource-type-id=dataset when counting. experience
Try it HTTP 200 · 449 ms · 16 Oct
https://api.datacite.org/dois?prefix=10.4121&query=titles.title:Rotterdam&resource-type-id=dataset&page[size]=3&fields[dois]=doi,titles,publicationYear,rightsList,url
{
"data": [
{
"id": "10.4121/f0968233-2c5e-4254-9c17-f42dfca5ab37.v1",
"type": "dois",
"attributes": {
"doi": "10.4121/f0968233-2c5e-4254-9c17-f42dfca5ab37.v1",
"titles": [
{
"title": "T&C Business Clustering Patterns in Rotterdam; data underlying the publication “Re-Weaving Threads for a Circular…"
}
],
"publicationYear": 2026,
"rightsList": [
{
"rightsIdentifierScheme": "SPDX",
"rightsUri": "https://creativecommons.org/licenses/by-sa/4.0/legalcode",
"schemeUri": "https://spdx.org/licenses/",
"rights": "Creative Commons Attribution Share Alike 4.0 International",
"rightsIdentifier": "cc-by-sa-4.0"
}
],
"url": "https://data.4tu.nl/datasets/f0968233-2c5e-4254-9c17-f42dfca5ab37/1"
},
"relationships": {}
},
{
"id": "10.4121/f0968233-2c5e-4254-9c17-f42dfca5ab37",
"type": "dois",
"attributes": {
"doi": "10.4121/f0968233-2c5e-4254-9c17-f42dfca5ab37",
"titles": [
{
"title": "T&C Business Clustering Patterns in Rotterdam; data underlying the publication “Re-Weaving Threads for a Circular…"
}
],
"publicationYear": 2026,
"rightsList": [
{
"rightsIdentifierScheme": "SPDX",Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from DataCite REST API: overview, filters, sorting · DataCite: paging by page number (up to 10,000) or cursor · DataCite: rate limits per IP address · djehuty (4TU's software): Swagger description v2 and v3 (swagger-v2.json, swagger-v3.json). Labels: from the description stated in what the api itself publishes. tested from our own small call. platform applies to every api on this platform, per its documentation. experience learned while building open data index.
How to fetch it
curl -g "https://api.datacite.org/dois?prefix=10.4121&query=titles.title:Rotterdam&page[size]=10&fields[dois]=doi,titles,publicationYear,rightsList"
More from 4TU.ResearchData in our index
6,768 datasets in 4TU.ResearchData (via DataCite). These changed most recently.
- Dataset supports the article "Combined and isolated effects of humidity and temperature on monotonic and fatigue response of flax fibre/epoxy composites"2026-10-30
- Data underlying the PhD Dissertation "Computational modeling of dynamic out-of-plane behaviors in unreinforced masonry buildings: A high-fidelity block-based implicit finite element approach for simulating seismic response under the influence of pre-damage"2026-10-30
- Experimental database underlying the PhD dissertation Chapter 6: Modelling of Shear Behaviour of Reinforced Concrete Members without Shear Reinforcement: a mechanical framework with refined shear transfer mechanisms2026-10-30
- Data accompanying the PhD dissertation: Interface between concrete and Strain Hardening Cementitious Composites (SHCC)2026-10-30
- Data underlying the publication: Tactics of infrastructures in transitions: exploring the space between decarbonization strategies and operational practices in Dutch infrastructure organizations2026-10-30
- Data supporting the dissertation "Torque-modulation-based non-sliding train-borne measurement of the Coefficient of Friction at the Wheel-Rail Interface"2026-10-30
More in this topic
See how this page is built
bron: 4tu-researchdata
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:4tu-researchdata
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: "geen automatische check: robots.txt van data.4tu.nl verbiedt alle bots
(Disallow: /, Crawl-delay: 20, 16 okt 2026)"
verwacht: dagelijks
Source: content/bronnen/4tu-researchdata.yaml · Markdown

