Geo
Address Enrichment (BAG)
Dutch postcode API — verrijk een postcode + huisnummer met BAG-metadata, WGS84-coördinaten en energielabel. BAG address API JSON via Kadaster.
GET /v1/geo/address-enrich
Enriches a Dutch postcode and house number with official BAG (Basisregistratie Adressen en Gebouwen) address data and optionally the registered EP-Online energy label.
Data flow:
- PDOK Locatieserver (free) — geocode to
nummeraanduiding_id+ WGS84 coordinates - Kadaster BAG Individuele Bevragingen v2 — fetch address details, surface area, building year
- EP-Online v5 (optional) — fetch registered energy label
Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
postcode | string | ✓ | — | Dutch postcode, e.g. 1234AB or 1234 AB |
house_number | string | ✓ | — | House number, e.g. 42 |
energy | boolean | true | Include EP-Online energy label when available |
Example request
curl -H "X-API-Key: YOUR_KEY" \
"https://api.omnizoek.nl/v1/geo/address-enrich?postcode=1012LG&house_number=1"Example response
{
"street": "Damrak",
"house_number": "1",
"house_letter": null,
"house_addition": null,
"postcode": "1012LG",
"city": "Amsterdam",
"municipality": "Amsterdam",
"province": "Noord-Holland",
"lat": 52.3756,
"lon": 4.8951,
"bag_id": "0363010000000001",
"surface_m2": 120,
"building_year": 1920,
"usage_function": "woonfunctie",
"status": "Verblijfsobject in gebruik",
"energy_label": "C",
"energy_label_registered": "2021-03-15",
"energy_label_valid_until": "2031-03-15",
"energy_label_calculation_type": "Nader Voorschrift"
}Response fields
| Field | Type | Description |
|---|---|---|
street | string | Street name (openbareRuimteNaam) |
house_number | string | House number |
house_letter | string | null | House letter suffix (e.g. A) |
house_addition | string | null | House number addition (e.g. bis) |
postcode | string | Normalised postcode (no spaces) |
city | string | City (woonplaatsNaam) |
municipality | string | null | Municipality (gemeenteNaam) |
province | string | null | Province (provincieNaam) |
lat | number | null | Latitude in WGS84 |
lon | number | null | Longitude in WGS84 |
bag_id | string | BAG adresseerbaar object identifier |
surface_m2 | integer | null | Floor area in square metres |
building_year | integer | null | Year of construction |
usage_function | string | null | Primary use function (e.g. woonfunctie) |
status | string | null | BAG registration status |
energy_label | string | null | Energy class (A+++…G) — null when not registered |
energy_label_registered | string | null | Registration date (YYYY-MM-DD) |
energy_label_valid_until | string | null | Expiry date (YYYY-MM-DD) |
energy_label_calculation_type | string | null | Calculation method |
Error responses
| Status | Error code | Cause |
|---|---|---|
404 | address_not_found | Postcode + house number not found in PDOK or BAG |
503 | bag_api_error | Kadaster BAG API unavailable |
503 | environment_error | BAG_API_KEY not configured on server |
Caching
Responses are cached in RAM for 24 hours keyed on {postcode}_{house_number}.