Back to daltcore.com
Free tool

Free Dutch Postcode API

Look up the city and street for a Dutch postcode and house number. Free to use, no API key, no sign-up. Built and hosted on our own infrastructure.

Free forever No API key required No rate limit (for now)
Endpoint GET https://postcode.api.daltcore.com/v1/addresses

This is an early, unrestricted release. A rate limit may be introduced later as usage grows.

Example request
GET https://postcode.api.daltcore.com/v1/addresses
    ?postcode=8261AA&houseNumber=1
Example response
{
  "street": "Klokkensteeg",
  "city": "Kampen",
  "municipality": "Kampen",
  "district": "Kampen",
  "neighbourhood": "Binnenstad Kampen",
  "lon": 5.918772239519917,
  "lat": 52.55676280656684,
  "status": "Verblijfsobject in gebruik",
  "active": true
}
Reference

Parameters and response

Two query parameters, one JSON response. That is the entire API.

Query parameters
Parameter Type Description
postcode string Dutch postcode, 4 digits + 2 letters, no space (e.g. 1234AB).
houseNumber integer House number, digits only.
Response fields
Field Description
street Street name.
city City or place name.
municipality Municipality (gemeente).
district District (wijk), per the CBS Wijk- en Buurtkaart.
neighbourhood Neighbourhood (buurt), per the CBS Wijk- en Buurtkaart.
lon Longitude (WGS84).
lat Latitude (WGS84).
status Official BAG registration status of the address.
active Whether the address is currently active.

Errors

Status Error Meaning
400 invalid_postcode Postcode is not a valid Dutch postcode (4 digits + 2 letters).
404 not_found Postcode is valid, but no address exists for it and this house number.
Paid extension

Energielabel API

An extension to the DALTCORE Postcode API: look up the official energy label for a Dutch address, right alongside the existing postcode validation and address data.

Paid tier Requires API key 1,000 requests/month included
Endpoint GET https://postcode.api.daltcore.com/v1/energylabel
Example request
GET https://postcode.api.daltcore.com/v1/energylabel
    ?postcode=8261VS&houseNumber=7
X-API-Key: <your-key>
Example response
{
  "energyClass": "D",
  "energyIndex": null,
  "validUntil": "2030-06-26T00:00:00.000Z",
  "registrationDate": "2020-06-26T00:00:00.000Z",
  "surveyDate": "2020-06-26T00:00:00.000Z",
  "buildYear": 1930,
  "buildingClass": "W",
  "buildingType": "Rijwoning tussen",
  "buildingSubtype": null
}
Include with an address lookup
GET https://postcode.api.daltcore.com/v1/addresses
    ?postcode=8261VS&houseNumber=7&includeEnergyLabel=true
X-API-Key: <your-key>
Example response
{
  "street": "Parallelstraat",
  "city": "Kampen",
  "municipality": "Kampen",
  "district": "Kampen",
  "neighbourhood": "Binnenstad Kampen",
  "lon": 5.911557976475438,
  "lat": 52.55894342905999,
  "status": "Verblijfsobject in gebruik",
  "active": true,
  "energyLabel": {
    "energyClass": "D",
    "energyIndex": null,
    "validUntil": "2030-06-26T00:00:00.000Z",
    "registrationDate": "2020-06-26T00:00:00.000Z",
    "surveyDate": "2020-06-26T00:00:00.000Z",
    "buildYear": 1930,
    "buildingClass": "W",
    "buildingType": "Rijwoning tussen",
    "buildingSubtype": null
  }
}

No separate integration needed: if you already use the Postcode API, just request the energy label alongside the same address lookup. If no label is known for the address, energyLabel is null and the rest of the address data is still returned.

Reference

Parameters and response

Query parameters
Parameter Type Description
postcode string Dutch postcode, 4 digits + 2 letters, no space (e.g. 1234AB).
houseNumber integer House number, digits only.
houseLetter string House letter, if the address has one.
houseNumberAddition string House number addition, if the address has one.
Response fields
Field Description
energyClass Energy label class (A+++++ to G).
energyIndex Underlying energy index value, when available.
validUntil Date until which the label is valid.
registrationDate Date the label was registered.
surveyDate Date of the energy survey.
buildYear Construction year of the building.
buildingClass Building class code.
buildingType Building type description.
buildingSubtype Building subtype, when registered.

Access

This extension is a paid tier, gated behind a personal API key. Every customer gets their own key: contact DALTCORE to request one. Send it as a header on every request.

X-API-Key: <your-key>

Without a valid key you get 401 invalid_api_key.

Errors

Status Error Meaning
401 invalid_api_key API key is missing, invalid or revoked.
404 not_found Address exists, but no energy label is registered for it.
429 rate_limited Monthly quota exceeded.

Every key has a monthly quota (1,000 requests by default, higher on request). The quota resets automatically at the start of each calendar month.

Data source

Built on official Dutch government data.

Addresses come from Kadaster BAG, area boundaries from the CBS Wijk- en Buurtkaart. Both are official open government datasets, kept in sync automatically.

9.6M Addresses covered

Every registered address in the Netherlands (Kadaster BAG).

Monthly BAG refresh

Address data refreshes automatically every month.

Yearly Wijk/buurt refresh

District and neighbourhood boundaries follow CBS's own yearly publication cycle.

Need more?

Questions, feedback or a use case that needs more?

Get in touch. We are curious what you build with it.

Location
Kampen, the Netherlands