Postcodes.nu API
Met behulp van deze documentatie kan de API geïmplementeerd worden in uw applicatie. Daarnaast hebben wij ook een PHP library geschreven de implementatie van onze API nog makklijker te maken, wel zo handig.
Authenticatie
De postcodes.nu API maakt gebruik van authenticatie met behulp van een token. Voordat er gebruik gemaakt kan worden van de API, moet dus dit token opgehaald worden.
Login
Login en genereer token.
Voorbeeld request:
curl -X POST "https://postcodes.nu/api/auth/login" \
-H "Accept: application/json" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Content-Type: application/json" \
-d '{"email":"test@kees.com","password":"P@$$w0rd"}'
const url = new URL("https://postcodes.nu/api/auth/login");
let headers = {
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json",
}
let body = {
"email": "test@kees.com",
"password": "P@$$w0rd"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
Voorbeeld response (200):
{
"access_token": "{token}",
"token_type": "Bearer",
"expires_at": "{date}"
}
HTTP Request
POST api/auth/login
Body Parameters
Parameter | Type | Status | Description |
---|---|---|---|
required | Email adres. | ||
password | string | required | Wachtwoord. |
Versie 1
API's voor het ophalen van gegevens
Basic postcode check
Deze functie kijkt of een postcode bestaat. Daarnaast kijkt deze functie ook of de postcode een geldig formaat heeft.
Voorbeeld request:
curl -X GET -G "https://postcodes.nu/api/v1/postcode/exists/{postcode}" \
-H "Accept: application/json" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-H "abonnement-id: {abonnement-id}"
const url = new URL("https://postcodes.nu/api/v1/postcode/exists/{postcode}");
let params = {
"token": "M6H7wXAwgEFywTqc",
"abonnement-id": "DfaCBLB6lngyx5Ma",
"postcode": "4rJa8xevD1jov3J7",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json",
"Authorization": "Bearer {token}",
"abonnement-id": "{abonnement-id}",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Voorbeeld response (200):
{
"exists": true,
"valid_format": true
}
HTTP Request
GET api/v1/postcode/exists/{postcode}
Query Parameters
Parameter | Status | Description |
---|---|---|
token | required | Bearer token. |
abonnement-id | required | Abonnement ID. |
postcode | required | De postcode. |
Letters bij postcode
Deze functie geeft alle letters terug die horen bij de getallen van een postcode.
Voorbeeld request:
curl -X GET -G "https://postcodes.nu/api/v1/postcode/{postcode}/letters" \
-H "Accept: application/json" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-H "abonnement-id: {abonnement-id}"
const url = new URL("https://postcodes.nu/api/v1/postcode/{postcode}/letters");
let params = {
"token": "jKAc4Qf7wrU7docw",
"abonnement-id": "cic7Zi88wm80qMOs",
"postcode": "nVY1tWpCtAy2bf4s",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json",
"Authorization": "Bearer {token}",
"abonnement-id": "{abonnement-id}",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Voorbeeld response (200):
{
"results": [
"9999AA",
"9999XB",
"9999XE",
"9999XG",
"9999XH",
"9999XJ",
"9999XK",
"9999XL",
"9999XX",
"9999ZZ"
],
"valid_format": true
}
HTTP Request
GET api/v1/postcode/{postcode}/letters
Query Parameters
Parameter | Status | Description |
---|---|---|
token | required | Bearer token. |
abonnement-id | required | Abonnement ID. |
postcode | required | De getallen van de postcode. |
Huisnummers bij postcode
Deze functie geeft alle huisnummers terug die horen bij de opgegeven postcode. Daarnaast worden ook de huisnummer toevoegingen mee terug gestuurd.
Voorbeeld request:
curl -X GET -G "https://postcodes.nu/api/v1/postcode/{postcode}/huisnummers" \
-H "Accept: application/json" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-H "abonnement-id: {abonnement-id}"
const url = new URL("https://postcodes.nu/api/v1/postcode/{postcode}/huisnummers");
let params = {
"token": "VfgkTq8Cgf90PyL9",
"abonnement-id": "8Ntt5H9HXw7b5NCJ",
"postcode": "k4F6VhQy3S7md3Lu",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json",
"Authorization": "Bearer {token}",
"abonnement-id": "{abonnement-id}",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Voorbeeld response (200):
{
"results": [
{
"identificatie": "0847200000376896",
"huisnummer": "998",
"huisnummer_toevoeging": "1",
"huisletter": "T"
},
{
"identificatie": "0847200000376897",
"huisnummer": "998",
"huisnummer_toevoeging": "2l",
"huisletter": "T"
},
{
"identificatie": "0847200000376898",
"huisnummer": "998",
"huisnummer_toevoeging": "3",
"huisletter": "T"
},
{
"identificatie": "0847200000376899",
"huisnummer": "998",
"huisnummer_toevoeging": "4",
"huisletter": "T"
}
]
}
HTTP Request
GET api/v1/postcode/{postcode}/huisnummers
Query Parameters
Parameter | Status | Description |
---|---|---|
token | required | Bearer token. |
abonnement-id | required | Abonnement ID. |
postcode | required | De postcode. |
Huis selecteren
Deze functie geeft alle informatie terug die hoort bij de opgegeven postcode + huisnummer combinatie. Bij het gebruik van deze API call zijn er vier opties mogelijk: alleen een huisnummer, een huisnummer met huisnummer toevoeging, een huisnummer met huisnummer toevoeging en huisletter, een huisnummer met huisletter.
Voorbeeld request:
curl -X GET -G "https://postcodes.nu/api/v1/postcode/{postcode}/{huisnummer}/{huisnummer_toevoeging}/{huisletter}" \
-H "Accept: application/json" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-H "abonnement-id: {abonnement-id}"
const url = new URL("https://postcodes.nu/api/v1/postcode/{postcode}/{huisnummer}/{huisnummer_toevoeging}/{huisletter}");
let params = {
"token": "{BMEVcpiaF5sunjjq}",
"abonnement-id": "JOXcyoNvQSUw89xF",
"postcode": "vyEx4czHhpHhoOuL",
"huisnummer": "9ruNeegM3tLKXiSg",
"huisnummer_toevoeging": "QAT8C0pHizeKRbRB",
"huisletter": "TWWb7v5tzuJBSMud",
};
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
let headers = {
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json",
"Authorization": "Bearer {token}",
"abonnement-id": "{abonnement-id}",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Voorbeeld response (200):
{
"result": {
"identificatie": "0847200000376896",
"postcode": "9999AA",
"huisnummer": "998",
"huisnummer_toevoeging": "1",
"huisletter": "T",
"straat": "Bosrandweg",
"straat_nen5825": "",
"plaats": "Someren",
"provincie": "Groningen",
"gebruiksdoelVerblijfsobject": "overige gebruiksfunctie",
"oppervlakteVerblijfsobject": "20"
},
"hasResult": true
}
HTTP Request
GET api/v1/postcode/{postcode}/{huisnummer}
GET api/v1/postcode/{postcode}/{huisnummer}/{huisnummer_toevoeging}
GET api/v1/postcode/{postcode}/{huisnummer}/{huisnummer_toevoeging}/{huisletter}
GET api/v1/postcode/{postcode}/{huisnummer}//{huisletter}
Query Parameters
Parameter | Status | Description |
---|---|---|
token | required | Bearer token. |
abonnement-id | required | Abonnement ID. |
postcode | required | De postcode. |
huisnummer | required | Het huisnummer. |
huisnummer_toevoeging | optional | De huisnummertoevoeging. |
huisletter | optional | De huisletter. |
Libraries
Errors
De Postcode.nu API maakt gebruik van de volgende error codes:
Status Errors
Error Code | Betekenis |
---|---|
401 | Unauthorized -- De meegestuurde token is ongeldig. |
422 | Unprocessable Entity -- De request is goed, maar inhoudelijk zijn er fouten (meegestuurde variabelen). |
Response Errors
Error Code | Betekenis |
---|---|
"valid_format": false | Het formaat van meegestuurde query parameters is incorrect. |
"hasResult": false | De uitgevoerde call heeft geen resultaten opgeleverd. |