← APIs / PDOK — Dutch Geospatial & Government Data
Verified

PDOK — Dutch Geospatial & Government Data

Apiosk Basicsby Apiosk Basics · General

Official Dutch government geodata from PDOK (Publieke Dienstverlening Op de Kaart), the national open-data platform of the Kadaster: geocode a Dutch address to coordinates and reverse, look up buildings and addresses in the BAG (Basisregistratie Adressen en Gebouwen), cadastral parcels (kadastrale percelen) and public-law restrictions (publiekrechtelijke beperkingen, WKPB) in the BRK, CBS neighbourhood and postcode statistics (buurt, wijk, postcode 4 and 6), municipality and province boundaries (gemeentegrenzen, provinciegrenzen), Natura 2000 areas, foundation-risk areas (funderingsproblematiek), roads (NWB), railway stations, agricultural crop parcels (BRP gewaspercelen) and large-scale topography (BGT, TOP10NL).

dataapi
Price per request
$0.01
About

The Netherlands' national base registries as one metered source. PDOK publishes the Dutch government's authoritative geodata as open OGC API Features services: no account, no API key and no upstream fee, which is why every service here costs EUR 0.01 or 0.02 and nothing more. Twenty-one curated services in eight groups. Address & Buildings: the Locatieserver geocoder (free search, autocomplete suggest, id lookup, reverse) plus BAG addresses, buildings (panden, with bouwjaar) and residential objects (verblijfsobjecten, with oppervlakte and gebruiksdoel). Property & Cadastre: cadastral parcels with section, parcel number and surface area, public-law restrictions on a parcel, and municipality and province boundaries. Demographics: CBS statistics per postcode-6, postcode-4 and neighbourhood. Environment: indicative foundation-risk areas per postcode-6 and Natura 2000 protected areas. Infrastructure: NWB road segments and railway stations. Agriculture: BRP crop parcels. Topography: BGT buildings and TOP10NL building polygons. Every OGC service takes the same spatial arguments — `bbox` to query an area, `limit`, `crs` to pick WGS84 or Rijksdriehoek (EPSG:28992), `cursor` to page — and returns GeoJSON. Two things to know before parsing: CBS suppresses small-cell values with the sentinel -99997 rather than null, so filter it out before averaging, and geometry defaults to WGS84 longitude/latitude even though the source data is Rijksdriehoek. Open data, reused under CC BY 4.0 with attribution to Kadaster / PDOK.

Base URL
https://gateway.apiosk.com/pdok
Technical Specs
Auth Methodnone
Response FormatJSON
Endpoints21
Endpoints
MethodPathDescriptionCost
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
Endpoint documentation
GET/bzk/locatieserver/search/v3_1/free
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "fl": {
    "description": "Fields to return. Defaults to the full set including centroide_ll and centroide_rd. Narrow it to cut response size.",
    "required": false,
    "type": "string"
  },
  "fq": {
    "description": "Filter query. Defaults to type:(gemeente OR woonplaats OR weg OR postcode OR adres). Use fq=type:adres to return addresses only, or fq=bron:BAG to restrict to the BAG.",
    "required": false,
    "type": "string"
  },
  "lat": {
    "description": "WGS84 latitude to sort results by distance from.",
    "required": false,
    "type": "number"
  },
  "lon": {
    "description": "WGS84 longitude to sort results by distance from.",
    "required": false,
    "type": "number"
  },
  "q": {
    "description": "Search terms — a full or partial Dutch address, street, postcode, place, municipality or province. Solr query syntax is accepted, so terms can be combined with AND and quoted as phrases.",
    "required": true,
    "type": "string"
  },
  "rows": {
    "description": "Maximum number of results. Default 10, maximum 100.",
    "required": false,
    "type": "integer"
  },
  "sort": {
    "description": "Sort order. Default score desc,sortering asc,weergavenaam asc.",
    "required": false,
    "type": "string"
  },
  "start": {
    "description": "Zero-based index of the first result. Default 0.",
    "required": false,
    "type": "integer"
  },
  "wt": {
    "description": "Output format. Default json.",
    "enum": [
      "json",
      "xml"
    ],
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "highlighting": {
      "type": "object"
    },
    "response": {
      "properties": {
        "docs": {
          "description": "Matching locations.",
          "items": {
            "properties": {
              "adresseerbaarobject_id": {
                "description": "BAG verblijfsobject / ligplaats / standplaats identifier.",
                "type": "string"
              },
              "bron": {
                "description": "Source register, e.g. BAG or NWB.",
                "type": "string"
              },
              "buurtcode": {
                "type": "string"
              },
              "buurtnaam": {
                "type": "string"
              },
              "centroide_ll": {
                "description": "WKT point in WGS84 longitude/latitude, e.g. POINT(4.88 52.37).",
                "type": "string"
              },
              "centroide_rd": {
                "description": "WKT point in Rijksdriehoek (EPSG:28992).",
                "type": "string"
              },
              "gekoppeld_perceel": {
                "description": "Cadastral parcel designations linked to this address.",
                "type": "array"
              },
              "gemeentecode": {
                "type": "string"
              },
              "gemeentenaam": {
                "type": "string"
              },
              "huis_nlt": {
                "description": "House number with letter and addition combined.",
                "type": "string"
              },
              "huisletter": {
                "type": "string"
              },
              "huisnummer": {
                "type": "integer"
              },
              "id": {
                "description": "Locatieserver object id, the input to the Lookup service.",
                "type": "string"
              },
              "nummeraanduiding_id": {
                "description": "BAG nummeraanduiding identifier.",
                "type": "string"
              },
              "postcode": {
                "description": "Dutch postal code, six characters, e.g. 1015CW.",
                "type": "string"
              },
              "provincienaam": {
                "type": "string"
              },
              "score": {
                "type": "number"
              },
              "straatnaam": {
                "type": "string"
              },
              "type": {
                "description": "adres, weg, postcode, woonplaats, gemeente or provincie.",
                "type": "string"
              },
              "weergavenaam": {
                "description": "Display name, e.g. Keizersgracht 126, 1015CW Amsterdam.",
                "type": "string"
              },
              "wijkcode": {
                "type": "string"
              },
              "wijknaam": {
                "type": "string"
              },
              "woonplaatsnaam": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "maxScore": {
          "type": "number"
        },
        "numFound": {
          "description": "Total matching records, which can be far larger than rows.",
          "type": "integer"
        },
        "start": {
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
Example response
{
  "response": {
    "docs": [
      {
        "bron": "BAG",
        "buurtcode": "BU0363AC02",
        "buurtnaam": "Leliegracht e.o.",
        "gekoppeld_perceel": [
          "ASD09-M-6676"
        ],
        "gemeentecode": "0363",
        "gemeentenaam": "Amsterdam",
        "huis_nlt": "126",
        "id": "adr-bdaa6469c82c76ccefe4455330d239e1",
        "postcode": "1015CW",
        "straatnaam": "Keizersgracht",
        "type": "adres",
        "weergavenaam": "Keizersgracht 126, 1015CW Amsterdam",
        "wijkcode": "WK0363AC",
        "woonplaatsnaam": "Amsterdam"
      }
    ],
    "numFound": 1,
    "start": 0
  }
}
GET/bzk/locatieserver/search/v3_1/lookup
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "fl": {
    "description": "Fields to return. Defaults to the full set including centroide_ll and centroide_rd.",
    "required": false,
    "type": "string"
  },
  "fq": {
    "description": "Filter query, e.g. fq=bron:BAG.",
    "required": false,
    "type": "string"
  },
  "id": {
    "description": "Locatieserver object id, as returned by Suggest or Free search, e.g. adr-bdaa6469c82c76ccefe4455330d239e1.",
    "required": true,
    "type": "string"
  },
  "wt": {
    "description": "Output format. Default json.",
    "enum": [
      "json",
      "xml"
    ],
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "response": {
      "properties": {
        "docs": {
          "items": {
            "properties": {
              "adresseerbaarobject_id": {
                "type": "string"
              },
              "bron": {
                "type": "string"
              },
              "centroide_ll": {
                "description": "WKT point, WGS84.",
                "type": "string"
              },
              "centroide_rd": {
                "description": "WKT point, Rijksdriehoek EPSG:28992.",
                "type": "string"
              },
              "gekoppeld_perceel": {
                "type": "array"
              },
              "gemeentenaam": {
                "type": "string"
              },
              "geometrie_ll": {
                "description": "Simplified WKT geometry in WGS84 for area objects.",
                "type": "string"
              },
              "geometrie_rd": {
                "description": "Simplified WKT geometry in Rijksdriehoek for area objects.",
                "type": "string"
              },
              "huis_nlt": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "nummeraanduiding_id": {
                "type": "string"
              },
              "postcode": {
                "type": "string"
              },
              "provincienaam": {
                "type": "string"
              },
              "straatnaam": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "weergavenaam": {
                "type": "string"
              },
              "woonplaatsnaam": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "numFound": {
          "description": "1 when the id exists, 0 when it does not.",
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
Example response
{
  "response": {
    "docs": [
      {
        "centroide_ll": "POINT(4.88558 52.37516)",
        "centroide_rd": "POINT(120950.0 487450.0)",
        "gemeentenaam": "Amsterdam",
        "id": "adr-bdaa6469c82c76ccefe4455330d239e1",
        "postcode": "1015CW",
        "type": "adres",
        "weergavenaam": "Keizersgracht 126, 1015CW Amsterdam"
      }
    ],
    "numFound": 1
  }
}
GET/bzk/locatieserver/search/v3_1/reverse
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "X": {
    "description": "Rijksdriehoek X coordinate (EPSG:28992). Use with Y instead of lat/lon.",
    "required": false,
    "type": "number"
  },
  "Y": {
    "description": "Rijksdriehoek Y coordinate (EPSG:28992). Use with X.",
    "required": false,
    "type": "number"
  },
  "distance": {
    "description": "Maximum search radius in metres. Nothing further away is returned.",
    "required": false,
    "type": "integer"
  },
  "fl": {
    "description": "Fields to return. Default id type weergavenaam score afstand.",
    "required": false,
    "type": "string"
  },
  "fq": {
    "description": "Filter query, applied after the nearest results are found — it can therefore empty the result set.",
    "required": false,
    "type": "string"
  },
  "lat": {
    "description": "WGS84 latitude of the point. Use with lon. Either lat/lon or X/Y is required.",
    "required": false,
    "type": "number"
  },
  "lon": {
    "description": "WGS84 longitude of the point. Use with lat.",
    "required": false,
    "type": "number"
  },
  "rows": {
    "description": "Maximum number of results. Default 10, maximum 100.",
    "required": false,
    "type": "integer"
  },
  "start": {
    "description": "Zero-based index of the first result. Default 0.",
    "required": false,
    "type": "integer"
  },
  "type": {
    "description": "Result type to return. Default adres. Repeat the parameter for more than one type.",
    "enum": [
      "adres",
      "weg",
      "postcode",
      "woonplaats",
      "gemeente",
      "provincie"
    ],
    "required": false,
    "type": "string"
  },
  "wt": {
    "description": "Output format. Default json.",
    "enum": [
      "json",
      "xml"
    ],
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "response": {
      "properties": {
        "docs": {
          "description": "Nearest matches, closest first.",
          "items": {
            "properties": {
              "afstand": {
                "description": "Distance from the requested point in metres.",
                "type": "number"
              },
              "id": {
                "type": "string"
              },
              "score": {
                "type": "number"
              },
              "type": {
                "type": "string"
              },
              "weergavenaam": {
                "description": "Display name of the nearest object, e.g. Keizersgracht 126, 1015CW Amsterdam.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "numFound": {
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
Example response
{
  "response": {
    "docs": [
      {
        "afstand": 4.7,
        "id": "adr-bdaa6469c82c76ccefe4455330d239e1",
        "type": "adres",
        "weergavenaam": "Keizersgracht 126, 1015CW Amsterdam"
      }
    ],
    "numFound": 10
  }
}
GET/bzk/locatieserver/search/v3_1/suggest
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "fl": {
    "description": "Fields to return. Default id weergavenaam type score adrestype.",
    "required": false,
    "type": "string"
  },
  "fq": {
    "description": "Filter query. Defaults to type:(gemeente OR woonplaats OR weg OR postcode OR adres).",
    "required": false,
    "type": "string"
  },
  "lat": {
    "description": "WGS84 latitude to sort suggestions by distance from.",
    "required": false,
    "type": "number"
  },
  "lon": {
    "description": "WGS84 longitude to sort suggestions by distance from.",
    "required": false,
    "type": "number"
  },
  "q": {
    "description": "Partial search term. Solr query syntax is accepted.",
    "required": true,
    "type": "string"
  },
  "rows": {
    "description": "Maximum number of suggestions. Default 10, maximum 100.",
    "required": false,
    "type": "integer"
  },
  "sort": {
    "description": "Sort order.",
    "required": false,
    "type": "string"
  },
  "start": {
    "description": "Zero-based index of the first suggestion. Default 0.",
    "required": false,
    "type": "integer"
  },
  "wt": {
    "description": "Output format. Default json.",
    "enum": [
      "json",
      "xml"
    ],
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "highlighting": {
      "description": "Per suggestion id, the matched fragment.",
      "type": "object"
    },
    "response": {
      "properties": {
        "docs": {
          "items": {
            "properties": {
              "adrestype": {
                "type": "string"
              },
              "id": {
                "description": "Object id — pass to /bzk/locatieserver/search/v3_1/lookup.",
                "type": "string"
              },
              "score": {
                "type": "number"
              },
              "type": {
                "type": "string"
              },
              "weergavenaam": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "numFound": {
          "type": "integer"
        },
        "start": {
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
Example response
{
  "response": {
    "docs": [
      {
        "id": "adr-bdaa6469c82c76ccefe4455330d239e1",
        "score": 11.2,
        "type": "adres",
        "weergavenaam": "Keizersgracht 126, 1015CW Amsterdam"
      }
    ],
    "numFound": 42,
    "start": 0
  }
}
GET/cbs/postcode4/ogc/v1/collections/postcode4/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "jaarcode": {
    "description": "Statistical year of the figures.",
    "required": false,
    "type": "integer"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "postcode": {
    "description": "Four-digit Dutch postal code as a number, e.g. 1015.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the postcode-4 area.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "description": "CBS figures for the postcode-4 area. Any numeric field can carry -99997 meaning suppressed, not zero.",
            "properties": {
              "aantal_eenouderhuishoudens": {
                "type": "integer"
              },
              "aantal_eenpersoonshuishoudens": {
                "type": "integer"
              },
              "aantal_geboorten": {
                "type": "integer"
              },
              "aantal_huurwoningen_in_bezit_woningcorporaties": {
                "type": "integer"
              },
              "aantal_inwoners": {
                "type": "integer"
              },
              "aantal_inwoners_0_tot_15_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_15_tot_25_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_25_tot_45_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_45_tot_65_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_65_jaar_en_ouder": {
                "type": "integer"
              },
              "aantal_mannen": {
                "type": "integer"
              },
              "aantal_meergezins_woningen": {
                "type": "integer"
              },
              "aantal_niet_bewoonde_woningen": {
                "type": "integer"
              },
              "aantal_part_huishoudens": {
                "type": "integer"
              },
              "aantal_personen_met_uitkering_onder_aowlft": {
                "type": "integer"
              },
              "aantal_tweeouderhuishoudens": {
                "type": "integer"
              },
              "aantal_vrouwen": {
                "type": "integer"
              },
              "aantal_woningen": {
                "type": "integer"
              },
              "jaarcode": {
                "type": "integer"
              },
              "postcode": {
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "aantal_geboorten": 65,
        "aantal_huurwoningen_in_bezit_woningcorporaties": 2100,
        "aantal_inwoners": 9535,
        "aantal_mannen": 4975,
        "aantal_part_huishoudens": 6330,
        "aantal_vrouwen": 4555,
        "aantal_woningen": 6035
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/cbs/postcode6/ogc/v1/collections/postcode6/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. Use a small box around a point to get the postcode area covering it.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "jaarcode": {
    "description": "Statistical year of the figures.",
    "required": false,
    "type": "integer"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "postcode6": {
    "description": "Full Dutch postal code, six characters without a space, e.g. 1015CW.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the postcode area.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "description": "CBS figures for the postcode. Any numeric field can carry -99997 meaning suppressed, not zero.",
            "properties": {
              "aantal_eenouderhuishoudens": {
                "type": "integer"
              },
              "aantal_eenpersoonshuishoudens": {
                "type": "integer"
              },
              "aantal_geboorten": {
                "type": "integer"
              },
              "aantal_huurwoningen_in_bezit_woningcorporaties": {
                "type": "integer"
              },
              "aantal_inwoners": {
                "type": "integer"
              },
              "aantal_inwoners_0_tot_15_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_15_tot_25_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_25_tot_45_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_45_tot_65_jaar": {
                "type": "integer"
              },
              "aantal_inwoners_65_jaar_en_ouder": {
                "type": "integer"
              },
              "aantal_mannen": {
                "type": "integer"
              },
              "aantal_meergezins_woningen": {
                "type": "integer"
              },
              "aantal_meerpersoonshuishoudens_zonder_kind": {
                "type": "integer"
              },
              "aantal_niet_bewoonde_woningen": {
                "type": "integer"
              },
              "aantal_part_huishoudens": {
                "type": "integer"
              },
              "aantal_personen_met_uitkering_onder_aowlft": {
                "type": "integer"
              },
              "aantal_tweeouderhuishoudens": {
                "type": "integer"
              },
              "aantal_vrouwen": {
                "type": "integer"
              },
              "aantal_woningen": {
                "type": "integer"
              },
              "jaarcode": {
                "type": "integer"
              },
              "postcode6": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "aantal_inwoners": -99997,
        "aantal_meergezins_woningen": 5,
        "aantal_niet_bewoonde_woningen": 5,
        "postcode6": "1015CW"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/cbs/wijken-en-buurten-2025/ogc/v1/collections/buurten/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. Use a small box around a point to get the neighbourhood covering it.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "buurtcode": {
    "description": "CBS neighbourhood code, e.g. BU03630101.",
    "required": false,
    "type": "string"
  },
  "buurtnaam": {
    "description": "Neighbourhood name.",
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "gemeentecode": {
    "description": "CBS municipality code, e.g. GM0363, to return every neighbourhood in a municipality.",
    "required": false,
    "type": "string"
  },
  "gemeentenaam": {
    "description": "Municipality name, e.g. Amsterdam.",
    "required": false,
    "type": "string"
  },
  "jrstatcode": {
    "description": "Year plus neighbourhood code, e.g. 2025BU03630101.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "wijkcode": {
    "description": "CBS district code, e.g. WK036301, to return every neighbourhood in a district.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the neighbourhood boundary.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "description": "CBS figures for the neighbourhood. Any numeric field can carry -99997 meaning suppressed, not zero.",
            "properties": {
              "aantal_huishoudens": {
                "type": "integer"
              },
              "aantal_inwoners": {
                "type": "integer"
              },
              "bevolkingsdichtheid_inwoners_per_km2": {
                "type": "number"
              },
              "buurtcode": {
                "type": "string"
              },
              "buurtnaam": {
                "type": "string"
              },
              "dekkingspercentage": {
                "type": "number"
              },
              "gemeentecode": {
                "type": "string"
              },
              "gemeentenaam": {
                "type": "string"
              },
              "gemiddelde_huishoudsgrootte": {
                "type": "number"
              },
              "indelingswijziging_wijken_en_buurten": {
                "type": "integer"
              },
              "jaar": {
                "type": "integer"
              },
              "jrstatcode": {
                "type": "string"
              },
              "mannen": {
                "type": "integer"
              },
              "meest_voorkomende_postcode": {
                "type": "string"
              },
              "omgevingsadressendichtheid": {
                "type": "number"
              },
              "oppervlakte_land_in_ha": {
                "type": "number"
              },
              "oppervlakte_totaal_in_ha": {
                "type": "number"
              },
              "oppervlakte_water_in_ha": {
                "type": "number"
              },
              "wijkcode": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "aantal_inwoners": -99997,
        "buurtcode": "BU09989999",
        "buurtnaam": "Buitenland",
        "gemeentecode": "GM0998",
        "gemeentenaam": "Buitenland",
        "jaar": 2025,
        "jrstatcode": "2025BU09989999"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/bag/ogc/v2/collections/adres/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers: minimum longitude, minimum latitude, maximum longitude, maximum latitude. In the CRS given by bbox-crs, WGS84 by default. Only features intersecting it are returned.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude. Use EPSG/0/28992 for Rijksdriehoek.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the geometries in the response. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor, taken from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval to select features valid at that time.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "BAG nummeraanduiding identifier of one address, 16 digits, e.g. 0000200000057534.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Point at the address.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "adresseerbaar_object_identificatie": {
                "description": "BAG id of the object this address designates.",
                "type": "string"
              },
              "adresseerbaar_object_type": {
                "description": "Verblijfsobject, Ligplaats or Standplaats.",
                "type": "string"
              },
              "bronhouder_naam": {
                "description": "Municipality maintaining the record.",
                "type": "string"
              },
              "huisletter": {
                "type": "string"
              },
              "huisnummer": {
                "type": "string"
              },
              "huisnummertoevoeging": {
                "type": "string"
              },
              "identificatie": {
                "description": "BAG nummeraanduiding identifier.",
                "type": "string"
              },
              "openbare_ruimte_identificatie": {
                "type": "string"
              },
              "openbare_ruimte_naam": {
                "description": "Street name.",
                "type": "string"
              },
              "openbare_ruimte_naam_kort": {
                "type": "string"
              },
              "openbare_ruimte_status": {
                "type": "string"
              },
              "postcode": {
                "type": "string"
              },
              "provincie_afkorting": {
                "type": "string"
              },
              "provincie_naam": {
                "type": "string"
              },
              "rdf_seealso": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "woonplaats_naam": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "description": "Includes the next link that carries the paging cursor.",
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "timeStamp": {
      "type": "string"
    },
    "type": {
      "description": "FeatureCollection.",
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          5.83,
          50.99
        ],
        "type": "Point"
      },
      "properties": {
        "adresseerbaar_object_identificatie": "0000010000057469",
        "adresseerbaar_object_type": "Verblijfsobject",
        "bronhouder_naam": "Sittard-Geleen",
        "huisletter": "A",
        "huisnummer": "32",
        "identificatie": "0000200000057534",
        "openbare_ruimte_naam": "Steenweg",
        "postcode": "6131BE",
        "provincie_naam": "Limburg"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/bag/ogc/v2/collections/pand/items
$0.02 default
Description

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

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers: minimum longitude, minimum latitude, maximum longitude, maximum latitude, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "BAG pand identifier, 16 digits, e.g. 0003100000117485.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Polygon — the building footprint.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "aantal_verblijfsobjecten": {
                "description": "Number of residential or usable objects inside the building.",
                "type": "integer"
              },
              "bouwjaar": {
                "description": "Year of construction.",
                "type": "integer"
              },
              "documentdatum": {
                "type": "string"
              },
              "documentnummer": {
                "type": "string"
              },
              "gebruiksdoel": {
                "description": "Use of the building, e.g. woonfunctie, kantoorfunctie.",
                "type": "string"
              },
              "geconstateerd": {
                "description": "J or N — whether the object was observed but not yet formally registered.",
                "type": "string"
              },
              "identificatie": {
                "description": "BAG pand identifier.",
                "type": "string"
              },
              "rdf_seealso": {
                "type": "string"
              },
              "status": {
                "description": "e.g. Pand in gebruik, Bouw gestart, Pand gesloopt.",
                "type": "string"
              },
              "verblijfsobject.href": {
                "description": "Links to the verblijfsobject features inside this building.",
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          [
            [
              5.83,
              50.99
            ]
          ]
        ],
        "type": "Polygon"
      },
      "properties": {
        "aantal_verblijfsobjecten": 15,
        "bouwjaar": 1991,
        "gebruiksdoel": "woonfunctie",
        "geconstateerd": "N",
        "identificatie": "0003100000117485",
        "status": "Pand in gebruik"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/bag/ogc/v2/collections/verblijfsobject/items
$0.02 default
Description

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

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers: minimum longitude, minimum latitude, maximum longitude, maximum latitude, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "BAG verblijfsobject identifier, 16 digits, e.g. 0000010000057469.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Point.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "bronhouder_naam": {
                "type": "string"
              },
              "gebruiksdoel": {
                "description": "e.g. woonfunctie, kantoorfunctie, winkelfunctie.",
                "type": "string"
              },
              "geconstateerd": {
                "type": "string"
              },
              "hoofdadres_identificatie": {
                "description": "BAG nummeraanduiding id of the main address.",
                "type": "string"
              },
              "hoofdadres_status": {
                "type": "string"
              },
              "huisletter": {
                "type": "string"
              },
              "huisnummer": {
                "type": "integer"
              },
              "identificatie": {
                "description": "BAG verblijfsobject identifier.",
                "type": "string"
              },
              "openbare_ruimte_naam": {
                "description": "Street name.",
                "type": "string"
              },
              "oppervlakte": {
                "description": "Usable floor area in square metres.",
                "type": "integer"
              },
              "pand.href": {
                "description": "Links to the pand feature(s) containing this object.",
                "type": "array"
              },
              "postcode": {
                "type": "string"
              },
              "provincie_naam": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          5.83,
          50.99
        ],
        "type": "Point"
      },
      "properties": {
        "bronhouder_naam": "Sittard-Geleen",
        "gebruiksdoel": "woonfunctie",
        "hoofdadres_identificatie": "0000200000057534",
        "huisletter": "A",
        "huisnummer": 32,
        "identificatie": "0000010000057469",
        "openbare_ruimte_naam": "Steenweg",
        "oppervlakte": 72,
        "postcode": "6131BE"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/brk-bestuurlijke-gebieden/ogc/v1/collections/gemeentegebied/items
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. Use a small box around a point to find the municipality covering it.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "Municipality identifier, e.g. GM0263.",
    "required": false,
    "type": "string"
  },
  "ligt_in_provincie_naam": {
    "description": "Province name, to return every municipality in one province, e.g. Gelderland.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "naam": {
    "description": "Municipality name, e.g. Maasdriel or Amsterdam.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the municipal boundary.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "code": {
                "description": "Four-digit CBS municipality code, e.g. 0263.",
                "type": "string"
              },
              "identificatie": {
                "description": "e.g. GM0263.",
                "type": "string"
              },
              "ligt_in_provincie_code": {
                "type": "string"
              },
              "ligt_in_provincie_naam": {
                "type": "string"
              },
              "naam": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "code": "0263",
        "identificatie": "GM0263",
        "ligt_in_provincie_code": "25",
        "ligt_in_provincie_naam": "Gelderland",
        "naam": "Maasdriel"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/brk-bestuurlijke-gebieden/ogc/v1/collections/provinciegebied/items
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "Province identifier.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "naam": {
    "description": "Province name, e.g. Gelderland, Noord-Holland, Zuid-Holland, Utrecht, Limburg.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the provincial boundary.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "code": {
                "description": "Two-digit CBS province code, e.g. 25.",
                "type": "string"
              },
              "identificatie": {
                "description": "e.g. PV25.",
                "type": "string"
              },
              "ligt_in_land_code": {
                "type": "string"
              },
              "ligt_in_land_naam": {
                "description": "Nederland.",
                "type": "string"
              },
              "naam": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "code": "25",
        "identificatie": "PV25",
        "ligt_in_land_code": "6030",
        "ligt_in_land_naam": "Nederland",
        "naam": "Gelderland"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/brk-kadastrale-kaart/ogc/v1/collections/perceel/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "akr_kadastrale_gemeente_code_code": {
    "description": "AKR cadastral municipality code, e.g. 1074.",
    "required": false,
    "type": "string"
  },
  "akr_kadastrale_gemeente_code_waarde": {
    "description": "AKR cadastral municipality code value, e.g. TTR00.",
    "required": false,
    "type": "string"
  },
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "identificatie_lokaal_id": {
    "description": "Local identifier of the parcel in NL.IMKAD.KadastraalObject.",
    "required": false,
    "type": "string"
  },
  "kadastrale_gemeente_code": {
    "description": "Cadastral municipality code, e.g. 965.",
    "required": false,
    "type": "string"
  },
  "kadastrale_gemeente_waarde": {
    "description": "Cadastral municipality name, e.g. Teteringen.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "perceelnummer": {
    "description": "Parcel number within the cadastral section, e.g. 23. Combine with sectie and a kadastrale gemeente to name one parcel.",
    "required": false,
    "type": "integer"
  },
  "sectie": {
    "description": "Cadastral section letter, e.g. A or M.",
    "required": false,
    "type": "string"
  },
  "soort_grootte_code": {
    "description": "Code for how the area was determined.",
    "required": false,
    "type": "string"
  },
  "soort_grootte_waarde": {
    "description": "How the area was determined, e.g. Vastgesteld.",
    "required": false,
    "type": "string"
  },
  "status_historie_code": {
    "description": "G for current, H for historic.",
    "required": false,
    "type": "string"
  },
  "status_historie_waarde": {
    "description": "Geldig or Historie.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the parcel boundary.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "akr_kadastrale_gemeente_code_waarde": {
                "type": "string"
              },
              "begin_geldigheid": {
                "type": "string"
              },
              "identificatie_lokaal_id": {
                "type": "string"
              },
              "identificatie_namespace": {
                "description": "NL.IMKAD.KadastraalObject.",
                "type": "string"
              },
              "kadastrale_gemeente_code": {
                "type": "string"
              },
              "kadastrale_gemeente_waarde": {
                "type": "string"
              },
              "kadastrale_grootte_waarde": {
                "description": "Registered parcel area in square metres.",
                "type": "integer"
              },
              "perceelnummer": {
                "type": "integer"
              },
              "sectie": {
                "type": "string"
              },
              "soort_grootte_waarde": {
                "type": "string"
              },
              "status_historie_waarde": {
                "description": "Geldig or Historie.",
                "type": "string"
              },
              "tijdstip_registratie": {
                "type": "string"
              },
              "volgnummer": {
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "akr_kadastrale_gemeente_code_waarde": "TTR00",
        "identificatie_lokaal_id": "10000002370000",
        "kadastrale_gemeente_code": "965",
        "kadastrale_gemeente_waarde": "Teteringen",
        "kadastrale_grootte_waarde": 880,
        "perceelnummer": 23,
        "sectie": "A",
        "soort_grootte_waarde": "Vastgesteld",
        "status_historie_waarde": "Geldig"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/brk-publiekrechtelijke-beperkingen-wkpb/ogc/v1/collections/pb_multipolygon/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. The usual way to ask what restrictions apply at a location.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "grondslag_code": {
    "description": "Statutory basis code, e.g. GWA for the Gemeentewet monument designation.",
    "required": false,
    "type": "string"
  },
  "identificatie": {
    "description": "Identifier of the restriction within NL.IMKAD.PubliekrechtelijkeBeperking.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "type_beperkingsgebied": {
    "description": "Type of restriction area.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the area the restriction covers.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "code_groep": {
                "type": "string"
              },
              "datum_aanbieding": {
                "type": "string"
              },
              "datum_beeindiging": {
                "description": "Date it ended, or null while it still applies.",
                "type": "string"
              },
              "datum_in_werking": {
                "description": "Date the restriction took effect.",
                "type": "string"
              },
              "datum_kenbaarheid": {
                "type": "string"
              },
              "domein": {
                "description": "NL.IMKAD.PubliekrechtelijkeBeperking.",
                "type": "string"
              },
              "gebaseerd_op_stuk": {
                "description": "Deed reference, e.g. HYP4 78140/094.",
                "type": "string"
              },
              "grondslag_code": {
                "type": "string"
              },
              "grondslag_omschrijving": {
                "description": "Statute and act, e.g. Gemeentewet: Aanwijzing gemeentelijk monument.",
                "type": "string"
              },
              "identificatie": {
                "type": "string"
              },
              "meerdere_brondocumenten_ingeschreven": {
                "type": "string"
              },
              "monumentnummer": {
                "type": "string"
              },
              "naam_groep": {
                "description": "Statute group, e.g. Gemeentewet.",
                "type": "string"
              },
              "organisatie_informatie_nummer_oin": {
                "type": "string"
              },
              "statutaire_naam_rechtspersoon": {
                "description": "Authority that imposed the restriction.",
                "type": "string"
              },
              "tijdstip_inschrijven_kadaster": {
                "type": "string"
              },
              "type_beperkingsgebied": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "datum_beeindiging": null,
        "datum_in_werking": "1987-12-11",
        "gebaseerd_op_stuk": "HYP4 78140/094",
        "grondslag_code": "GWA",
        "grondslag_omschrijving": "Gemeentewet: Aanwijzing gemeentelijk monument (voorbescherming, aanwijzing, afschrift)",
        "identificatie": "1000",
        "naam_groep": "Gemeentewet",
        "statutaire_naam_rechtspersoon": "Gemeente Zeist"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/kadaster/brt-top10nl/ogc/v1/collections/gebouw_vlak/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "lokaal_id": {
    "description": "TOP10NL local identifier of the object.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Polygon — the generalised building outline.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "bronactualiteit": {
                "type": "string"
              },
              "bronnauwkeurigheid": {
                "type": "number"
              },
              "brontype": {
                "type": "string"
              },
              "fysiekvoorkomen": {
                "type": "string"
              },
              "gebruiksdoel": {
                "type": "string"
              },
              "hoogte": {
                "type": "number"
              },
              "hoogteklasse": {
                "description": "laagbouw or hoogbouw.",
                "type": "string"
              },
              "hoogteniveau": {
                "type": "integer"
              },
              "lokaal_id": {
                "type": "string"
              },
              "naam": {
                "description": "Name, for named buildings.",
                "type": "string"
              },
              "namespace": {
                "description": "NL.TOP10NL.",
                "type": "string"
              },
              "objectbegintijd": {
                "type": "string"
              },
              "soortnaam": {
                "type": "string"
              },
              "status": {
                "description": "e.g. in gebruik.",
                "type": "string"
              },
              "tdncode": {
                "type": "integer"
              },
              "tijdstipregistratie": {
                "type": "string"
              },
              "typegebouw": {
                "description": "e.g. kerk, kas, fabriek, overig.",
                "type": "string"
              },
              "visualisatiecode": {
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "Polygon"
      },
      "properties": {
        "bronactualiteit": "2003-01-01",
        "brontype": "TOP10vector",
        "hoogteklasse": "laagbouw",
        "lokaal_id": "100755872",
        "namespace": "NL.TOP10NL",
        "objectbegintijd": "2008-11-24",
        "status": "in gebruik",
        "typegebouw": "overig"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/lv/bgt/ogc/v1/collections/pand/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. The usual way in: the BGT is dense, so keep the box small and the limit low.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "lokaal_id": {
    "description": "BGT local identifier of the object, e.g. G0858.0000b367299f47c9b4b5235d3dd44937.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the surveyed building outline.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "bag_pnd": {
                "description": "Corresponding BAG pand identifier — the join key to bouwjaar and gebruiksdoel.",
                "type": "string"
              },
              "bronhouder": {
                "description": "Authority maintaining the object, e.g. G0858 for a municipality.",
                "type": "string"
              },
              "creation_date": {
                "type": "string"
              },
              "in_onderzoek": {
                "type": "string"
              },
              "lokaal_id": {
                "type": "string"
              },
              "lv_publicatiedatum": {
                "type": "string"
              },
              "plus_status": {
                "type": "string"
              },
              "relatieve_hoogteligging": {
                "description": "Height level relative to ground; 0 is at grade.",
                "type": "integer"
              },
              "status": {
                "description": "bestaand, plan or historisch.",
                "type": "string"
              },
              "termination_date": {
                "type": "string"
              },
              "tijdstip_registratie": {
                "type": "string"
              },
              "version": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "bag_pnd": "0858100000004395",
        "bronhouder": "G0858",
        "creation_date": "2014-01-13T23:00:00Z",
        "lokaal_id": "G0858.0000b367299f47c9b4b5235d3dd44937",
        "relatieve_hoogteligging": 0,
        "status": "bestaand",
        "termination_date": null
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/prorail/spoorwegen/ogc/v1/collections/station/items
$0.01 default
Description

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.

Pricing
$0.01 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. The usual way to find stations near a location.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Point at the station.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "afkorting": {
                "description": "Official station abbreviation.",
                "type": "string"
              },
              "beheerder": {
                "description": "Infrastructure manager.",
                "type": "string"
              },
              "geocode": {
                "description": "Line geocode.",
                "type": "string"
              },
              "geocode_naam": {
                "description": "Line the station sits on.",
                "type": "string"
              },
              "km_geocode": {
                "description": "Kilometre position along that line.",
                "type": "number"
              },
              "kmlint": {
                "type": "string"
              },
              "kmlint_omschrijving": {
                "type": "string"
              },
              "latitude": {
                "type": "number"
              },
              "longitude": {
                "type": "number"
              },
              "naam": {
                "description": "Station name.",
                "type": "string"
              },
              "puic": {
                "description": "Stable ProRail object identifier.",
                "type": "string"
              },
              "stationsgrootte": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          6.25603817,
          51.83435907
        ],
        "type": "Point"
      },
      "properties": {
        "afkorting": "Em",
        "beheerder": "Derden - Overig - DB Netz",
        "geocode": "779",
        "geocode_naam": "Emmerich (D) - Zevenaar Grens",
        "km_geocode": 60.764698,
        "latitude": 51.83435907,
        "longitude": 6.25603817,
        "naam": "Emmerich (D)",
        "puic": "60fc44b1-8056-430f-9cc9-27c3dac58c43"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/rvo/gewaspercelen/ogc/v1/collections/brpgewas/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. The only way to scope this collection to a place — it exposes no attribute filters.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval, to select a declaration year.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON Polygon — the declared parcel boundary.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "category": {
                "description": "e.g. Bouwland, Grasland, Landschapselement.",
                "type": "string"
              },
              "gewas": {
                "description": "Crop or landscape element on the parcel.",
                "type": "string"
              },
              "gewascode": {
                "description": "RVO crop code.",
                "type": "integer"
              },
              "jaar": {
                "description": "Declaration year.",
                "type": "integer"
              },
              "status": {
                "description": "Definitief or Voorlopig.",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "Polygon"
      },
      "properties": {
        "category": "Landschapselement",
        "gewas": "Sloot",
        "gewascode": 343,
        "jaar": 2025,
        "status": "Definitief"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/rvo/indicatieve-aandachtsgebieden-funderingsproblematiek/ogc/v1/collections/indgebfunderingsproblematiek/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "gemeente": {
    "description": "Municipality name, to return every flagged postcode area in it.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "pc6": {
    "description": "Full Dutch postal code, six characters without a space, e.g. 7251RG.",
    "required": false,
    "type": "string"
  },
  "provincie": {
    "description": "Province name.",
    "required": false,
    "type": "string"
  },
  "woonplaats": {
    "description": "Place name.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the flagged postcode area.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "afk": {
                "description": "Abbreviation of that region.",
                "type": "string"
              },
              "fgr": {
                "description": "Dominant physical-geographical region, e.g. Rivierengebied.",
                "type": "string"
              },
              "gemeente": {
                "type": "string"
              },
              "legenda": {
                "description": "Risk class, e.g. Kwetsbaar gebied - 40-60 %.",
                "type": "string"
              },
              "n_bag": {
                "description": "Number of BAG buildings in the postcode area.",
                "type": "string"
              },
              "nvoor1970": {
                "description": "How many of them were built before 1970.",
                "type": "string"
              },
              "pc6": {
                "type": "string"
              },
              "perc_fgr": {
                "description": "Share of the postcode area covered by that region.",
                "type": "string"
              },
              "percvoor1970": {
                "description": "Percentage built before 1970.",
                "type": "string"
              },
              "popuptext": {
                "description": "Ready-made explanation of the risk for this postcode, as HTML.",
                "type": "string"
              },
              "provincie": {
                "type": "string"
              },
              "woonplaats": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "description": "0 means the postcode is not in a flagged area, which is itself the answer.",
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "fgr": "Rivierengebied",
        "gemeente": "Bronckhorst",
        "legenda": "Kwetsbaar gebied - 40-60 %",
        "n_bag": "7",
        "nvoor1970": "4",
        "pc6": "7251RG",
        "percvoor1970": "57.14285714285714"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/rvo/natura2000/ogc/v1/collections/natura2000/items
$0.01 default
Description

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

Pricing
$0.01 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs. The usual way to screen a site: an empty result means no Natura 2000 area intersects the box.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "naam_n2k": {
    "description": "Natura 2000 area name, e.g. Coepelduynen, Veluwe, Waddenzee.",
    "required": false,
    "type": "string"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiPolygon — the protected area.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "beschermin": {
                "description": "HR (Habitatrichtlijn), VR (Vogelrichtlijn) or both.",
                "type": "string"
              },
              "kadaster": {
                "type": "string"
              },
              "naam_n2k": {
                "description": "Area name.",
                "type": "string"
              },
              "nr": {
                "description": "Natura 2000 area number.",
                "type": "integer"
              },
              "shape_area": {
                "description": "Area in square metres.",
                "type": "number"
              },
              "shape_len": {
                "description": "Perimeter in metres.",
                "type": "number"
              },
              "sitecode_h": {
                "description": "Habitats Directive site code, e.g. NL1000030.",
                "type": "string"
              },
              "sitecode_v": {
                "description": "Birds Directive site code, blank when none.",
                "type": "string"
              },
              "staatscour": {
                "description": "Staatscourant reference of the designation.",
                "type": "string"
              },
              "status": {
                "description": "Designation status, e.g. Natura 2000-besluit 2010.",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "description": "0 means no Natura 2000 area intersects the query, which is itself the answer.",
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiPolygon"
      },
      "properties": {
        "beschermin": "HR",
        "naam_n2k": "Coepelduynen",
        "nr": 96,
        "shape_area": 1883719.9,
        "sitecode_h": "NL1000030",
        "staatscour": "2009/19769",
        "status": "Natura 2000-besluit 2010"
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}
GET/rws/nationaal-wegenbestand-wegen/ogc/v1/collections/wegvakken/items
$0.02 default
Description

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.

Pricing
$0.02 default
Parameters
{
  "bbox": {
    "description": "Bounding box as four comma-separated numbers, in the CRS given by bbox-crs.",
    "required": false,
    "type": "string"
  },
  "bbox-crs": {
    "description": "Coordinate reference system of bbox. Default WGS84 longitude/latitude.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "crs": {
    "description": "Coordinate reference system of the response geometries. Default WGS84.",
    "enum": [
      "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "http://www.opengis.net/def/crs/EPSG/0/28992",
      "http://www.opengis.net/def/crs/EPSG/0/3857",
      "http://www.opengis.net/def/crs/EPSG/0/4258"
    ],
    "required": false,
    "type": "string"
  },
  "cursor": {
    "description": "Paging cursor from the next link of a previous response.",
    "required": false,
    "type": "string"
  },
  "datetime": {
    "description": "RFC 3339 instant or interval.",
    "required": false,
    "type": "string"
  },
  "f": {
    "description": "Response format. Default json (GeoJSON).",
    "enum": [
      "json",
      "jsonfg",
      "html"
    ],
    "required": false,
    "type": "string"
  },
  "gme_naam": {
    "description": "Municipality name the segment lies in.",
    "required": false,
    "type": "string"
  },
  "limit": {
    "description": "Maximum number of features. Default 10.",
    "required": false,
    "type": "integer"
  },
  "stt_naam": {
    "description": "Street name of the road segment.",
    "required": false,
    "type": "string"
  },
  "wegbehsrt": {
    "description": "Road authority type, e.g. R for Rijk, P for provincie, G for gemeente, W for waterschap.",
    "required": false,
    "type": "string"
  },
  "wegnummer": {
    "description": "Road number, e.g. A2 or N225.",
    "required": false,
    "type": "string"
  },
  "wvk_id": {
    "description": "NWB road-segment identifier.",
    "required": false,
    "type": "number"
  }
}
Response schema
{
  "properties": {
    "features": {
      "items": {
        "properties": {
          "geometry": {
            "description": "GeoJSON MultiLineString — the road centreline.",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "properties": {
            "properties": {
              "admrichtng": {
                "description": "Administrative direction.",
                "type": "string"
              },
              "bag_orl": {
                "description": "Linked BAG openbare-ruimte identifier.",
                "type": "string"
              },
              "bronjaar": {
                "type": "integer"
              },
              "bst_code": {
                "type": "string"
              },
              "fow": {
                "description": "Form of way.",
                "type": "string"
              },
              "frc": {
                "description": "Functional road class.",
                "type": "string"
              },
              "gme_id": {
                "type": "integer"
              },
              "gme_naam": {
                "description": "Municipality.",
                "type": "string"
              },
              "hnrstrlnks": {
                "description": "Whether house numbers run on the left side.",
                "type": "string"
              },
              "hnrstrrhts": {
                "description": "Whether house numbers run on the right side.",
                "type": "string"
              },
              "jte_id_beg": {
                "description": "Junction id at the start of the segment.",
                "type": "number"
              },
              "jte_id_end": {
                "description": "Junction id at the end.",
                "type": "number"
              },
              "rijrichtng": {
                "description": "Direction of travel: H, T or B for both.",
                "type": "string"
              },
              "stt_naam": {
                "description": "Street name.",
                "type": "string"
              },
              "wegbehnaam": {
                "description": "Road authority name.",
                "type": "string"
              },
              "wegbehsrt": {
                "description": "Road authority type.",
                "type": "string"
              },
              "wegnummer": {
                "type": "string"
              },
              "wvk_id": {
                "description": "Road-segment identifier.",
                "type": "number"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "links": {
      "type": "array"
    },
    "numberReturned": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "type": "object"
}
Example response
{
  "features": [
    {
      "geometry": {
        "coordinates": [],
        "type": "MultiLineString"
      },
      "properties": {
        "admrichtng": "H",
        "bag_orl": "0085300000000021",
        "bronjaar": 2014,
        "bst_code": "PAR",
        "fow": "7",
        "frc": "4",
        "gme_id": 85,
        "gme_naam": "Ooststellingwerf",
        "rijrichtng": "B",
        "wvk_id": 413501007
      }
    }
  ],
  "numberReturned": 1,
  "type": "FeatureCollection"
}