NAV -image
bash php python javascript

Introduction

Welcome to the official Postcode Service API documentation!

The most up to date postcode service for the Netherlands and Belgium. Our clients have saved yearly over 1 million euro in RMA (Return Material Authorization).

Questions?

You can contact our experts via support@postcodeservice.com or call our office in Amsterdam +31 20 36 94 049.

Plugins & extensions

There is a ready-to-use Magento 2 extension on github: tig-nl/postcode-magento2. For installation support you can contact our experts support@postcodeservice.com or call our office in Amsterdam +31 20 36 94 049.

Authenticating requests

This API is authenticated by sending a X-Secure_Code header with the value "{your-token}".

And header X-Client_Id with {YOUR_CLIENT_ID}. You can retrieve your credentials by visiting our https://postcodeservice.com.

Try it yourself, right now!

You can use these test credentials. Keep in mind there is a daily maximum.

X-Client_Id1177
X-Secure_Code9SRLYBCALURPE2B
X-Domain (optional)https://postcodeservice.com/

Rate limited

If a response code 429 (429 Too Many Requests is visible in the browser) is returned, you have reached the maximum number of requests per second specified in your contract. The default is 10 requests/seconds. As soon as the number of requests falls below the maximum number again (standard <10 requests/s) you will receive the usual responses again. You can contact your account manager on telephone number +31 20 36 94 049 if you want to increase the number of requests.

Belgium API v2

find - Completes a street name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v2/find?street=Koningin+Maria" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v2/find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'street'=> 'Koningin Maria',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v2/find'
params = {
  'street': 'Koningin Maria',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v2/find"
);

let params = {
    "street": "Koningin Maria",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

{
    "0": {
        "label": "Koningin Maria Hendrikaplein - Gent",
        "type": "Street",
        "postcode": 9000,
        "city": "Gent",
        "street": "Koningin Maria Hendrikaplein"
    },
    "1": {
        "label": "Koningin Maria-Henriettelaan - Leopoldsburg",
        "type": "Street",
        "postcode": 3970,
        "city": "Leopoldsburg",
        "street": "Koningin Maria-Henriettelaan"
    }
}

Request

GET be/v2/find

Query Parameters

street  string
Part of a street name to complete, example: Koningin Maria.

postcode-find - Completes a zip code or city name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v2/postcode-find?zipcodezone=1040" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v2/postcode-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'zipcodezone'=> '1040',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v2/postcode-find'
params = {
  'zipcodezone': '1040',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v2/postcode-find"
);

let params = {
    "zipcodezone": "1040",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

[
    {
        "postcode": 1040,
        "plaats": "Brussel"
    },
    {
        "postcode": 1040,
        "plaats": "Etterbeek"
    }
]

Request

GET be/v2/postcode-find

Query Parameters

zipcodezone  string
Part of a zip code or city name to complete, example: 1040 or Brussel.

street-find - Completes the street name based on zip code and city name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v2/street-find?zipcode=1040&city=Brussel&street=Rue+de+la" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v2/street-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'zipcode'=> '1040',
            'city'=> 'Brussel',
            'street'=> 'Rue de la',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v2/street-find'
params = {
  'zipcode': '1040',
  'city': 'Brussel',
  'street': 'Rue de la',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v2/street-find"
);

let params = {
    "zipcode": "1040",
    "city": "Brussel",
    "street": "Rue de la",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):


[
  {
    "straat": "Rue de la Loi",
  },
  {
    "straat": "Rue de la Science",
  },
  {
    "straat": "Rue de la Verveine",
  }
]

Request

GET be/v2/street-find

Query Parameters

zipcode  string
a zip code, example: 1040.

city  string
a city name, example: Brussel.

street  string
a partial street name, example: Rue de la.

Belgium API v3

find - Completes a street name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/find?street=Koningin+Maria" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'street'=> 'Koningin Maria',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/find'
params = {
  'street': 'Koningin Maria',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/find"
);

let params = {
    "street": "Koningin Maria",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

{
    "0": {
        "city": "Gent",
        "label": "Koningin Maria Hendrikaplein - Gent (9000)",
        "street": "Koningin Maria Hendrikaplein",
        "streetid": 240150,
        "streetlang": "nl",
        "type": "Street",
        "zipcode": 9000
    },
    "1": {
        "city": "Vorst",
        "label": "Koningin Maria-Hendrikalaan - Vorst (1190)",
        "street": "Koningin Maria-Hendrikalaan",
        "streetid": 109902,
        "streetlang": "nl",
        "type": "Street",
        "zipcode": 1190
    },
    "2": {
        "city": "Leopoldsburg",
        "label": "Koningin Maria-Henriettelaan - Leopoldsburg (3970)",
        "street": "Koningin Maria-Henriettelaan",
        "streetid": 164381,
        "streetlang": "nl",
        "type": "Street",
        "zipcode": 3970
    }
}

Request

GET be/v3/find

Query Parameters

street  string
Part of a street name to complete, example: Koningin Maria.

postcode-find - Completes a zip code or city name (same as zipcode-find)

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/postcode-find?zipcodezone=1050&language=fr&multiresults=0" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/postcode-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'zipcodezone'=> '1050',
            'language'=> 'fr',
            'multiresults'=> '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/postcode-find'
params = {
  'zipcodezone': '1050',
  'language': 'fr',
  'multiresults': '0',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/postcode-find"
);

let params = {
    "zipcodezone": "1050",
    "language": "fr",
    "multiresults": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

[
    {
        "zipcode": 1050,
        "city": "Bruxelles"
    },
    {
        "zipcode": 1050,
        "city": "Ixelles"
    },
    {
        "zipcode": 1050,
        "city": "Saint-Gilles"
    }
]

Example response (200, multiresults=1):

[
    {
        "city": "Brussel",
        "zipcode": 1050
    },
    {
        "city": "Elsene",
        "zipcode": 1050
    },
    {
        "city": "Sint-Gillis",
        "zipcode": 1050
    },
    {
        "city": "Bruxelles",
        "zipcode": 1050
    },
    {
        "city": "Ixelles",
        "zipcode": 1050
    },
    {
        "city": "Saint-Gillis",
        "zipcode": 1050
    }
]

Request

GET be/v3/postcode-find

Query Parameters

zipcodezone  string
Part of a zip code or city name to complete, example: 1050 or Brussel.

language  string optional
Can contain the preferred language you want the results in for municipalities with language facilities, example: fr.

multiresults  string optional
Allow multiple results for municipalities with language facilities, works for zip codes, by default off, example: 0.

zipcode-find - Completes a zip code or city name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/zipcode-find?zipcodezone=1050&language=fr&multiresults=0" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/zipcode-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'zipcodezone'=> '1050',
            'language'=> 'fr',
            'multiresults'=> '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/zipcode-find'
params = {
  'zipcodezone': '1050',
  'language': 'fr',
  'multiresults': '0',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/zipcode-find"
);

let params = {
    "zipcodezone": "1050",
    "language": "fr",
    "multiresults": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

[
    {
        "zipcode": 1050,
        "city": "Bruxelles"
    },
    {
        "zipcode": 1050,
        "city": "Ixelles"
    }
]

Example response (200, multiresults=1):

[
    {
        "city": "Brussel",
        "zipcode": 1050
    },
    {
        "city": "Elsene",
        "zipcode": 1050
    },
    {
        "city": "Bruxelles",
        "zipcode": 1050
    },
    {
        "city": "Ixelles",
        "zipcode": 1050
    }
]

Request

GET be/v3/zipcode-find

Query Parameters

zipcodezone  string
Part of a zip code or city name to complete, example: 1050 or Brussel.

language  string optional
Can contain the preferred language you want the results in for municipalities with language facilities, example: fr.

multiresults  string optional
Allow multiple results for municipalities with language facilities, works for zip codes, by default off, example: 0.

street-find - Completes the street name based on zip code and city name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/street-find?zipcode=1040&city=Brussel&street=Rue+de+C" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/street-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'zipcode'=> '1040',
            'city'=> 'Brussel',
            'street'=> 'Rue de C',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/street-find'
params = {
  'zipcode': '1040',
  'city': 'Brussel',
  'street': 'Rue de C',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/street-find"
);

let params = {
    "zipcode": "1040",
    "city": "Brussel",
    "street": "Rue de C",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

[
    {
        "street": "Rue de Chambéry",
        "streetid": 102986,
        "streetlang": "fr"
    },
    {
        "street": "Rue de Comines",
        "streetid": 102703,
        "streetlang": "fr"
    }
]

Request

GET be/v3/street-find

Query Parameters

zipcode  string
a zip code, example: 1040.

city  string
a city name, example: Brussel.

street  string
a partial street name, example: Rue de C.

houseno-find - Find house numbers and addons for a given street name

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/houseno-find?streetid=240723&zipcode=9000&city=Gent&street=Vliegtuiglaan" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/houseno-find',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'streetid'=> '240723',
            'zipcode'=> '9000',
            'city'=> 'Gent',
            'street'=> 'Vliegtuiglaan',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/houseno-find'
params = {
  'streetid': '240723',
  'zipcode': '9000',
  'city': 'Gent',
  'street': 'Vliegtuiglaan',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/houseno-find"
);

let params = {
    "streetid": "240723",
    "zipcode": "9000",
    "city": "Gent",
    "street": "Vliegtuiglaan",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):


{
     "1": {
         "zipcode": 9000,
         "city": "Gent",
         "street": "Vliegtuiglaan",
         "houseno": "5",
         "addon": "",
         "box": "",
         "streetlang": "nl"
     },
     "2": {
         "zipcode": 9000,
         "city": "Gent",
         "street": "Vliegtuiglaan",
         "houseno": "5",
         "addon": "A",
         "box": "",
         "streetlang": "nl"
     },
     ...
 }

Request

GET be/v3/houseno-find

Query Parameters

streetid  string optional
Can be retrieved with 'street-find' call, example: 240723.

zipcode  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: 9000.

city  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: Gent.

street  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: Vliegtuiglaan.

houseno-match - Exactly match a house number

requires authentication

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/be/v3/houseno-match?streetid=252175&zipcode=9700&city=Oudenaarde&street=Aalststraat&houseno=2&addon=A&strict=0&only_status=0" \
    -H "X-Secure_Code: 9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/be/v3/houseno-match',
    [
        'headers' => [
            'X-Secure_Code' => '9SRLYBCALURPE2B',
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'streetid'=> '252175',
            'zipcode'=> '9700',
            'city'=> 'Oudenaarde',
            'street'=> 'Aalststraat',
            'houseno'=> '2',
            'addon'=> 'A',
            'strict'=> '0',
            'only_status'=> '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/be/v3/houseno-match'
params = {
  'streetid': '252175',
  'zipcode': '9700',
  'city': 'Oudenaarde',
  'street': 'Aalststraat',
  'houseno': '2',
  'addon': 'A',
  'strict': '0',
  'only_status': '0',
}
headers = {
  'X-Secure_Code': '9SRLYBCALURPE2B',
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/be/v3/houseno-match"
);

let params = {
    "streetid": "252175",
    "zipcode": "9700",
    "city": "Oudenaarde",
    "street": "Aalststraat",
    "houseno": "2",
    "addon": "A",
    "strict": "0",
    "only_status": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Secure_Code": "9SRLYBCALURPE2B",
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200, houseno=2, addon=A, strict=0):

{
    "0": {
        "street": "Aalststraat",
        "city": "Oudenaarde",
        "zipcode": 9700,
        "houseno": "2",
        "addon": "A",
        "box": "",
        "streetlang": "nl"
    }
}

Example response (200, houseno=2, addon=, strict=0):


{
    "0": {
        "street": "Aalststraat",
        "city": "Oudenaarde",
        "zipcode": 9700,
        "houseno": "2",
        "addon": "A",
        "box": "",
        "streetlang": "nl"
    },
    "2": {
        "street": "Aalststraat",
        "city": "Oudenaarde",
        "zipcode": 9700,
        "houseno": "2",
        "addon": "B",
        "box": "",
        "streetlang": "nl"
    },
    "3": {
        "street": "Aalststraat",
        "city": "Oudenaarde",
        "zipcode": 9700,
        "houseno": "2",
        "addon": "C",
        "box": "",
        "streetlang": "nl"
    },
}

Example response (200, houseno=2, addon=, strict=1, no match):

{}

Example response (204, houseno=2, addon=, strict=0, only_status=1, matched):

<Empty response>

Example response (418, houseno=2, addon=, strict=1, only_status=1, no match):


{
 <Empty response>
}

Request

GET be/v3/houseno-match

Query Parameters

streetid  string optional
Can be retrieved with 'street-find' call, example: 252175.

zipcode  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: 9700.

city  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: Oudenaarde.

street  string optional
Either use streetid parameter, or the combination zipcode, city, street, example: Aalststraat.

houseno  string
The house number, example: 2.

addon  string optional
The addon, example: A.

strict  string optional
Default this is turned off and it returns results when houseno is found. When activated it only returns results when houseno + addon combination is met, example 0.

only_status  string optional
Default this is turned off. When active returns no content body only HTTP STATUS 204 when matched, example: 0.

Netherlands API v3

getAddress - Completes a street name

Example request:

curl -X GET \
    -G "https://api.postcodeservice.com/nl/v3/json/getAddress/index.php?postcode=1014BA&huisnummer=37&client_id=1177&secure_code=9SRLYBCALURPE2B" \
    -H "X-Client_Id: 1177" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.postcodeservice.com/nl/v3/json/getAddress/index.php',
    [
        'headers' => [
            'X-Client_Id' => '1177',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'postcode'=> '1014BA',
            'huisnummer'=> '37',
            'client_id'=> '1177',
            'secure_code'=> '9SRLYBCALURPE2B',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://api.postcodeservice.com/nl/v3/json/getAddress/index.php'
params = {
  'postcode': '1014BA',
  'huisnummer': '37',
  'client_id': '1177',
  'secure_code': '9SRLYBCALURPE2B',
}
headers = {
  'X-Client_Id': '1177',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
const url = new URL(
    "https://api.postcodeservice.com/nl/v3/json/getAddress/index.php"
);

let params = {
    "postcode": "1014BA",
    "huisnummer": "37",
    "client_id": "1177",
    "secure_code": "9SRLYBCALURPE2B",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "X-Client_Id": "1177",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

Example response (200):

{
    "success": true,
    "straatnaam": "Kabelweg",
    "woonplaats": "Amsterdam"
}

Example response (200, Not found, no match):

{
    "success": false,
    "error": "Postcode niet gevonden"
}

Request

GET nl/v3/json/getAddress/index.php

Query Parameters

postcode  string
a valid Dutch zip code, example: 1014BA.

huisnummer  string
a house number, example: 37.

client_id  string
your {YOUR_CLIENT_ID}.

secure_code  string
your secure code {YOUR_AUTH_KEY}.