303.525 datasets geïndexeerd1.419 uitgevers
Open Data IndexDe index van open data over Nederland
Bronnen›Klimaat en milieu

Basisregistratie Ondergrond (BRO)

De landelijke registratie van wat er onder de grond zit en gemeten wordt: sonderingen, geologische, bodemkundige en geotechnische boringen, grondwatermonitoringputten met hun meetreeksen (soms vanaf de jaren 1950), grondwatersamenstelling, onttrekkingen en mijnbouwvergunningen. Bestuursorganen moeten hun onderzoek hier laten registreren; TNO beheert de landelijke voorziening namens het ministerie van BZK. Veertien REST-diensten op publiek.broservices.nl, elk met een OpenAPI-beschrijving, plus een kopie op PDOK. Op 16 oktober 2026 stonden er 97.768 grondwatermonitoringputten in.

Klimaat en milieuWonen en ruimteOpenAPIKaartlaagDownloadNederland · meetpunt (sondering, boring, put)
Actueel · bijgewerkt gisteren · gecontroleerd 17:23
broloket.nl
Schermafbeelding van broloket.nl

Grondwatermonitoringputten in de BRO naar bouwjaar: 2.786 putten in 2025, 2,2 keer zo veel als in 1990

Grondwatermonitoringputten in de BRO naar bouwjaar, 1990 – 2025, in putten. Het hoogste punt was 2022 (3.698).

Bron: TNO, Basisregistratie Ondergrond: grondwatermonitoring in samenhang via PDOK (OGC API) · opgehaald 25 oktober 2026 · selectie: 97.900 putten in de BRO; 2.186 zonder bouwjaar, 12.001 inmiddels verwijderd (tellen mee bij hun bouwjaar); alleen volle jarenOpen de tabel Los blok

Wat je ermee kunt bouwen1

Wat kun je ermee?4 ideeën

Om te beginnen

Hoe hoog staat het grondwater onder je huis?

Zoek de dichtstbijzijnde grondwaterput, haal de grondwaterstandreeks op als CSV en maak er een grafiek van. Put GMW000000004076 heeft metingen vanaf 1956.

Om te beginnen

Wat zit er onder de bouwplek?

Binnen 3 kilometer van het centrum van Utrecht zijn sinds 1 januari 2025 52 sonderingen en 59 grondwaterputten geregistreerd. Elke sondering laat de lagen tot tientallen meters diep zien.

Voor gevorderden

Droogte in de reeksen

Vergelijk de grondwaterstand in de zomers van 2018, 2022 en 2025 met het langjarig gemiddelde van dezelfde put. Leg de neerslag van het KNMI ernaast.

Voor gevorderden

Wie pompt er grondwater op?

Grondwatergebruiksystemen (GUF) en productiedossiers (GPD) beschrijven onttrekkingen en hoeveel er per periode is opgepompt.

Zo verwerk je het4 stappen

  1. Zoeken in een gebied

    Per objecttype een POST naar characteristics/searches met een JSON-body: gebied (cirkel in km of rechthoek) en registratieperiode. Het antwoord is XML met numberOfDocuments en per object de kengegevens. Meer dan 2.000 objecten wordt geweigerd: maak het gebied of de periode kleiner.

    curl -X POST -H 'Content-Type: application/json' \
      -d '{"registrationPeriod":{"beginDate":"2025-01-01","endDate":"2026-10-15"},"area":{"enclosingCircle":{"center":{"lat":52.0907,"lon":5.1214},"radius":3}}}' \
      https://publiek.broservices.nl/sr/cpt/v1/characteristics/searches
  2. Van put naar meetreeks

    gmw-relations geeft bij een put de buizen en de bijbehorende grondwaterstandonderzoeken (GLD). seriesAsCsv geeft de reeks; de tijd staat in epoch-milliseconden en er is een kolom per kwaliteitsregime (voorlopig, beoordeeld, controle, onbekend).

    https://publiek.broservices.nl/gm/gld/v1/seriesAsCsv/GLD000000002796
  3. De OpenAPI per dienst

    Elke dienst heeft zijn beschrijving op <basis>/openapi (OpenAPI 3.1, als YAML) en een Swagger-pagina op <basis>/swagger-ui. Paden: /gm/{frd,gar,gld,gmn,gmw}/v1, /sr/bhrp/v2, /sr/bhrg/v3, /sr/bhrgt/v2, /sr/cpt/v1, /sr/sfr/v2, /gu/{gpd,guf}/v1, /ep/{epc,epl}/v1.

    https://publiek.broservices.nl/gm/gld/v1/openapi
  4. Alle putten in één keer (PDOK)

    Voor overzichten is de PDOK-kopie handiger: OGC API met putten, buizen, meetnetten en onderzoeken, in GeoJSON, 1.000 per pagina (98 pagina's voor alle putten). Elk object linkt naar de XML en de CSV-reeksen op publiek.broservices.nl.

    https://api.pdok.nl/tno/bro-grondwatermonitoring-in-samenhang-karakteristieken/ogc/v1/collections/gm_gld/items?f=json&limit=10

Interessante koppelingen

Vergelijkbare bronnen

  • Bodemloket

    Bodemverontreiniging en saneringen per locatie; de BRO gaat over de opbouw van de ondergrond en het grondwater.

  • Actueel Hoogtebestand Nederland (AHN)

    De hoogte van het maaiveld; de BRO beschrijft wat eronder zit.

  • DINOloket (TNO) nog niet uitgelegd

    Het oudere TNO-archief met boringen en grondwatergegevens van voor de BRO; veel daarvan is naar de BRO overgezet.

Waar je op moet letten

  • Maximaal 2.000 objecten per zoekvraag

    Volgens de koppelvlakbeschrijving beperkt de BRO de lijst softwarematig tot 2.000 documenten; daarboven geeft de dienst een weigering ("Het aantal objecten is groter dan 2000"). Voor heel Nederland in één jaar moet je in stukken zoeken, of de PDOK-kopie gebruiken.

  • XML en POST

    Zoeken gaat alleen via POST met een JSON-body, en de antwoorden zijn XML in het BRO-model. Alleen de reeksen zijn er als CSV.

  • Geen totalen

    De REST-diensten geven geen landelijke aantallen, en de lijst met bro-ids vraagt het KvK-nummer van een bronhouder. Voor tellingen de PDOK-kopie helemaal ophalen.

  • Oud en nieuw door elkaar

    Putten van voor de BRO zijn overgezet uit oudere archieven (kwaliteitsregime IMBRO/A, 72.798 van de 97.768 putten); die zijn minder volledig dan nieuwe registraties (IMBRO). 11.985 putten zijn inmiddels verwijderd maar staan er nog in.

APIREST (OpenAPI 3.1 als YAML; zoeken met POST + JSON, antwoord XML of CSV) · gelezen 16 okt 2026

StandaardREST (OpenAPI 3.1 als YAML; zoeken met POST + JSON, antwoord XML of CSV)documentatie
Toegang zonder sleutel

Geen sleutel of account nodig getest

Omvang97.768

grondwatermonitoringputten (PDOK-kopie, 16 okt 2026; 11.985 daarvan verwijderd) getest

Formaten

xmlcsvjson

Basisadres

https://publiek.broservices.nl

Endpoints 13

  • POST/{domein}/{type}/{versie}/characteristics/searchesZoeken in een gebied (cirkel in km of rechthoek in WGS84) en periode; antwoord XML met numberOfDocuments en kengegevens per object. Voor gmw, cpt, bhrp, bhrg, bhrgt, sfr, guf, epc, epl (niet voor gld, gar, gmn, frd, gpd).
  • GET/{domein}/{type}/{versie}/objects/{broId}Eén registratieobject volledig, als XML in het BRO-model (fullHistory=ja bij putten en vergunningen).
  • GET/{domein}/{type}/{versie}/bro-ids?bronhouder={kvk}Alle bro-ids van één bronhouder (KvK-nummer verplicht); registered=ja|nee.
  • GET/gm/v1/gmw-relations/{broId}Bij een put: de buizen en de grondwaterstand- (GLD), samenstellings- (GAR) en meetnetverwijzingen (GMN), als JSON.
  • GET/gm/v1/gmn-relations/{broId}Bij een meetnet: de putten en buizen erin, als JSON.
  • GET/gm/gld/v1/seriesAsCsv/{broId}Grondwaterstandreeks als CSV: tijdstip plus een waarde- en opmerkingkolom per soort (voorlopig, beoordeeld, controle, onbekend).
  • GET/gm/gld/v1/objects/{broId}/observationsSummaryOverzicht van de observaties in een dossier (id, begin, eind, type, status), als JSON.
  • GET/gm/gld/v1/objects/{broId}/observations/{observationId}Eén observatie als XML, met startTVPTime/endTVPTime of mostRecentTVP.
  • GET/gm/gld/v1/objectsAsCsv/{broId}Heel het grondwaterstandendossier als CSV (rapportagetype, observatietype).
  • GET/gm/gmw/v1/groundlevelposition-as-csv/{broId}Maaiveldhoogte van een put door de tijd, als CSV.
  • GET/gm/gmn/v1/networksLijst van meetnetten, te filteren op bronhouder, monitoringdoel en meetpunten (zonder filter: 204 leeg).
  • GET/gu/gpd/v1/seriesAsCsv/{broId}Onttrokken en ingebrachte volumes van een grondwaterproductiedossier als CSV.
  • POST/gm/gar/v1/table/dispatchGrondwatersamenstelling als tabel bij een uitgifteresultaat.

De API's van deze bron 1 · uit de documentatie van de aanbieder uit de beschrijving

PDOK-kopie (OGC API Features)

Kengegevens van alle putten, buizen, meetnetten en onderzoeken in GeoJSON, 1.000 per pagina, zonder 2.000-grens. Elk object linkt naar de XML op publiek.broservices.nl (imbro_xml_url). Handig voor landelijke tellingen.

https://api.pdok.nl/tno/bro-grondwatermonitoring-in-samenhang-karakteristieken/ogc/v1
  • GET/collections/gm_gmw/items?f=json&limit=1000Putten (ook gm_gmw_monitoringtube, gm_gmn, gm_gmn_measuringpoint, gm_gmn_reference, gm_gld, gm_gar)
  • GET/collections/{collectie}/queryablesFilterbare velden (alleen bro_id, pk en geometrie)

Filteren uit de beschrijving

Geen querytaal: een JSON-body (kenset) met gebied, periodes en een paar kenmerken. Daarna per bro-id verder.

Parameters 11

area.enclosingCircleCirkel: center {lat, lon} (WGS84) en radius in kilometer.getest
area.boundingBoxRechthoek: lowerCorner en upperCorner, elk {lat, lon}.getest
registrationPeriod{beginDate, endDate} als JJJJ-MM-DD: wanneer het object geregistreerd is.getest
correctionPeriod, constructionPeriod, removalPeriodAndere periodes in de zoekvraag (bij putten: aanleg en verwijdering).uit de beschrijving
qualityRegime, underReview, owner, deliveryAccountablePartyFilters in de zoekvraag: IMBRO of IMBRO/A, JA/NEE, KvK-nummer eigenaar of bronhouder.uit de beschrijving
bronhouderKvK-nummer, verplicht bij bro-ids.uit de beschrijving
fullHistoryBij objects: ook de eerdere versies van het object.uit de beschrijving
observationPeriodBeginDate, observationPeriodEndDate, filteredBij GLD-objects: alleen observaties in een periode.uit de beschrijving
asISO8601Bij seriesAsCsv: tijdstippen als ISO 8601 (1956-09-28T12:00:00+01:00) in plaats van epoch-milliseconden.getest
filterOnStatusQualityControlBij seriesAsCsv: alleen waarden met deze kwaliteitsstatus.uit de beschrijving
requestReferenceEigen kenmerk dat terugkomt in het antwoord.uit de beschrijving

Velden in de antwoorden (selectie: zoekresultaat putten en reeks-CSV) 9

NaamTypeBetekenis
brocom:broIdtekstBRO-id (GMW…, CPT…, GLD…)
brocom:qualityRegimetekstIMBRO (nieuw) of IMBRO/A (overgezet uit oudere archieven)
brocom:objectRegistrationTimedatetimeMoment van registratie
brocom:standardizedLocationpuntLocatie in ETRS89 (EPSG:4258), lat lon
brocom:deliveredLocationpuntAangeleverde locatie, meestal RD (EPSG:28992)
groundLevelPositiongetal · m t.o.v. NAPMaaiveldhoogte bij de put
wellConstructionDatedatumAanlegdatum van de put
Beoordeelde Waarde [m]getal · m t.o.v. NAPGrondwaterstand in seriesAsCsv (ook Voorlopige, Controle, Onbekend)
Tijdstipgetal · ms sinds 1970Tijd in seriesAsCsv; negatief vóór 1970

Limieten en valkuilen

  • Een zoekvraag die meer dan 2.000 objecten zou opleveren wordt geweigerd: HTTP 400 met responseType 'rejection' en de reden 'Het aantal objecten is groter dan 2000'. Maak het gebied of de periode kleiner. getest
  • Geen sleutel en geen gedocumenteerde rate limit. Een zoekvraag van 15 putten (31 kB XML) kwam in 0,3 s terug. getest
  • Fouten zijn XML met responseType 'rejection' en een rejectionReason, ook voor een onbekend bro-id ('Registratieobject GMW999999999999 bestaat niet.', HTTP 400). getest
  • Datums verschillen per endpoint: observationsSummary geeft 29-07-1971 (DD-MM-JJJJ), seriesAsCsv epoch-milliseconden (of ISO 8601 met asISO8601=true), XML ISO 8601. getest
  • De OpenAPI-beschrijvingen zijn YAML (application/yaml), geen JSON; tools die alleen JSON lezen moeten eerst omzetten. Er zijn 15 diensten: /gm/{frd,gar,gld,gmn,gmw}/v1, /gm/v1, /sr/bhrp/v2, /sr/bhrg/v3, /sr/bhrgt/v2, /sr/cpt/v1, /sr/sfr/v2, /gu/{gpd,guf}/v1, /ep/{epc,epl}/v1. getest
  • Putten met kwaliteitsregime IMBRO/A (72.798 van de 97.768) zijn overgezet uit oudere archieven en minder volledig. Verwijderde putten staan er nog in (deregistered/removal). ervaring
  • robots.txt van publiek.broservices.nl gaf HTTP 503 (16 okt 2026): geen regels te lezen. Wij gebruiken alleen de gedocumenteerde API met kleine aanroepen. getest

Probeer het HTTP 200 · 362 ms · 16 okt

https://publiek.broservices.nl/gm/v1/gmw-relations/GMW000000004076
{
  "gmwBroId": "GMW000000004076",
  "monitoringTubeReferences": [
    {
      "tubeNumber": 1,
      "screenTopPosition": -10.05,
      "gmnReferences": [],
      "gldReferences": [
        {
          "broId": "GLD000000002796",
          "url": "https://publiek.broservices.nl/gm/gld/v1/objects/GLD000000002796",
          "accountableParty": "30277172"
        }
      ],
      "garReferences": []
    }
  ],
  "characteristics": null
}

Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.

Gelezen uit OpenAPI 3.1 (YAML) van de grondwaterstanden (GLD); elke dienst heeft er een op <basis>/openapi · Swagger-pagina om aanroepen uit te proberen (per dienst) · BRO-productomgeving: uitgiftehandboeken en berichtencatalogi per registratieobject. Labels: uit de beschrijving staat in wat de api zelf publiceert. getest uit onze eigen kleine aanroep. platform geldt voor elk api van dit platform, volgens de documentatie. ervaring zelf ondervonden bij het bouwen van open data index.

Zo haal je het op

curl https://publiek.broservices.nl/gm/v1/gmw-relations/GMW000000004076

Meer van TNO in onze index

106 datasets in data.overheid.nl, Nationaal Georegister. Dit zijn de laatst gewijzigde.

Alles over TNO

Meer in dit thema

Bekijk hoe deze pagina is opgebouwd
bron: bro
blokken: []
secties:
  - ideeen
  - verwerken
  - koppelingen
  - vergelijkbaar
  - beperkingen
  - code
cache:
  tag: bron:bro
  ververs: na statuscheck, als de bron nieuwer is
statuscheck:
  methode: veld updated van de collectie gm_gmw in de PDOK-kopie (BRO
    Grondwatermonitoring in samenhang)
  verwacht: wekelijks

Bron: content/bronnen/bro.yaml · Markdown