De Basisregistratie Ondergrond (BRO) is open te raadplegen zonder sleutel, op twee manieren. PDOK biedt per thema een OGC API met karakteristieken en locaties, onder CC0. De BRO-uitgifteservices op publiek.broservices.nl geven de volledige registratieobjecten als XML of CSV. Hieronder staan getest voorbeelden voor grondwatermonitoring, de limieten en de valkuilen.

Laatst bijgewerkt:

Wat is de BRO en wat is er open?

De BRO is de landelijke basisregistratie met gegevens over de Nederlandse bodem en ondergrond. TNO Geologische Dienst Nederland ontwikkelt en beheert het BROloket, het loket voor de publieke gegevens, in opdracht van het ministerie van Binnenlandse Zaken en Koninkrijksrelaties. De gegevens zijn verdeeld in registratieobjecten: een eigen registratie per soort onderzoek of object, zoals een grondwatermonitoringput (GMW), een grondwaterstandonderzoek (GLD) of een geotechnisch sondeeronderzoek (CPT).

Op 11 oktober 2026 antwoordden de uitgifteservices voor GMW, GLD, GMN, GAR en CPT zonder authenticatie. De uitgifte van de overige registratieobjecten is niet getest op deze pagina; ga bij een ander thema na of de service bereikbaar is en wat de voorwaarden zijn.

Eigenschappen van de open BRO-toegangen die op 11 oktober 2026 zijn getest
EigenschapPDOK OGC API (grondwatermonitoring)BRO-uitgifteservice (GMW, GLD)
Basis-URLhttps://api.pdok.nl/tno/bro-grondwatermonitoring-in-samenhang-karakteristieken/ogc/v1https://publiek.broservices.nl/gm/gmw/v1/ en /gm/gld/v1/
BeheerderTNO, via PDOKBRO (landelijke voorziening)
InhoudKarakteristieken van putten, buizen, netten, grondwaterstand- en samenstellingsonderzoekenHet volledige registratieobject, ook meetreeksen
FormaatGeoJSON, HTMLXML (IMBRO), CSV voor reeksen, JSON voor zoekcriteria
CoördinatenCRS84 en andere, via crsRD (bij de levering) en ETRS89 (genormeerde locatie)
LicentieCC0 1.0 (landingspagina)CC0 1.0 bij de as-is-datasets GMW, GMN, GLD en GAR op data.overheid.nl
Sleutel nodigNeeNee

Voor kaarten van bodem en ondergrond kent PDOK ook WMS-lagen en downloads; die staan in het overzicht van open geodata en PDOK en op de services-pagina van PDOK. Hoogtegegevens zitten niet in de BRO maar in de AHN.

Welke collecties heeft de PDOK OGC API voor de BRO?

De PDOK-API voor grondwatermonitoring heeft zeven collecties. Ze beschrijven de karakteristieken (de belangrijkste kenmerken) van de objecten en verwijzen met een URL naar het volledige BRO-object.

Collecties in de BRO-API van PDOK (gelezen op 11 oktober 2026)
CollectieBetekenis
gm_gmwGrondwatermonitoringput
gm_gmw_monitoringtubeMonitoringbuis van een put
gm_gmnGrondwatermonitoringnet
gm_gmn_measuringpointMeetpunt in een net
gm_gmn_referenceVerwijzing van de grondwatermonitoring naar een net
gm_gldGrondwaterstandonderzoek
gm_garGrondwatersamenstellingsonderzoek

De API beschrijft zichzelf als gegevens uit de BRO over de meest karakteristieke kenmerken van grondwatermonitoringputten en de daarmee samenhangende kengegevens van de netten. Per put staan onder meer het BRO-id, de putcode, de bouwdatum, de ligging en een link naar de XML bij de BRO. Het opvragen van een kaartvenster gaat zoals bij alle OGC API's van PDOK:

curl -s -G "https://api.pdok.nl/tno/bro-grondwatermonitoring-in-samenhang-karakteristieken/ogc/v1/collections/gm_gmw/items" \
  -d f=json -d limit=1 \
  --data-urlencode "bbox=4.6,52.3,4.7,52.4"

Het antwoord op 11 oktober 2026 was een put met bro_id GMW000000012951, well_code GMW25C001513, well_construction_date 2015-01-28, number_of_monitoring_tubes 1 en ground_level_position -0,559 (meter ten opzichte van NAP). De eigenschap imbro_xml_url verwees naar de volledige registratie. Als queryables biedt de collectie alleen bro_id en gm_gmw_pk aan; filteren op bouwdatum of eigenaar doet u dus na het ophalen of met de BRO-service. Meer over het ophalen met OGC API Features staat op WFS en OGC API Features.

Hoe zoek ik grondwatermonitoringputten in een gebied met de BRO-service?

De uitgifteservice werkt in twee stappen. Eerst haalt u met een POST de karakteristieken op van alle objecten die aan uw criteria voldoen, dan vraagt u van de gekozen objecten het volledige document op. De OpenAPI-beschrijving van de service legt dit zelf zo uit:

De karakteristieken geven een samenvatting van een object zodat een verdere selectie gemaakt kan worden. Het past in een tweetrapsbenadering, waarbij de eerste stap bestaat uit het ophalen van de karakteristieken en de 2e stap uit het ophalen van de gewenste registratie objecten. Het resultaat van deze operatie is gemaximaliseerd op 2000.

Bron: BRO, OpenAPI-beschrijving Grondwater Monitoring Put (GMW), versie 2.216.1, gelezen op 11 oktober 2026. Het zoekgebied geeft u als omhullende (boundingBox) of cirkel, met breedtegraad (lat) en lengtegraad (lon) in graden.

curl -s -X POST "https://publiek.broservices.nl/gm/gmw/v1/characteristics/searches" \
  -H "Content-Type: application/json" \
  -d '{"area":{"boundingBox":{"lowerCorner":{"lat":52.31,"lon":4.60},"upperCorner":{"lat":52.32,"lon":4.62}}}}'

De service antwoordt met XML. Het antwoord bevatte numberOfDocuments met de waarde 12. Dezelfde zoekopdracht in Python, waarin de BRO-id's en de genormeerde locatie worden uitgelezen:

import json, urllib.request
import xml.etree.ElementTree as ET

URL = "https://publiek.broservices.nl/gm/gmw/v1/characteristics/searches"
criteria = {"area": {"boundingBox": {
    "lowerCorner": {"lat": 52.31, "lon": 4.60},
    "upperCorner": {"lat": 52.32, "lon": 4.62}}}}

req = urllib.request.Request(
    URL, data=json.dumps(criteria).encode(),
    headers={"Content-Type": "application/json"}, method="POST")
with urllib.request.urlopen(req) as r:
    root = ET.fromstring(r.read())

BROCOM = "{http://www.broservices.nl/xsd/brocommon/3.0}"
GML = "{http://www.opengis.net/gml/3.2}"
n = root.find(".//{http://www.broservices.nl/xsd/dsgmw/1.1}numberOfDocuments")
print("aantal putten:", n.text)
for doc in root.iter("{http://www.broservices.nl/xsd/dsgmw/1.1}GMW_C"):
    bro_id = doc.find(BROCOM + "broId").text
    lat, lon = doc.find(BROCOM + "standardizedLocation/" + GML + "pos").text.split()
    print(bro_id, lat, lon)

De uitvoer begon met aantal putten: 12 en daarna GMW000000012951 52.319342160 4.604761260. Let op de volgorde: in de genormeerde locatie (ETRS89) staat eerst de breedtegraad, dan de lengtegraad. Dat is de omgekeerde volgorde van GeoJSON. Een volledige put haalt u daarna op met GET /gm/gmw/v1/objects/{broId}.

Hoe haal ik een meetreeks voor grondwaterstanden op?

Voor een grondwaterstandonderzoek (GLD) is er een CSV-eindpunt dat een tijdreeks levert die u direct in een grafiek of spreadsheet kunt zetten. De eerste kolom is een unix-tijdstip in milliseconden, daarna volgen de waarden en opmerkingen per type: voorlopig, beoordeeld, controle en onbekend.

curl -s "https://publiek.broservices.nl/gm/gld/v1/seriesAsCsv/GLD000000000001" | head -4

De eerste regels bij de controle op 12 oktober 2026 (de dag ervoor stond in de tweede regel een beoordeelde waarde van 11,498; reeksen kunnen dus na publicatie nog wijzigen):

Tijdstip,Voorlopige Waarde [m],Voorlopige Opmerking,Beoordeelde Waarde [m],Beoordeelde Opmerking,Controle Waarde [m],Controle Opmerking,Onbekend Waarde [m],Onbekend Opmerking
1556728860000,11.500,,11.497,,,,,
1556728920000,11.500,,11.497,,,,,

Het bestand voor dit ene dossier telde 88.277 regels, met in het begin van de reeks een tijdstip per minuut (vanaf 2019). Een reeks kan dus groot zijn: stream het bestand en bewaar het lokaal. Het dossier bevat ook observationsSummary met een samenvatting per observatie. Voor een koppeling met de put gebruikt u de verwijzing uit de GLD naar de bijbehorende monitoringbuis.

Voorlopige en beoordeelde waarden staan naast elkaar in aparte kolommen, en voor hetzelfde tijdstip kunnen ze verschillen (11,500 tegen 11,497 meter in de eerste regel). Kies bewust welke kolom u gebruikt en toon in uw toepassing welk type waarde het is.

Welke licentie en voorwaarden gelden voor de BRO?

De PDOK-API voor grondwatermonitoring verwijst in de landingspagina naar de licentie CC0 (publiek domein), en op data.overheid.nl staan de as-is-datasets voor GMW, GMN, GLD en GAR van TNO eveneens onder CC0 1.0. Bronvermelding is dan niet verplicht, maar wel gebruikelijk. De BRO-uitgifteservices vroegen geen authenticatie en geen registratie bij de tests. Het BROloket schrijft daarover:

Dankzij de Wet Basisregistratie Ondergrond zijn alle publieke gegevens van de Nederlandse ondergrond toegankelijk via een loket, het BROloket.

Bron: BROloket, gelezen op 12 oktober 2026. Of elk gegeven in elk registratieobject publiek is, is op deze pagina niet voor alle objecten gecontroleerd. Controleer dat per registratieobject.

Een gepubliceerde limiet op het aantal verzoeken is op de gelezen pagina's niet gevonden. De service beperkt wel het aantal resultaten per zoekopdracht (2.000 bij de GMW-karakteristieken) en vraagt bij het ophalen van id's om een bronhouder. Een verzoek zonder bronhouder bij bro-ids gaf status 417 met de melding "bronhouder gegeven ontbreekt". Volg bij een grote afname de afspraken van de BRO Servicedesk (support@broservicedesk.nl), die in de OpenAPI-beschrijving als contactpunt staat.

Wat het gebruik van open gegevens voor een gemeente betekent, leest u op open data-licenties en open data publiceren als gemeente.

Valkuilen bij het gebruik van de BRO

  • Karakteristieken zijn geen object. De PDOK-API toont samenvattingen. Voor de volledige put, de filterdiepte of de meetwaarden hebt u de BRO-service nodig.
  • Coördinaatvolgorde verschilt. De BRO-XML geeft de genormeerde locatie als breedtegraad gevolgd door lengtegraad; GeoJSON van PDOK geeft lengtegraad eerst.
  • CORS. De BRO-service stuurde bij de test een lege Access-Control-Allow-Origin-header. Plan daarom een eigen server-side proxy in plaats van rechtstreeks gebruik in de browser. De PDOK-API werkt wel rechtstreeks vanuit de browser.
  • Zoekresultaten tot 2.000. Een groot gebied levert maximaal 2.000 karakteristieken. Deel het gebied op.
  • Uit registratie genomen objecten. De lijst van BRO-id's kent een filter registered. Zonder filter komen ook objecten terug die uit registratie zijn genomen.
  • Peildatum. De BRO is een registratie in beweging; latest_addition_time in de karakteristieken laat zien wanneer de laatste meting is toegevoegd. Het eerste GLD-dossier in de PDOK-collectie meldde 47 observaties en een laatste onderzoeksdatum van 1 oktober 2026.
  • Foutmeldingen. De service antwoordt met JSON-fouten zoals propertyPath en message. Log die.

Wanneer is de BRO niet de goede bron?

  • Bodemkaart of maaiveld. Hoogte van het maaiveld komt uit de AHN; grondgebruik komt uit de BGT. De BRO gaat over wat onder de grond zit en wordt gemeten.
  • Dekkend beeld. De BRO bevat alleen putten en onderzoeken die zijn ingevoerd. Een gebied zonder punten betekent niet dat er niets onder zit.
  • Juridisch bindende uitspraak over een bodemrisico. Gebruik de BRO als bron voor onderzoek en laat een deskundige de interpretatie doen.
  • Kaartweergave van miljoenen punten. Gebruik vector tiles of WMS in plaats van tienduizenden feature-requests.

Hoe u zulke lagen in een viewer toont, leest u bij GIS-viewer voor gemeenten en GIS- en kaartoplossingen. Voor dagelijkse synchronisatie van BRO-gegevens naar uw eigen platform past de dienst API-koppelingen. Voor het verwerken van XML- en CSV-reeksen in scripts, zie Python voor GIS. De adressen en gebouwen bij een put haalt u uit de BAG. Ook waterschappen zijn bronhouder in de BRO; wat dat voor hun software betekent, staat bij waterschappen. Regionale bodemlagen, zoals bodemkwaliteitskaarten, verschillen per bronhouder; hoe een omgevingsdienst met zulke lagen werkt, staat bij omgevingsdiensten.

Veelgestelde vragen

Is de BRO open data?

De publieke gegevens van de BRO zijn open toegankelijk. De PDOK-API voor grondwatermonitoring noemt de licentie CC0, en de uitgifteservices op publiek.broservices.nl antwoordden zonder authenticatie. Niet elk BRO-gegeven is publiek; controleer dat per registratieobject. Op data.overheid.nl staan de as-is-datasets voor GMW, GMN, GLD en GAR van TNO onder CC0 1.0, zonder verplichte bronvermelding.

Wat is het verschil tussen BROloket en de BRO-services?

BROloket is het loket voor mensen: een website van TNO waarop de publieke ondergrondgegevens worden getoond. De BRO-services zijn API's voor software: ze geven registratieobjecten als XML en reeksen als CSV. PDOK biedt daarnaast OGC API's met samenvattingen per thema.

Heb ik een API-sleutel nodig voor de BRO?

Nee, niet voor de geteste services. De PDOK-API en de BRO-uitgifte voor grondwatermonitoring (GMW, GLD) werkten op 11 en 12 oktober 2026 zonder sleutel of registratie. Voor de BRO-services geldt wel een maximum van 2.000 karakteristieken per zoekopdracht, en bij het opvragen van BRO-id's moet u een bronhouder meegeven.

Hoe krijg ik grondwaterstanden als tabel?

Gebruik het CSV-eindpunt van het grondwaterstandonderzoek: /gm/gld/v1/seriesAsCsv/{broId}. De eerste kolom is een tijdstip in unix-milliseconden, daarna volgen voorlopige, beoordeelde, controle- en onbekende waarden met opmerkingen. Eén dossier kan tienduizenden regels bevatten (88.277 bij GLD000000000001), dus sla het bestand lokaal op en kies bewust tussen voorlopige en beoordeelde waarden.

Kan ik de BRO rechtstreeks vanuit de browser aanroepen?

De PDOK-API wel, die stuurde bij de test een open CORS-header. De BRO-service stuurde een lege header mee, dus plaats daar een eigen server-side proxy voor. Zo kunt u ook cachen en de belasting op de landelijke voorziening beperken.

Bronnen

Meer over TechinFlow

Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.

023 230 21 42Neem contact op

Een vraag of opdracht?

Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.

Stuur een bericht