303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Sources›Climate and environment

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.

Climate and environmentEarth observationFree keyAPIDownloadMap layerNetherlands · file per time step (station or grid cell)
Reachable · checked 17:23
developer.dataplatform.knmi.nl
Screenshot of developer.dataplatform.knmi.nl

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).

Source: KNMI, daggegevens van het weer · opgehaald 25 oktober 2026 · selection: station 260 (De Bilt); TX ≥ 250 (tienden), alleen volledige jarenOpen the table Single block

What you can build with it1

What can you do with it?4 ideas

Getting started

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.

Getting started

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.

Advanced

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.

Advanced

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

  1. 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
  2. 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"
  3. 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"
  4. 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

Similar sources

  • KNMI daily weather data

    Daily values per station since 1901 with one simple call and no key. Enough for most weather questions.

  • ERA5 climate reanalysis

    Reanalysis of the weather worldwide per hour since 1940, on a grid of about 30 km.

  • KNMI earthquakes

    Runs 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

StandardREST (JSON, bestanden) + OGC EDR, WMS en MQTTdocs
Access login

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

Size449

dataset versions in the catalogue sitemap (412 with an access page; 16 Oct 2026) tested

Formats

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
  • SUBdataplatform/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

maxKeysFiles per page, default 10, max 1,000.from the description
orderBySort field, default filename.from the description
sortingDirection, default asc. orderBy=created&sorting=desc gives the newest file first.from the description
begin / endRange filter on the sort field: a filename with orderBy=filename, a timestamp with lastModified or created.from the description
nextPageTokenNext page; returned while isTruncated is true.from the description
startAfterFilenameDeprecated; cannot be combined with orderBy, begin, end or sorting.from the description

Fields in the response (per the OpenAPI) 7

NameTypeMeaning
files[].filenametekstBestandsnaam, vaak met tijdstip (KMDS__OPER_P___10M_OBS_L2_202610152230.nc)
files[].sizeinteger · bytesGrootte van het bestand
files[].createddatetimeMoment van plaatsing op het platform
files[].lastModifieddatetimeLaatste wijziging
isTruncatedbooleanEr zijn meer bestanden; vraag door met nextPageToken
resultCount / maxResultsintegerAantal in deze pagina en het gevraagde maximum
temporaryDownloadUrlurlDownloadlink (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.

All about KNMI

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