Postcode API (2.1.1)

Download OpenAPI specification:Download

De Postcode API gebruikt Open Data van Kadaster's BAG en Open Data van het CBS. Alle mogelijke API calls zijn beschreven in deze specificatie. Voor support en suggesties voor verbeteringen of feature requests verwijzen we je naar de issues sectie onze Open Source Github repository: https://github.com/postcodeapi/postcodeapi.

Parameters

Alle parameters die hier beschreven staan zijn query parameters en dienen als zodanig met de URL meegestuurd te worden, bijvoorbeeld:

https://api.postcodeapi.nu/v2/addresses/?postcode=1234AB&number=1

Hypermedia

Alle responses van deze API bevatten HAL hypermedia links om door de data te kunnen navigeren. Deze navigatie vind je in de _links objecten.

Authenticatie

De gehele API is beveiligd met een Api Key. Deze key heb je gekregen tijdens de registratieprocedure. Wij gebruiken deze vorm van authenticatie om het gebruik van deze dienst te kunnen monitoren en contact op te kunnen nemen met de afnemer mocht er (onbewust) misbruik van de dienst gemaakt worden.

Het meesturen van de Api Key gebeurt met de zogenaamde X-Api-Key request header. Als je API Key bijvoorbeeld a0B1c2D34D5c6b7a8 is, dan stuur je dit mee in de header: X-Api-Key: a0B1c2D34D5c6b7a8.

Een request kan als volgt gemaakt worden met CURL:

curl -H "X-Api-Key: a0B1c2D34D5c6b7a8" "https://api.postcodeapi.nu/v2/addresses/?postcode=1234AB"

Een ander voorbeeld met PHP:

// De headers worden altijd meegestuurd als array
$headers = array();
$headers[] = 'X-Api-Key: a0B1c2D34D5c6b7a8';

// De URL naar de API call
$url = 'https://api.postcodeapi.nu/v2/addresses/?postcode=1234AB';

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

// Indien de server geen TLS ondersteunt kun je met 
// onderstaande optie een onveilige verbinding forceren.
// Meestal is dit probleem te herkennen aan een lege response.
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

// De ruwe JSON response
$response = curl_exec($curl);

// Gebruik json_decode() om de response naar een PHP array te converteren
$data = json_decode($response);

curl_close($curl);

adressen

Adressen calls

Alle adressen

Alle adressen in Nederland, gepagineerd per 20 records.

Authorizations:
apiKey
query Parameters
postcode
string
Example: postcode=6545CA

Filteren op postcode in P6 formaat

number
integer
Example: number=29

Filteren op huisnummer (werkt alleen in combinatie met postcode)

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
}

Enkel adres

Informatie over een enkel adres.

Authorizations:
apiKey
path Parameters
id
required
string
Example: 0268200000075156

Identifier van het adres, gelijk aan die van de overheidstandaard BAG

Responses

Response samples

Content type
application/hal+json
{
  • "id": "0268200000075156",
  • "street": "Binderskampweg",
  • "number": 29,
  • "letter": "U",
  • "addition": "31",
  • "postcode": "6545CA",
  • "surface": 144,
  • "nen5825": {
    },
  • "city": {
    },
  • "municipality": {
    },
  • "province": {
    },
  • "geo": {
    },
  • "type": "Verblijfsobject",
  • "purpose": "woonfunctie",
  • "year": 1987,
}

postcodes

Postcodes calls

Alle postcodes

Alle postcodes in Nederland, gepagineerd per 20 records.

Authorizations:
apiKey
query Parameters
postcodeArea
string
Example: postcodeArea=6545

Filteren op postcodegebied in P4 formaat (alleen de cijfers van een postcode)

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
}

Enkele postcode

Informatie over een enkele postcode.

Authorizations:
apiKey
path Parameters
postcode
required
string
Example: 6545CA

De postcode in P6 formaat

Responses

Response samples

Content type
application/hal+json
{
  • "postcode": "6545CA",
  • "city": {
    },
  • "municipality": {
    },
  • "province": {
    },
  • "streets": "[\"Binderskampweg\", \"Kronenburgersingel\"]",
  • "nen5825": {
    },
  • "geo": {
    },
  • "_links": {}
}