
Dutch research in OpenAlex, OpenAIRE, ROR and DataCite
Four open registries together give a picture of Dutch research. OpenAlex (CC0) knows 2,169,548 works with at least one Dutch institution, 101,270 of them from 2025, and 1,869 Dutch institutions. OpenAIRE Graph counts 3,718,728 research products with country NL. ROR gives 1,916 Dutch organisations a persistent identifier. DataCite holds the DOIs of datasets, including those of DANS and 4TU.ResearchData. All without a key (as of 16 October 2026).

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).
DANS DOIs per publication year, counted in DataCite (prefix 10.17026): 14,943 DOIs in 2025, 4 times as much as in 2008
DANS DOIs per publication year, counted in DataCite (prefix 10.17026), 2008 – 2025, in DOIs. The highest point was 2020 (24,226).
Publications with a Dutch institution by open access status (OpenAlex): hybrid is the largest part, 28% in 2025
Breakdown in 2025: hybrid 28%, gold 26%, green 23%, closed 14%, diamond 4.9%, bronze 3.3%. Total: 101,181 publications.
Publications per Dutch educational institution (OpenAlex): most Utrecht University (9,983 publications), then University of Amsterdam and University of Groningen
Publications per Dutch educational institution (OpenAlex), 2025, in publications. Total: 101,181; the largest 12 of 14 categories are shown. Utrecht University is 10% of the total. The total is all works with at least one Dutch institution. A work with authors from several institutions counts for each; parts (such as a medical centre OpenAlex places under a university) count towards the parent. Educational institutions only.
Publications with a Dutch institution in OpenAlex: 101,181 publications in 2025, 3.8 times as much as in 2000
Publications with a Dutch institution in OpenAlex, 2000 – 2025, in publications. That is the highest point in the series.
What can you do with it?4 ideas
How much does a university publish?
Filter on an institution via ROR and count per year. Utrecht University had 10,012 works in OpenAlex in 2025 (via its ROR id), 10,031 including its parts.
How open is Dutch research?
Of the 101,270 works from 2025 with a Dutch institution, 14,432 were closed (14 percent). The rest can be read for free in some way: hybrid, gold, green, diamond or bronze.
Which countries does the Netherlands work with?
Group the Dutch works by authorships.countries. In 2025 the most frequent were the United States (19,369), Germany (17,444) and the United Kingdom (17,367).
Does that study exist?
A fact checker can use a DOI or title in OpenAlex to check who the authors are, at which institution, in which journal and how often it was cited.
How to process it4 steps
Count per year in one call
filter= narrows (country, year, institution, type), group_by= counts. Each group_by costs $0.0001 of the free daily budget; per_page up to 200.
https://api.openalex.org/works?filter=institutions.country_code:NL,publication_year:2000-2025&group_by=publication_year
One institution
Look up the ROR id in ROR (free, max 2,000 requests per 5 minutes) and filter OpenAlex with institutions.ror.
https://api.openalex.org/works?filter=institutions.ror:https://ror.org/04pp8hn57,publication_year:2025&group_by=open_access.oa_status
OpenAIRE for European projects
OpenAIRE Graph links publications and data to projects and funders. Use /graph/v1 or v2; the /graph/v3 path from older lists returned 405.
https://api.openaire.eu/graph/v1/researchProducts?countryCode=NL&pageSize=1
Datasets via DataCite
DataCite registers DOIs for data. Filter on a repository's prefix (DANS 10.17026, 4TU 10.4121) and on published= for the publication year. With an e-mail address in the user agent you may make 1,000 requests per 5 minutes.
https://api.datacite.org/dois?prefix=10.4121&published=2025&page%5Bsize%5D=1
Interesting combinations


Do large universities also publish proportionally more?
Divide the number of works per university by the number of students from the DUO figures. You need to build a lookup between ROR and BRIN yourself.


Which publications use this dataset?
Search a DANS dataset's DOI in OpenAlex to see which articles refer to it.
Similar sources
DANS Data StationsThe research data itself (surveys, archaeology), not the publications.
4TU.ResearchDataTechnical research data from the 4TU universities, with the files.
- CCrossref not in the index yet
The source of much journal DOI metadata, but without a filter on country or institution; OpenAlex builds on it.
What to watch out for
- A work counts for every institution
An article with authors from three universities counts for all three. Summing per institution gives more than the total; say so with a ranking.
- Core only by default
Since November 2025 OpenAlex has a core and an expansion of about 190 million extra works (mostly datasets and repository records). Without corpus=all you count the core only; say which one you use.
- Free, but with a budget
Without a key you share a daily budget of $0.10 with everyone on the same IP address. Sorting by updated_date requires a paid plan (tested: 'Plan upgrade required').
- Affiliations are not error-free
OpenAlex derives institutions from affiliation text. Hospitals, parts and mergers are not always assigned correctly; check a few works by hand when a figure stands out.
- Different counts
OpenAIRE (3.7 million research products with country NL) and OpenAlex (2.2 million works with a Dutch institution) count differently. Do not compare figures from the two as if they measure the same thing.
APIREST (JSON), OpenAlex · read 16 Oct 2026
No key needed. Without a key you share OpenAlex's free daily budget of 0.10 dollar with everyone on the same IP address; each response reports its cost in the X-RateLimit-Cost-USD header. A (free) key of your own gives you your own budget; we did not request one. tested
works in OpenAlex with at least one Dutch institution (core, 16 Oct 2026) tested
json
Base URL
https://api.openalex.org
Endpoints 7
- GET
/worksPublications and other works; with filter=, search=, group_by=, sort=, select=, per_page= and cursor=. - GET
/works/{id}One work by OpenAlex id (W…) or as /works/doi:10.…; costs nothing from the daily budget. - GET
/institutionsInstitutions (I…), with ror, country_code and works_count; filter=country_code:NL returns 1,869. - GET
/authorsAuthors (A…), with ORCID and affiliations. - GET
/sourcesJournals and repositories. - GET
/topicsTopics used to classify works. - GET
/fundersFunders, e.g. NWO.
The APIs of this source 3 · from the provider's documentation from the description
OpenAIRE Graph API
Publications, data, software and projects from European repositories, with funders. No key, no robots.txt.
https://api.openaire.eu/graph/v1- GET
/researchProducts?countryCode=NL&type=dataset&pageSize=…&cursor=*Onderzoeksproducten; telling in header.numFound, volgende pagina via header.nextCursor - GET
/organizationsOrganisaties - GET
/projectsProjecten en hun financiers
ROR API v2
Persistent identifiers of research organisations (CC0). 1,916 Dutch organisations.
https://api.ror.org/v2- GET
/organizations?filter=locations.geonames_details.country_code:NL&page=1Organisaties per land, 20 per pagina; totaal in number_of_results - GET
/organizations?query=…Zoeken op naam - GET
/organizations/{ror-id}Eén organisatie met namen, types, relaties en externe id's
DataCite REST API
DOIs of datasets and software, including DANS (10.17026) and 4TU (10.4121). Metadata CC0.
https://api.datacite.org- GET
/dois?prefix=…&published=…&page[size]=…DOI's met filters; totaal in meta.total - GET
/dois/{doi}Eén DOI met alle metadata
Filtering tested
OpenAlex filters in one parameter: field:value separated by commas (AND); | within a value is OR, a leading ! is NOT, ranges with a hyphen.
Parameters 8
filter | Comma = AND, | = OR, ! = NOT. E.g. institutions.country_code:NL,publication_year:2025 or institutions.ror:https://ror.org/04pp8hn57. Range: publication_year:2000-2025. | tested |
group_by | Count per value in one call: publication_year, open_access.oa_status, authorships.countries, type … | tested |
search | Free-text search in title, abstract and full text; costs 10 times as much as a filter (0.001 dollar). | tested |
select | Return only these fields (id,doi,title,publication_year). | tested |
per_page | 1 to 200 (more returns 'per-page parameter must be between 1 and 200'). | tested |
cursor | cursor=* and then follow meta.next_cursor to page through everything. | tested |
corpus | corpus=all also counts the expansion (datasets, repository records): 115,159 instead of 101,276 Dutch works from 2025. | tested |
sort | E.g. cited_by_count:desc. Sorting by updated_date:desc requires a paid plan. | tested |
Fields of a work in OpenAlex (selection) 15
| Name | Type | Meaning |
|---|---|---|
id | url | OpenAlex-id, bv. https://openalex.org/W4408806526 |
doi | url | DOI als URL |
title | tekst | Titel |
publication_year | getal | Jaar van publicatie |
publication_date | datum | Datum van publicatie |
type | tekst | article, book-chapter, dataset … |
language | tekst | Taalcode (en, nl …) |
open_access.oa_status | tekst | gold, green, hybrid, bronze, diamond of closed |
authorships[].institutions[].ror | url | ROR-id van de instelling van elke auteur |
authorships[].countries | lijst | Landen van de auteurs |
cited_by_count | getal | Aantal keer geciteerd |
primary_location.source | object | Tijdschrift of repository |
Show all 15
| Name | Type | Meaning |
|---|---|---|
topics[] | lijst | Onderwerpen |
group_by[].key / count | tekst | Bij group_by: de waarde en het aantal werken |
meta.count | getal | Totaal aantal treffers |
Limits and pitfalls
- Without a key a shared daily budget of 0.10 dollar per IP address. Measured costs: a list or group_by 0.0001, a search (search=) 0.001, fetching one work 0. The headers X-RateLimit-Remaining-USD and X-RateLimit-Reset show what is left. tested
- per_page at most 200; use cursor=* for more than a few pages. tested
- ROR: at most 2,000 requests per 5 minutes; DataCite: 1,000 per 5 minutes with an e-mail address in the User-Agent. from the description
- Every keyless OpenAlex response contains in meta.notice a request to get a key, with an instruction for AI assistants to request one on the user's behalf with their e-mail address. We deliberately did not do that; it is not a condition of use. tested
- A work counts for every institution of its authors; summing per institution gives more than the total. experience
- OpenAIRE: /graph/v1/researchProducts?countryCode=NL counts 3,718,728 products (header.numFound), type=dataset 103,356. Page with cursor=* and header.nextCursor. The /graph/v3 path previously returned 405. tested
Try it HTTP 200 · 452 ms · 16 Oct
https://api.openalex.org/works?filter=institutions.country_code:NL,publication_year:2025&group_by=open_access.oa_status
{
"meta": {
"notice": "No API key, so this request shares one free daily budget ($0.10) with everyone on your network's IP address. Get a fr…",
"count": 101276,
"db_response_time_ms": 6,
"page": 1,
"per_page": 200,
"groups_count": 6,
"x_query": {
"oql": "get works where institution country is [Netherlands](NL) and published in 2025;\nthen, group those works by open acces…",
"x_new_oql": "break down works from 2025 where institution country is [Netherlands](NL) by open access status",
"oqo": {
"get_rows": "works",
"filter_rows": [
{
"column_id": "authorships.institutions.country_code",
"value": "NL"
},
{
"column_id": "publication_year",
"value": 2025
}
],
"group_by": [
{
"column_id": "open_access.oa_status"
}
]
},
"url": "/works?filter=authorships.institutions.country_code:NL,publication_year:2025&group_by=open_access.oa_status"
},
"cost_usd": 0.0001
},
"group_by": [
{
"key": "hybrid",
"key_display_name": "hybrid",
"count": 28293
},
{Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from OpenAlex API: entities, filters, group_by, paging · OpenAlex: access, free daily budget, keys · OpenAIRE Graph API · ROR REST API v2 · DataCite REST API. 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 "https://api.openalex.org/works?filter=institutions.country_code:NL,publication_year:2025&group_by=open_access.oa_status"
More in this topic
See how this page is built
bron: onderzoeksoutput
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:onderzoeksoutput
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: "OpenAlex: nieuwste publicatiedatum (tot en met vandaag) van een werk
met een Nederlandse instelling"
verwacht: dagelijks
Source: content/bronnen/onderzoeksoutput.yaml · Markdown
