
KNMI Data Platform
KNMI puts its raw and processed data on one platform: 10-minute observations from all weather stations, radar images, HARMONIE weather forecasts, climate series and satellite data. On 16 October 2026 it held 449 datasets, most under CC BY 4.0. You fetch files (NetCDF, HDF5, GRIB) with the Open Data API; it needs a key, but KNMI publishes an anonymous key to try it out.

Summer days (25 °C or warmer) in De Bilt (KNMI measurements): an average of 29 days a year in 1996–2025, 87% more than in 1901–1930
Summer days (25 °C or warmer) in De Bilt (KNMI measurements), 1901 – 2025, in days a year. The highest point was 1947 (55).
What you can build with it1
What can you do with it?4 ideas
The weather ten minutes ago
Every 10 minutes a NetCDF file is added with observations from all automatic stations, including the Caribbean Netherlands. The file for 15 October 2026, 22:30 UTC, was there at 22:33.
Count summer days
For daily values KNMI's daily data service is simpler (no key). The chart on this page comes from there: summer days in De Bilt since 1901.
Rain radar of the last shower
The radar datasets give a precipitation image of the Netherlands every 5 minutes (HDF5). Count how many millimetres fell over your neighbourhood.
Your own weather app on the forecast
HARMONIE-AROME provides the KNMI forecast as GRIB files. With the Notification Service you hear when a new run is ready, instead of asking again and again.
How to process it4 steps
Request a key or use the anonymous one
The developer page lists an anonymous key (valid until 1 August 2027), shared by everyone: 50 requests per minute, 3,000 per hour. Your own key gives 1,000 per hour for you alone.
https://developer.dataplatform.knmi.nl/open-data-api
List the files of a dataset
Send the key in the Authorization header. maxKeys, orderBy=created and sorting=desc give the newest files; nextPageToken for the next page.
curl -H "Authorization: <sleutel>" "https://api.dataplatform.knmi.nl/open-data/v1/datasets/10-minute-in-situ-meteorological-observations/versions/1.0/files?maxKeys=2&orderBy=created&sorting=desc"
Download one file
.../files/<filename>/url returns a temporary download link; fetch that afterwards without a key.
curl -H "Authorization: <sleutel>" "https://api.dataplatform.knmi.nl/open-data/v1/datasets/10-minute-in-situ-meteorological-observations/versions/1.0/files/KMDS__OPER_P___10M_OBS_L2_202610152230.nc/url"
Pick your dataset in the catalogue
The catalogue on dataplatform.knmi.nl lists per dataset the licence, the period and which APIs exist (Open Data API, EDR, WMS, notifications).
https://dataplatform.knmi.nl/dataset
Interesting combinations


How did the hottest day of the year unfold hour by hour?
Find the day in the daily data and fetch the 10-minute files for that day.


Smog when there is no wind?
Put the wind speed from the 10-minute observations next to the hourly nitrogen dioxide or particulate values of a nearby station.
Similar sources
KNMI daily weather dataDaily values per station since 1901 with one simple call and no key. Enough for most weather questions.
ERA5 climate reanalysisReanalysis of the weather worldwide per hour since 1940, on a grid of about 30 km.
KNMI earthquakesRuns on the same server (api.dataplatform.knmi.nl), but the earthquake services need no key.
What to watch out for
- Key required, and the anonymous one is shared
With the anonymous key we got a 200 and a 429 in turn on 16 October 2026 ("Rate Limit Exceeded": the shared quota was used up). For anything that runs regularly: request your own key.
- EDR and WMS only with your own key
The EDR API (CoverageJSON per point or area) and the WMS return 403 with the anonymous key: "Access to this API has been disallowed" (tested 16 October 2026).
- Do not keep polling for new files
KNMI calls repeated polling of the Open Data API for new files abuse. Use the Notification Service (MQTT) instead.
- The catalogue API is closed to robots
robots.txt of dataplatform.knmi.nl excludes /api/ (the CKAN catalogue), with Crawl-Delay 1. That is why we do not harvest the catalogue; the browse pages are allowed.
- Not everything is open
15 datasets are closed, 17 fall under EUMETSAT terms and 5 under a non-commercial or no-derivatives licence. Check per dataset.
APIREST (JSON, bestanden) + OGC EDR, WMS en MQTT · read 16 Oct 2026
Key in the Authorization header (without 'Bearer'). Without a key: HTTP 401 {"error": "Authorization field missing"} (tested). Three kinds: anonymous (published on the developer page, shared, valid until 1 August 2027), registered (free account in the Tyk portal) and bulk (by email to opendata@knmi.nl, one full dataset once). Open Data Index uses the anonymous key on the server only. tested
dataset versions in the catalogue sitemap (412 with an access page; 16 Oct 2026) tested
jsonnetcdfhdf5gribcsv
Base URL
https://api.dataplatform.knmi.nl/open-data/v1
Endpoints 2
- GET
/datasets/{datasetName}/versions/{versionId}/filesFiles in a dataset, paginated (name, size, created, lastModified). Name and version are in the catalogue, Access tab. - GET
/datasets/{datasetName}/versions/{versionId}/files/{filename}/urlTemporary download link for one file (temporaryDownloadUrl); fetch it without a key.
More APIs with the same key 3 · from the provider's documentation from the description
EDR API (OGC Environmental Data Retrieval)
Query station datasets by point, area and time without downloading whole files (CoverageJSON). Collections include 10-minute-, hourly-, daily- and monthly-in-situ-meteorological-observations(-validated).
https://api.dataplatform.knmi.nl/edr/v1- GET
/collectionsAlle collecties - GET
/collections/{collection}Eén collectie met parameters en uitgebreidheid - GET
/collections/{collection}/instancesVersies van een collectie - GET
/docsSwagger van de EDR API
Notification Service (MQTT)
A message for every new or updated file, including the Open Data API link. Password = registered key, username is not used.
mqtts://mqtt.dataplatform.knmi.nl:443- SUB
dataplatform/file/v1/{dataset}/{versie}/createdNieuwe bestanden; # als jokerteken voor created én updated
WMS API
Map images (OGC WMS) of datasets tagged WMS, such as radar-reflectivity-composites. Each dataset's Access tab lists two WMS URLs: anonymous (shared quota, rate-limited per IP) and with a key. Sometimes only a limited history.
https://developer.dataplatform.knmi.nl/wms- GET
<WMS-adres uit de tab Access>?request=GetCapabilitiesLagen en tijden van die dataset
Filtering from the description
File level only: sort by name or time and pick a range with begin and end. To filter inside files use the EDR API.
Parameters 6
maxKeys | Files per page, default 10, max 1,000. | from the description |
orderBy | Sort field, default filename. | from the description |
sorting | Direction, default asc. orderBy=created&sorting=desc gives the newest file first. | from the description |
begin / end | Range filter on the sort field: a filename with orderBy=filename, a timestamp with lastModified or created. | from the description |
nextPageToken | Next page; returned while isTruncated is true. | from the description |
startAfterFilename | Deprecated; cannot be combined with orderBy, begin, end or sorting. | from the description |
Fields in the response (per the OpenAPI) 7
| Name | Type | Meaning |
|---|---|---|
files[].filename | tekst | Bestandsnaam, vaak met tijdstip (KMDS__OPER_P___10M_OBS_L2_202610152230.nc) |
files[].size | integer · bytes | Grootte van het bestand |
files[].created | datetime | Moment van plaatsing op het platform |
files[].lastModified | datetime | Laatste wijziging |
isTruncated | boolean | Er zijn meer bestanden; vraag door met nextPageToken |
resultCount / maxResults | integer | Aantal in deze pagina en het gevraagde maximum |
temporaryDownloadUrl | url | Downloadlink (alleen bij /url), tijdelijk geldig |
Limits and pitfalls
- Anonymous key: 50 requests per minute and 3,000 per hour, shared by all anonymous users. Registered: 200 per second and 1,000 per hour for you alone. Bulk: 100 per second, once as many as the dataset has files. from the description
- The shared anonymous quota is often exhausted: we got HTTP 429 after two calls. Request your own key for anything serious. experience
- Pages of at most 1,000 files (maxKeys). from the description
- KNMI calls polling for new files abuse. Use the Notification Service (MQTT on mqtt.dataplatform.knmi.nl:443, topic dataplatform/file/v1/<dataset>/<version>/created); it needs a registered key as password. from the description
- A header X-KNMI-Deprecation in the response announces that a dataset or API version will be retired. from the description
- The catalogue itself is CKAN on dataplatform.knmi.nl, but robots.txt forbids /api/ there. Pick datasets on the website (the Access tab gives the right name and version) or via the sitemap. tested
- The EDR API returned HTTP 403 with the anonymous Open Data key: request a key for it in the API catalogue. experience
- Files are mostly NetCDF or HDF5 (radar, models); read them with xarray or netCDF4. For daily values per station, KNMI daily data is much simpler. experience
Try it HTTP 200 · 404 ms · 16 Oct
https://api.dataplatform.knmi.nl/open-data/v1/datasets/10-minute-in-situ-meteorological-observations/versions/1.0/files?maxKeys=3&orderBy=created&sorting=desc
{
"isTruncated": true,
"resultCount": 3,
"files": [
{
"filename": "KMDS__OPER_P___10M_OBS_L2_202610162150.nc",
"size": 156319,
"created": "2026-10-16T21:53:40+00:00",
"lastModified": "2026-10-16T21:54:11+00:00"
},
{
"filename": "KMDS__OPER_P___10M_OBS_L2_202610162140.nc",
"size": 176204,
"created": "2026-10-16T21:43:41+00:00",
"lastModified": "2026-10-16T21:53:38+00:00"
}
],
"maxResults": 3,
"startAfterFilename": "",
"nextPageToken": "eyJjcmVhdGVkIjogIjIwMjYtMTAtMTZUMjE6MzM6NDErMDA6MDAiLCAiaWQiOiAiMTAtbWludXRlLWluLXNpdHUtbWV0ZW9yb2xvZ2ljYWwtb2JzZXJ2Y…"
}Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from OpenAPI of the Open Data API: 2 endpoints, all parameters and response schemas · Guide, key types with limits and the anonymous key · Fair use policy: 429 = back off exponentially, don't poll more often than the dataset changes · Guide to the EDR API and its collections. 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 -H "Authorization: <sleutel>" "https://api.dataplatform.knmi.nl/open-data/v1/datasets/10-minute-in-situ-meteorological-observations/versions/1.0/files?maxKeys=1&orderBy=created&sorting=desc"
More from KNMI in our index
620 datasets in data.overheid.nl, Nationaal Georegister. These changed most recently.
- Transformed daily global radiation, KNMI14, Netherlands2026-10-10
- Clouds - calibrated attenuated backscatter profiles from CHM15k ceilometers in the KNMI observation network, 5 minute averaged data2026-10-10
- 1 hour precipitation accumulations from climatological gauge-adjusted radar dataset for The Netherlands (1 km) in KNMI HDF5 format2026-10-10
- Lidar wind profiles measured at North Sea wind farm TenneT platforms 10 minutes averaged values2026-10-10
- [TEST PHASE DATA] HARMONIE-AROME Cy46 forecast Netherlands meteorological parameters2026-10-10
- KNMI14 Daily precipitation sum 2085 WL2026-10-10
More in this topic
See how this page is built
bron: knmi-dataplatform
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:knmi-dataplatform
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: nieuwste bestand van de 10-minutenwaarnemingen (Open Data API, met de
anonieme sleutel die het KNMI publiceert; één aanroep per dag)
verwacht: elke minuut
Source: content/bronnen/knmi-dataplatform.yaml · Markdown



