Spine · student counts
1 · DUO — Enrolled students
Total enrolled per institution × programme × year. The headline market-size number.
CSV · 2021–2025 · ref date 1 Oct · open data
First-year intake
2 · DUO — Eerstejaars
First-year students per programme per year — the “new students per year” metric.
CSV · 2021–2025 · open data
Bridge · NL ↔ EN names
3 · DUO — Erkenningen (RIO)
Each accredited programme’s Dutch + international name, level and CROHO/ISAT code — the bridge that matches the English list to DUO’s mostly-Dutch names.
CSV · accreditation register · open data
Language flag
4 · Nuffic — Studyfinder
The authoritative curated list of English-taught programmes (431 bachelors). Supplies the language signal DUO lacks; matched to DUO by institution + name.
Open JSON API · curated from HOVI
Precision upgrade not yet wired
5 · Studiekeuze123 / SKDB
Exact per-language teaching % (taalOnderwijsPerc) — would replace estimated counts for shared programmes with true English-cohort numbers. Registration-gated (~5 business days).
REST API + bulk export · gated
⚠️ Key caveat — language splitting
DUO reports enrollment per programme (CROHO), not per language. Each English programme is tagged:
dedicated the registered programme is the English one → total ≈ English cohort. Reliable. (143 of the >300 set)
shared an English track sits inside a broader, often partly-Dutch programme → the total overstates the English-studying population. Treat as an upper bound. (48 of the >300 set)
Exact per-language headcounts require Source 5 (SKDB). Matching: hand-verified institution→BRIN map + fuzzy name match (323 confident), residual ~60 marketing-name/track cases resolved by LLM against CROHO candidates — all auditable in _match_report.json.