| GET |
/bzk/locatieserver/search/v3_1/free |
Geocode a Dutch address, street, postcode, place or municipality to coordinates — the PDOK Locatieserver Free API. Zoek vrij op adres, straat, postcode, woonplaats, gemeente of provincie en krijg direct resultaten. Each hit carries the full address breakdown (straatnaam, huisnummer, huisletter, postcode, woonplaatsnaam, gemeentenaam, provincienaam), the CBS neighbourhood and district it falls in (buurtnaam, buurtcode, wijknaam, wijkcode), the linked cadastral parcels (gekoppeld_perceel) and both coordinate pairs: centroide_ll in WGS84 longitude/latitude and centroide_rd in Rijksdriehoek (EPSG:28992). The call to make to turn a Dutch address into a postcode, a BAG identifier, a municipality code or a point. |
$0.01 default |
View details |
| GET |
/bzk/locatieserver/search/v3_1/lookup |
Resolve one PDOK Locatieserver object id to its full record and geometry — the Lookup API. Haal het volledige object op bij een id uit Suggest of Free. Returns the same address breakdown as Free search (straatnaam, huisnummer, postcode, woonplaatsnaam, gemeentenaam, provincienaam, buurt- and wijkcodes, gekoppeld_perceel) plus centroide_ll (WGS84) and centroide_rd (Rijksdriehoek), and for area types a simplified geometry of the object rather than only a point. The second half of the suggest-then-lookup pattern. |
$0.01 default |
View details |
| GET |
/bzk/locatieserver/search/v3_1/reverse |
Reverse geocode a point in the Netherlands to the nearest address, road, postcode, place or municipality — the PDOK Locatieserver Reverse API. Geef een coordinaat en krijg het dichtstbijzijnde adres terug, met de afstand in meters. Takes either WGS84 (lat, lon) or Rijksdriehoek (X, Y). Each hit carries the distance from the point (afstand), so a caller can reject a match that is too far away, and `distance` caps the search radius up front. Use `type` to ask for something other than an address — weg, postcode, woonplaats, gemeente or provincie. |
$0.01 default |
View details |
| GET |
/bzk/locatieserver/search/v3_1/suggest |
Autocomplete a partly typed Dutch location — the PDOK Locatieserver Suggest API. Geef een deel van een adres, straat, postcode of plaatsnaam en krijg suggesties terug. Returns only a display name (weergavenaam), a type and an object id per suggestion, deliberately not the full record: take the id of the chosen suggestion to the Lookup service to get the address breakdown and geometry. Use this for a type-ahead field; use Free search when the whole address is already known and one call should answer it. |
$0.01 default |
View details |
| GET |
/cbs/postcode4/ogc/v1/collections/postcode4/items |
CBS statistics for a four-digit Dutch postcode area (postcode-4, e.g. 1015) as a GeoJSON area. Haal CBS statistieken op per postcode 4: inwoners, leeftijdsopbouw, mannen en vrouwen, huishoudens, woningvoorraad, huurwoningen van corporaties, uitkeringen en geboorten. Coarser than postcode-6 and therefore far less often suppressed — the practical choice when the postcode-6 figures for an address come back as -99997. IMPORTANT: values CBS suppresses for disclosure control come back as the sentinel -99997, not null; filter them out before summing or averaging. |
$0.02 default |
View details |
| GET |
/cbs/postcode6/ogc/v1/collections/postcode6/items |
CBS statistics for one full Dutch postcode (postcode-6, e.g. 1015CW) as a GeoJSON area — the finest official geography Statistics Netherlands publishes. Haal CBS statistieken op per postcode 6: aantal inwoners, leeftijdsopbouw, huishoudens, woningen, koop- en huurwoningen, bouwjaarklassen en gemiddelde woningwaarde (WOZ). The smallest-area demographic and housing profile available for a Dutch address, which is what makes it the usual companion to a geocode. IMPORTANT: values CBS suppresses for disclosure control come back as the sentinel -99997, not null, and a postcode with only a handful of addresses has most fields suppressed — filter -99997 out before summing or averaging anything. |
$0.02 default |
View details |
| GET |
/cbs/wijken-en-buurten-2025/ogc/v1/collections/buurten/items |
CBS neighbourhood statistics and boundaries for the Netherlands, 2025 edition — Wijken en Buurten, buurt level — as GeoJSON areas. Haal buurtcijfers op: inwoners, huishoudens, gemiddelde huishoudgrootte, bevolkingsdichtheid, oppervlakte land en water, omgevingsadressendichtheid en de meest voorkomende postcode. Look a neighbourhood up by `buurtcode` (BU-code) or `buurtnaam`, list every neighbourhood in a municipality with `gemeentecode` or `gemeentenaam`, or find the one covering a point with `bbox`. Wijk (district) and gemeente (municipality) statistics for the same year are separate collections of the same service. IMPORTANT: values CBS suppresses for disclosure control come back as the sentinel -99997, not null. |
$0.02 default |
View details |
| GET |
/kadaster/bag/ogc/v2/collections/adres/items |
Official Dutch address records from the BAG (Basisregistratie Adressen en Gebouwen) as GeoJSON points. Haal adressen op uit de BAG: straatnaam (openbare ruimte), huisnummer, huisletter, huisnummertoevoeging, postcode, woonplaats, provincie, plus the BAG identifiers that link an address to the object it belongs to — adresseerbaar_object_identificatie and adresseerbaar_object_type (Verblijfsobject, Ligplaats or Standplaats) — and the municipality that maintains it (bronhouder). Query an area with `bbox`, or fetch one record by its BAG nummeraanduiding id with `identificatie`. This is the register itself; use the Locatieserver when the input is free text rather than a code. |
$0.02 default |
View details |
| GET |
/kadaster/bag/ogc/v2/collections/pand/items |
Dutch building footprints from the BAG (panden) as GeoJSON polygons, with the construction year. Haal panden op uit de BAG met bouwjaar, status, gebruiksdoel en het aantal verblijfsobjecten in het pand. The call that answers how old a building is (bouwjaar), whether it is in use (status: Pand in gebruik, Bouwvergunning verleend, Pand gesloopt), what it is used for (gebruiksdoel: woonfunctie, kantoorfunctie, winkelfunctie and the rest of the BAG list) and how many dwellings or units it contains (aantal_verblijfsobjecten), together with links to those verblijfsobjecten. Query an area with `bbox` or one building by its 16-digit BAG pand id with `identificatie`. |
$0.02 default |
View details |
| GET |
/kadaster/bag/ogc/v2/collections/verblijfsobject/items |
Dutch dwellings and usable units from the BAG (verblijfsobjecten) as GeoJSON points, with floor area. Haal verblijfsobjecten op met oppervlakte in m2, gebruiksdoel, hoofdadres en het pand waar ze in liggen. The call that answers how large a home or unit is (oppervlakte, in square metres), what it is used for (gebruiksdoel: woonfunctie, kantoorfunctie, winkelfunctie, industriefunctie and the rest), what its main address is (hoofdadres_identificatie plus the street, number and postcode) and which building it sits in (pand.href). Query an area with `bbox` or one object by its 16-digit BAG verblijfsobject id with `identificatie`. |
$0.02 default |
View details |
| GET |
/kadaster/brk-bestuurlijke-gebieden/ogc/v1/collections/gemeentegebied/items |
Official boundaries of Dutch municipalities — the Bestuurlijke Gebieden gemeentegebied — as GeoJSON areas. Haal de gemeentegrens op bij een gemeentenaam, met gemeentecode en de provincie waar de gemeente in ligt. Returns the authoritative municipal boundary maintained by the Kadaster, the four-digit CBS municipality code (as 0263 with identifier GM0263), the name, and the province it belongs to (ligt_in_provincie_naam, ligt_in_provincie_code). Look one up by `naam`, filter a province with `ligt_in_provincie_naam`, or find which municipality covers a point with `bbox`. The boundary to clip against when a question is scoped to one Dutch municipality. |
$0.01 default |
View details |
| GET |
/kadaster/brk-bestuurlijke-gebieden/ogc/v1/collections/provinciegebied/items |
Official boundaries of the twelve Dutch provinces — the Bestuurlijke Gebieden provinciegebied — as GeoJSON areas. Haal de provinciegrens op bij een provincienaam, met provinciecode. Returns the authoritative provincial boundary maintained by the Kadaster with its identifier and name. Look one up by `naam`, or find which province covers a point with `bbox`. The boundary to clip against when a question is scoped to one Dutch province rather than one municipality. |
$0.01 default |
View details |
| GET |
/kadaster/brk-kadastrale-kaart/ogc/v1/collections/perceel/items |
Dutch cadastral parcels from the BRK Kadastrale Kaart as GeoJSON polygons, with their official designation and surface area. Haal kadastrale percelen op met kadastrale gemeente, sectie, perceelnummer en kadastrale grootte in m2. The call that answers where a parcel lies and how big it is: kadastrale_gemeente_waarde plus sectie plus perceelnummer is the kadastrale aanduiding a Dutch conveyancer, surveyor or municipality uses to name a plot (as in ASD09-M-6676), and kadastrale_grootte_waarde is its registered area in square metres. Query an area with `bbox`, or one parcel with `kadastrale_gemeente_code` + `sectie` + `perceelnummer`. Boundaries, buildings on the map and street-name labels are separate collections of the same service. Contains no ownership or personal data — the BRK public map carries the geometry of a parcel, never who owns it. |
$0.02 default |
View details |
| GET |
/kadaster/brk-publiekrechtelijke-beperkingen-wkpb/ogc/v1/collections/pb_multipolygon/items |
Public-law restrictions on Dutch land and buildings — the WKPB register (Wet kenbaarheid publiekrechtelijke beperkingen) — as GeoJSON areas. Haal publiekrechtelijke beperkingen op: monumentenstatus, aanschrijving, onteigening, bodemverontreiniging, voorkeursrecht. Each feature says which authority imposed a restriction on an area, under which statute (grondslag_omschrijving, e.g. "Gemeentewet: Aanwijzing gemeentelijk monument"), on which date it took effect (datum_in_werking), when it ended if it has (datum_beeindiging), the deed it is based on (gebaseerd_op_stuk) and the body that filed it (statutaire_naam_rechtspersoon). The due-diligence question before buying, developing or lending against a Dutch property. Query an area with `bbox`. Restrictions recorded as lines rather than areas live in the pb_multilinestring collection of the same service. Open data under CC BY 4.0. |
$0.02 default |
View details |
| GET |
/kadaster/brt-top10nl/ogc/v1/collections/gebouw_vlak/items |
Building polygons from TOP10NL, the Dutch national topographic map at 1:10.000 (Basisregistratie Topografie), as GeoJSON areas. Haal gebouwvlakken op uit de BRT met type gebouw, hoogteklasse, gebruiksdoel, naam en status. Generalised rather than surveyed: where the BGT gives the exact outline of every structure, TOP10NL gives the map-scale generalisation with its own classification — typegebouw (kerk, kas, fabriek, overig), hoogteklasse (laagbouw, hoogbouw), gebruiksdoel, a name for named buildings and the lifecycle status. The right layer for national-scale mapping and cartography; use BGT or BAG when the question is about one specific building. Query an area with `bbox` or one object with `lokaal_id`. TOP10NL has 32 collections in this same service — roads, water, terrain, relief, railways — on the same path pattern. |
$0.02 default |
View details |
| GET |
/lv/bgt/ogc/v1/collections/pand/items |
Building outlines from the BGT (Basisregistratie Grootschalige Topografie), the Dutch large-scale topographic base map, as GeoJSON areas. Haal panden op uit de BGT met bronhouder, status, relatieve hoogteligging en de koppeling naar het BAG-pand. The BGT is surveyed at 1:500–1:5000 — far more precise than the BAG footprint — and each feature carries the authority that maintains it (bronhouder), its lifecycle status (bestaand, plan, historisch), its height level relative to ground (relatieve_hoogteligging, which is how tunnels and viaducts are told apart from what sits on them), whether it is under investigation (in_onderzoek) and the BAG pand it corresponds to (bag_pnd), which is the join key back to bouwjaar and gebruiksdoel. Query an area with `bbox` or one object with `lokaal_id`. The BGT has 48 collections in this same service — roads, water, terrain, street furniture, vegetation — reachable on the same path pattern. |
$0.02 default |
View details |
| GET |
/prorail/spoorwegen/ogc/v1/collections/station/items |
Dutch railway stations from the ProRail Spoorwegen dataset as GeoJSON points. Haal treinstations op met naam, afkorting, beheerder en positie op het spoor. Each station carries its name and official abbreviation (afkorting, as Ut for Utrecht Centraal), latitude and longitude, the geocode and kilometre position on the line it sits on (geocode, geocode_naam, km_geocode, kmlint), the infrastructure manager (beheerder) and its PUIC identifier. Query an area with `bbox` to find the nearest stations to a location — the accessibility half of a site or property assessment. Track axes, switches, level crossings and kilometre markers are separate collections of the same service. |
$0.01 default |
View details |
| GET |
/rvo/gewaspercelen/ogc/v1/collections/brpgewas/items |
Dutch agricultural crop parcels from the BRP (Basisregistratie Gewaspercelen), as declared to RVO, as GeoJSON polygons. Haal gewaspercelen op: welk gewas staat er op dit perceel, in welk jaar, en is de opgave definitief? Each parcel gives the crop grown on it (gewas, e.g. Grasland blijvend, Aardappelen, Snijmais, or a landscape element such as Sloot), its numeric crop code (gewascode), the declaration year (jaar) and whether the year is final or provisional (status: Definitief or Voorlopig). The parcel geometry is the farmer's own declared boundary. Query an area with `bbox` — this collection has no attribute filters, so a spatial query or paging with `cursor` is the way in. What grows where, for land valuation, nitrogen and subsidy work. |
$0.02 default |
View details |
| GET |
/rvo/indicatieve-aandachtsgebieden-funderingsproblematiek/ogc/v1/collections/indgebfunderingsproblematiek/items |
Indicative foundation-risk areas for Dutch buildings, per postcode-6 — the RVO indicatieve aandachtsgebieden funderingsproblematiek — as GeoJSON areas. Is er kans op funderingsproblemen op dit adres? Krijg de risicoklasse per postcodegebied, het aandeel panden gebouwd voor 1970 en de bodemgesteldheid. Each area gives a risk class (legenda, e.g. "Kwetsbaar gebied - 40-60 %"), how many BAG buildings the postcode contains (n_bag), how many predate 1970 (nvoor1970, percvoor1970 — older buildings often stand on timber or shallow foundations), the dominant physical-geographical soil region (fgr, e.g. Rivierengebied, and perc_fgr for how much of the postcode it covers) and a ready-made explanatory paragraph (popuptext). Look one up by `pc6`, or take a whole `gemeente`, `woonplaats` or `provincie`. INDICATIVE, at postcode level: it is a screening signal for a survey, not a verdict on one building. |
$0.02 default |
View details |
| GET |
/rvo/natura2000/ogc/v1/collections/natura2000/items |
Dutch Natura 2000 protected nature areas as GeoJSON areas — the national RVO dataset. Ligt deze locatie in of naast een Natura 2000-gebied? Krijg de naam, het sitecode en de beschermingsstatus terug. Each area carries its name (naam_n2k, e.g. Coepelduynen), its site code under the Habitats or Birds Directive (sitecode_h, sitecode_v), which directive protects it (beschermin: HR for Habitatrichtlijn, VR for Vogelrichtlijn), the designation decision and its Staatscourant reference, and the area in square metres. The screening call before construction, nitrogen (stikstof) assessment or permitting: query a `bbox` around the site and read whether anything comes back. Look one up by name with `naam_n2k`. |
$0.01 default |
View details |
| GET |
/rws/nationaal-wegenbestand-wegen/ogc/v1/collections/wegvakken/items |
Dutch road segments from the NWB (Nationaal Wegenbestand), Rijkswaterstaat's national road register, as GeoJSON lines. Haal wegvakken op met straatnaam, wegnummer, wegbeheerder, rijrichting en de gemeente waar het wegvak in ligt. Each wegvak carries the street name (stt_naam), the road number where it has one (wegnummer, as A2 or N225), who maintains it (wegbehsrt, wegbehnaam: Rijk, provincie, gemeente or waterschap), the direction of travel (rijrichtng, admrichtng), the house-number ranges on either side, the road class (frc, fow) and the junction ids at each end (jte_id_beg, jte_id_end) that make the network routable. Query an area with `bbox`, a municipality with `gme_naam`, a street with `stt_naam` or a numbered road with `wegnummer`. Hectometre markers are the hectopunten collection of the same service. |
$0.02 default |
View details |