Basisregistratie Adressen en Gebouwen (BAG)
Alle adressen en gebouwen van Nederland met bouwjaar, oppervlakte en gebruiksdoel. De ruggengraat voor alles wat op adresniveau gekoppeld moet worden.

Panden naar bouwjaar (alleen wat er nu staat): 104.301 panden in 2025, 3% meer dan in 2005
Panden naar bouwjaar (alleen wat er nu staat), 2005 – 2025, in panden. Het hoogste punt was 2021 (184.232). Cijfers met * zijn voorlopig.
Verblijfsobjecten in de BAG naar gebruiksdoel: het meest wonen (8.699.374 verblijfsobjecten), dan overig en industrie
Verblijfsobjecten in de BAG naar gebruiksdoel, oktober 2026, in verblijfsobjecten. Totaal: 9.996.645; de grootste 11 van 11 categorieën staan in de grafiek. Wonen is 87% van het totaal. Een verblijfsobject kan meer dan één gebruiksdoel hebben (241.552 keer); dan telt het bij elk doel mee.
Wat je ermee kunt bouwen5
ToolKlimaatrisico-check voor een adresTyp een postcode en huisnummer en zie in één rapport hoe het pand ervoor staat bij hitte, wateroverlast, overstroming, droogte en funderingsproblemen, met de kaarten van de Klimaateffectatlas, het AHN, de BAG en echte grondwatermetingen uit de BRO.4 bronnenGevorderd
ToolSchoolkeuzehulp: basisscholen rond je adres, met leerlingen en schooladviezenTyp een postcode en huisnummer en zie alle basisscholen binnen een straal, op afstand gesorteerd, met hun leerlingenaantal door de jaren en welk deel van de kinderen een havo- of vwo-advies kreeg. Alleen open data van DUO en de BAG.2 bronnenOm te beginnen
DashboardWoningmarktdashboard voor je gemeenteEén pagina per gemeente met verkoopprijzen, WOZ-waarde, woningvoorraad, bouwjaren, woninggrootte en leefbaarheid, naast het landelijk gemiddelde. Alles uit open API's zonder sleutel.3 bronnenGevorderd
ToolZonnepanelen-check voor je eigen dakTyp een postcode en huisnummer en zie hoe groot je dakvlakken zijn, welke kant ze op kijken, hoeveel zon er valt en wat panelen ruwweg zouden opleveren, met open data van BAG, AHN, KNMI en RVO.4 bronnenGevorderdWat kun je ermee?2 ideeën
Hoe oud zijn de huizen in je straat?
Elk pand heeft een bouwjaar. Kleur een kaart naar bouwjaar en je ziet hoe de stad gegroeid is.
Adressen koppelen
Zet een adreslijst om naar coördinaten en buurtcode via de BAG. Dan kun je elke lijst naast CBS-cijfers leggen.
Zo verwerk je het3 stappen
Zoek een adres in de OGC API
Naast WFS en download heeft PDOK de BAG als OGC API Features (versie 2) met zes collecties: adres, pand, verblijfsobject, ligplaats, standplaats en woonplaats. Antwoord in GeoJSON, licentie Public Domain Mark 1.0, bijgewerkt op 15 oktober 2026. Zoek op postcode en huisnummer.
https://api.pdok.nl/kadaster/bag/ogc/v2/collections/adres/items?f=json&postcode=3511AB&huisnummer=1
Panden filteren op bouwjaar
Elk pand heeft bouwjaar, status, gebruiksdoel en links naar zijn verblijfsobjecten. Welke velden filterbaar zijn, staat per collectie onder /queryables (pand: bouwjaar, gebruiksdoel, status, aantal_verblijfsobjecten …), bijvoorbeeld https://api.pdok.nl/kadaster/bag/ogc/v2/collections/pand/queryables?f=json
https://api.pdok.nl/kadaster/bag/ogc/v2/collections/pand/items?f=json&bouwjaar=1650&limit=10
Doorbladeren met next
Standaard krijg je 10 objecten, maximaal 1.000 per verzoek (limit). Volg de link met rel 'next' voor de volgende pagina.
Interessante koppelingen
Vergelijkbare bronnen
OpenStreetMapOok winkels, voorzieningen en paden, maar niet officieel.
Waar je op moet letten
- Geen totaal in de OGC API
De OGC API geeft geen numberMatched: hoeveel panden of adressen aan je filter voldoen, weet je pas als je alle pagina's hebt opgehaald. Voor tellingen over heel Nederland is de download handiger.
- Adres zoeken is traag
Zoeken op postcode en huisnummer in de collectie adres duurde op 16 oktober 2026 steeds zo'n 7 seconden per vraag. Voor een lange adreslijst is de download sneller.
APIOGC WFS 2.0.0 · gelezen 16 okt 2026
Geen sleutel. Kosten: none; gebruiksvoorwaarden: https://creativecommons.org/publicdomain/zero/1.0/deed.nl. uit de beschrijving
application/gml+xml; version=3.2text/xml; subtype=gml/3.2.1text/xml; subtype=gml/3.1.1application/json; subtype=geojsonapplication/json
Basisadres
https://service.pdok.nl/lv/bag/wfs/v2_0
Endpoints 5
- GET
?request=GetCapabilitiesbeschrijving van de dienst - GET
?request=DescribeFeatureTypevelden van een laag (XSD) - GET
?request=GetFeaturede objecten zelf, met geometrie - GET
?request=ListStoredQueriesopgeslagen zoekvragen - GET
?request=DescribeStoredQueriesuitleg bij opgeslagen zoekvragen
De API's van deze bron 4 · uit de documentatie van de aanbieder uit de beschrijving
OGC API Features (BAG v2)
Dezelfde BAG als REST-API met GeoJSON, JSON-FG en vectortegels. Zes collecties: adres, pand, verblijfsobject, ligplaats, standplaats, woonplaats. Alleen hier staan álle adressen (ook nevenadressen), met provincie en bronhouder (gemeente) erbij.
https://api.pdok.nl/kadaster/bag/ogc/v2- GET
/collections/adres/items?postcode=3511AB&huisnummer=1Adres zoeken op postcode en huisnummer (filter per queryable als queryparameter) - GET
/collections/pand/items?filter=bouwjaar<1300&filter-lang=cql2-textCQL2-filter (tekst), ook ruimtelijk en met hoofdletterongevoelige vergelijking - GET
/collections/{collectie}/items?bbox=5.11,52.09,5.12,52.10Objecten in een rechthoek (CRS84, of bbox-crs) - GET
/collections/{collectie}/queryablesDe velden waarop je kunt filteren - GET
/tiles/WebMercatorQuad/{tileMatrix}/{tileRow}/{tileCol}?f=mvtVectortegels (ook NetherlandsRDNewQuad en EuropeanETRS89_LAEAQuad), stijlen onder /styles - GET
/api?f=jsonOpenAPI-beschrijving (414 kB)
Downloads (ATOM)
Heel Nederland in één bestand: BAG als GeoPackage (bag-light.gpkg, 7,8 GB, wekelijks bijgewerkt; 8 okt 2026) of het volledige BAG 2.0-extract als zip met XML (lvbag-extract-nl.zip, 3,6 GB, maandelijks; 1 okt 2026).
https://service.pdok.nl/kadaster/bag/atom/bag.xml- GET
/downloads/bag-light.gpkgGeoPackage met alle objecten in RD (EPSG:28992) - GET
/downloads/lvbag-extract-nl.zipVolledig BAG 2.0-extract (XML), ook historie en nevenadressen
Locatieserver (alleen beschreven)
Geocoder van PDOK: vrij zoeken (/free?q=…), suggesties (/suggest) en opzoeken (/lookup?id=…) op adres, postcode, straat, woonplaats en gemeente. robots.txt van api.pdok.nl verbiedt /bzk/locatieserver/* voor scripts; wij roepen hem niet aan.
https://api.pdok.nl/bzk/locatieserver/search/v3_1- GET
/free?q=…Vrij zoeken (Solr-syntaxis, fq-filters per type) - GET
documentatiehttps://github.com/PDOK/locatieserver/wiki/API-Locatieserver
BAG API Individuele bevragingen (Kadaster)
Alle BAG-gegevens per object, ook historie, rechtstreeks van het Kadaster. Vraagt een gratis API-sleutel (aanvragen bij het Kadaster); niet door ons getest.
https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2- GET
documentatiehttps://www.kadaster.nl/zakelijk/producten/adressen-en-gebouwen/bag-api-individuele-bevragingen
Lagen en projecties
- pand
bag:pandEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326 - Ligplaats
bag:ligplaatsEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326 - Standplaats
bag:standplaatsEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326 - Verblijfsobject
bag:verblijfsobjectEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326 - woonplaats
bag:woonplaatsEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326
Filteren uit de beschrijving
OGC Filter Encoding (FES 2.0)
Parameters 6
typeNames | welke laag: bag:pand, bag:ligplaats, bag:standplaats, bag:verblijfsobject, bag:woonplaats | uit de beschrijving |
outputFormat | bv. application/json voor GeoJSON | uit de beschrijving |
srsName | projectie, bv. EPSG:4326 voor webkaarten (standaard EPSG:28992, RD) | uit de beschrijving |
count / startIndex | pagineren | uit de beschrijving |
filter | FES-XML-filter op velden of geometrie | uit de beschrijving |
bbox | rechthoek in de gekozen projectie | platform |
Velden 16 · bag:verblijfsobject
| Naam | Type | Betekenis |
|---|---|---|
geom | geometrie | |
identificatie | string | |
rdf_seealso | string | |
oppervlakte | long | |
status | string | |
gebruiksdoel | string | |
openbare_ruimte | string | |
huisnummer | long | |
huisletter | string | |
toevoeging | string | |
postcode | string | |
woonplaats | string |
Toon alle 16
| Naam | Type | Betekenis |
|---|---|---|
bouwjaar | long | |
pandidentificatie | string | |
pandstatus | string | |
fuuid | string |
Limieten en valkuilen
- Maximaal 1.000 objecten per verzoek (CountDefault). uit de beschrijving
- Pagineren kan: count en startIndex (ImplementsResultPaging). uit de beschrijving
- Omvang (WFS, resultType=hits, 16 okt 2026): 11.442.545 panden, 9.994.710 verblijfsobjecten, 54.006 standplaatsen, 12.787 ligplaatsen, 2.503 woonplaatsen. Onze automatische telling stopt na 30 s en blijft daarom soms leeg. getest
- OGC API: maximaal 1.000 objecten per pagina (een hogere limit wordt stil teruggezet naar 1.000); de volgende pagina via de link rel=next met een cursor. Geen numberMatched: tellen kan alleen met de WFS (resultType=hits). getest
- Tellen zonder filter is traag: resultType=hits op bag:pand of bag:verblijfsobject duurde ~30 s (16 okt 2026). Met een filter op postcode 1–5 s. getest
- Een adres zoeken in de OGC API (collectie adres, postcode + huisnummer) duurde steeds ~7 s; dezelfde vraag aan de WFS (verblijfsobject) ~1,4 s. getest
- De WFS bevat per object alleen het hoofdadres; nevenadressen ontbreken (staat in de dienstbeschrijving). Voor álle adressen: de collectie adres in de OGC API of het BAG-extract. uit de beschrijving
- Veldnamen verschillen per ingang: de WFS heeft openbare_ruimte en woonplaats, de OGC API openbare_ruimte_naam en woonplaats_naam. De OGC API geeft ook ingetrokken objecten terug (status 'Verblijfsobject ingetrokken'): filter op status. getest
- Postcode is hoofdlettergevoelig: postcode=3511ab geeft 0 resultaten zonder foutmelding. Een onbekende queryparameter geeft wel een 400 met de naam erbij. getest
- gebruiksdoel is een kommalijst (een verblijfsobject kan woon- én winkelfunctie hebben): tel met PropertyIsLike, niet met PropertyIsEqualTo. ervaring
- Panden met status 'Bouwvergunning verleend' of 'Bouw gestart' hebben al een bouwjaar. Laat ze weg als je bouwjaren telt. De WFS heeft alleen de huidige stand: gesloopte panden staan er niet in. ervaring
- De Locatieserver (geocoder) is sneller voor losse adressen, maar robots.txt van api.pdok.nl sluit /bzk/locatieserver/* uit. Voor scripts: postcode + huisnummer in de WFS of OGC API. getest
Probeer het HTTP 200 · 1.580 ms · 16 okt
https://service.pdok.nl/lv/bag/wfs/v2_0?service=WFS&version=2.0.0&request=GetFeature&typeNames=bag:verblijfsobject&outputFormat=application/json&srsName=EPSG:4326&count=2&filter=<Filter><PropertyIsEqualTo><ValueReference>postcode</ValueReference><Literal>3511AB</Literal></PropertyIsEqualTo></Filter>
{
"type": "FeatureCollection",
"name": "verblijfsobject",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
"features": [
{
"type": "Feature",
"id": "verblijfsobject.125256fe-d7a9-4cf0-bc38-f795bf069cb6",
"properties": {
"identificatie": "0344010000000963",
"rdf_seealso": "http://bag.basisregistraties.overheid.nl/bag/id/verblijfsobject/0344010000000963",
"oppervlakte": 58,
"status": "Verblijfsobject in gebruik",
"gebruiksdoel": "woonfunctie",
"openbare_ruimte": "Oudegracht",
"huisnummer": 5,
"huisletter": "H",
"toevoeging": "",
"postcode": "3511AB",
"woonplaats": "Utrecht",
"bouwjaar": 1450,
"pandidentificatie": "0344100000042787",
"pandstatus": "Pand in gebruik"
},
"bbox": [
5.115956145243934,
52.09599575284558
],
"geometry": {
"type": "Point",
"coordinates": "…"
}
},
{
"type": "Feature",Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.
Gelezen uit GetCapabilities: lagen, projecties, formaten, filters, limiet · DescribeFeatureType: velden van bag:verblijfsobject. 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.
Meer van Kadaster in onze index
215 datasets in data.overheid.nl, Nationaal Georegister, NDE Datasetregister. Dit zijn de laatst gewijzigde.
- Samengevoegde kadastrale percelen in eigendom van de provincie Overijssel (BRK)2026-10-30
- Luchtvaartobstakels terugmeldingen2026-10-19
- Gebouwen - Buildings (INSPIRE geharmoniseerd)2026-10-16
- Adressen - Addresses (INSPIRE geharmoniseerd)2026-10-16
- BRT TOP500raster2026-10-10
- BRT TOP1000NL2026-10-10
Meer in dit thema
Bekijk hoe deze pagina is opgebouwd
bron: pdok-bag blokken: [] secties: - ideeen - verwerken - koppelingen - vergelijkbaar - beperkingen cache: tag: bron:pdok-bag ververs: na statuscheck, als de bron nieuwer is statuscheck: methode: WFS GetCapabilities bereikbaar verwacht: dagelijks
Bron: content/bronnen/pdok-bag.yaml · Markdown





