Purpose API
With the Postcode Service API you can auto complete a partly given address and check its validity.
Since 2009, our API offers vendor-agnostic solutions that help clients save millions by ensuring that their packages are delivered to the correct addresses, preventing fraudulent deliveries, and calculating driver routes based on precise addresses. Additionally, our API can streamline address form filling on various websites, making the process faster and more accurate. We take pride in our commitment to delivering high-quality API services that provide the freedom and flexibility our clients need to succeed.
Questions and support
You can contact our experts via support@postcodeservice.com or call our office in Amsterdam +31 20 218 1024.
Adobe Magento Extension
We're pleased to offer an out-of-the-box solution for Adobe Magento 2 users: the Postcode Service Magento 2 extension. With this extension, you can easily and accurately verify addresses at checkout, saving you time and reducing the risk of costly delivery errors. This extension is available for download from our GitHub repository at https://github.com/postcodeservice/postcode-magento2. Our team of experts in Amsterdam develop, support, and maintain this extension to provide seamless integration with the Postcode Service API. We're committed to providing our clients with the best possible service, and this extension is just one example of that.
Authenticating requests
Our API uses authenticated requests. In order to make an authenticated request, add the follow headers along with your API call:
-
One header should contain
X-ClientId
with the value{YOUR_CLIENT_ID}
. - The second header should contain
X-SecureCode
with the value{YOUR_SECURE_CODE}
. - For optimal performance, we recommend adding the
X-Domain
header with the value{YOUR_DOMAIN_URL}
to your API requests. This header helps distribute your requests evenly across our load balancers, which can improve response times and enhance overall API performance. Although this header is optional, we highly recommend using it to ensure the best possible user experience.
You can replace {YOUR_CLIENT_ID}
and
{YOUR_SECURE_CODE}
with the credentials in the table below for testing.
Go to postcodeservice.com to get a paid account for continues access.
Test credentials
You can use the following test credentials and try it yourself, right now! Keep in mind there is a daily maximum.
X-ClientId | 1177 |
X-SecureCode | 9SRLYBCALURPE2B |
X-Domain (optional) | examplewebsite.eu |
Rate limited
If you receive a response code of 429 (429 Too Many Requests) in your browser, it means that you have exceeded the maximum number of requests per second specified in your contract. By default, the maximum number of requests allowed is 10 requests per second. Once your requests fall below this limit, you will receive the usual API responses again.
If you require a higher rate limit than the default, please contact your account manager at +31 20 218 1024. They will be able to assist you in increasing your rate limit to meet your needs.
🇳🇱 Netherlands API
🇳🇱 find - Get address for specified zipcode and house number
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v5/find?zipcode=1014BA&houseno=37" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v5/find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
'houseno'=> '37',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v5/find'
params = {
'zipcode': '1014BA',
'houseno': '37',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v5/find"
);
const params = {
"zipcode": "1014BA",
"houseno": "37",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"street": "Kabelweg",
"city": "Amsterdam",
"region": "Noord-Holland",
"residential": "no",
"latitude": 52.39267104872,
"longitude": 4.8465930696013
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode not found"
}
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
city
string
Returns a string or null when unknown
region
string
Returns a string or null when unknown
residential
string
Returns "yes", "no" or "unknown". Says whether the address is residential or not.
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇳🇱 getAddress - Get address for specified zipcode and house number
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v5/getAddress?zipcode=1014BA&houseno=37" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v5/getAddress',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
'houseno'=> '37',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v5/getAddress'
params = {
'zipcode': '1014BA',
'houseno': '37',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v5/getAddress"
);
const params = {
"zipcode": "1014BA",
"houseno": "37",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"street": "Kabelweg",
"city": "Amsterdam",
"region": "Noord-Holland",
"residential": "no",
"latitude": 52.39267104872,
"longitude": 4.8465930696013
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode not found"
}
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
city
string
Returns a string or null when unknown
region
string
Returns a string or null when unknown
residential
string
Returns "yes", "no" or "unknown". Says whether the address is residential or not.
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇳🇱 zipcode-location - Get location information for specified zipcode
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v5/zipcode-location?zipcode=1014BA" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v5/zipcode-location',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v5/zipcode-location'
params = {
'zipcode': '1014BA',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v5/zipcode-location"
);
const params = {
"zipcode": "1014BA",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"latitude": 52.395421328766,
"longitude": 4.8463096822221
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode not found"
}
Received response:
Request failed with error:
Response
Response Fields
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇳🇱 getPostcode - Get location information for specified zipcode
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v5/getPostcode?zipcode=1014BA" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v5/getPostcode',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v5/getPostcode'
params = {
'zipcode': '1014BA',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v5/getPostcode"
);
const params = {
"zipcode": "1014BA",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"latitude": 52.395421328766,
"longitude": 4.8463096822221
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode not found"
}
Received response:
Request failed with error:
Response
Response Fields
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇧🇪 Belgium API
🇧🇪 find - Completes a street name
requires authentication
This endpoint expects a part of a street name and will return a list of all street names which start with the given string.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/find?street=Koningin+Maria" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"street": "Koningin Maria",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"0": {
"city": "Gent",
"label": "Koningin Maria Hendrikaplein - Gent (9000)",
"street": "Koningin Maria Hendrikaplein",
"streetid": "900032325761763596",
"streetlang": "nl",
"type": "Street",
"zipcode": 9000
},
"1": {
"city": "Vorst",
"label": "Koningin Maria-Hendrikalaan - Vorst (1190)",
"street": "Koningin Maria-Hendrikalaan",
"streetid": "119056521757555936",
"streetlang": "nl",
"type": "Street",
"zipcode": 1190
},
"2": {
"city": "Leopoldsburg",
"label": "Koningin Maria-Henriettelaan - Leopoldsburg (3970)",
"street": "Koningin Maria-Henriettelaan",
"streetid": "397025451615544216",
"streetlang": "nl",
"type": "Street",
"zipcode": 3970
}
}
Received response:
Request failed with error:
Response
Response Fields
city
string
Returns a string or null when unknown
label
string
Returns a string or null when unknown. Format: street - city (zipcode)
street
string
Returns a string or null when unknown
streetid
string
Returns a unique street id. This is returned as a string instead of a number since JavaScript may encounter issues when handling excessively large numbers
streetlang
string
Returns "fr" or "nl" or null when unknown
type
string
Returns "Street" or null when unknown
zipcode
number
Returns a number or null when unknown
🇧🇪 zipcode-find - Completes a zipcode or city name
requires authentication
This endpoint expects a part of zipcode or city name and will return a list of matches. There are optional settings to get city names in specific or multiple languages.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/zipcode-find?zipcodezone=1050&language=fr&multiresults=0" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/zipcode-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcodezone": "1050",
"language": "fr",
"multiresults": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"zipcode": 1050,
"city": "Bruxelles",
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"zipcode": 1050,
"city": "Ixelles",
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"zipcode": 1050,
"city": "Saint-Gilles",
"latitude": 50.8222854,
"longitude": 4.3815707
}
]
Example response (200, multiresults=1):
[
{
"city": "Brussel",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Elsene",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Sint-Gillis",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Bruxelles",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Ixelles",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Saint-Gillis",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
}
]
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
Returns a number or null when unknown
city
string
Returns a string or null when unknown
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇧🇪 postcode-find - Completes a zipcode or city name (same as zipcode-find)
requires authentication
This endpoint expects a part of zipcode or city name and will return a list of matches. There are optional settings to get city names in specific or multiple language facilities.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/postcode-find?zipcodezone=1050&language=fr&multiresults=0" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/postcode-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcodezone": "1050",
"language": "fr",
"multiresults": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"zipcode": 1050,
"city": "Bruxelles",
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"zipcode": 1050,
"city": "Ixelles",
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"zipcode": 1050,
"city": "Saint-Gilles",
"latitude": 50.8222854,
"longitude": 4.3815707
}
]
Example response (200, multiresults=1):
[
{
"city": "Brussel",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Elsene",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Sint-Gillis",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Bruxelles",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Ixelles",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
},
{
"city": "Saint-Gillis",
"zipcode": 1050,
"latitude": 50.8222854,
"longitude": 4.3815707
}
]
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
Returns a number or null when unknown
city
string
Returns a string or null when unknown
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
🇧🇪 street-find - Completes the street name based on zipcode and city name
requires authentication
This endpoint expects a correct zipcode and city name and a part of a street name. It will return matches street names.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/street-find?zipcode=1040&city=Brussel&street=Rue+de+C" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/street-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcode": "1040",
"city": "Brussel",
"street": "Rue de C",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"street": "Rue de Chambéry",
"streetid": "104077915151295985",
"streetlang": "fr"
},
{
"street": "Rue de Comines",
"streetid": "104037492375926662",
"streetlang": "fr"
}
]
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
streetid
string
Returns a unique street id. This is returned as a string instead of a number since JavaScript may encounter issues when handling excessively large numbers
streetlang
string
Returns "fr" or "nl" or null when unknown
🇧🇪 houseno-find - Find house numbers and addons for a given street name
requires authentication
This endpoint expects a zipcode, city name and street name and will return all house numbers and addons for the street.
Alternatively you can use the streetid: This endpoint expects a streetid and will return all the house numbers and addons for the street.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/houseno-find?zipcode=9000&city=Gent&street=Vliegtuiglaan&streetid=900093267659932423" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/houseno-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '9000',
'city'=> 'Gent',
'street'=> 'Vliegtuiglaan',
'streetid'=> '900093267659932423',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/be/v3/houseno-find'
params = {
'zipcode': '9000',
'city': 'Gent',
'street': 'Vliegtuiglaan',
'streetid': '900093267659932423',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcode": "9000",
"city": "Gent",
"street": "Vliegtuiglaan",
"streetid": "900093267659932423",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"1": {
"zipcode": 9000,
"city": "Gent",
"street": "Vliegtuiglaan",
"houseno": "5",
"addon": "",
"box": "",
"latitude": 51.0762139660024,
"longitude": 3.743976319518731,
"streetlang": "nl"
},
"2": {
"zipcode": 9000,
"city": "Gent",
"street": "Vliegtuiglaan",
"houseno": "5",
"addon": "A",
"box": "",
"latitude": 51.076442728654754,
"longitude": 3.743193577395459,
"streetlang": "nl"
},
...
}
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
Returns a number or null when unknown
city
string
Returns a string or null when unknown
street
string
Returns a string or null when unknown
houseno
string
Returns a string or null when unknown
addon
string
Returns a string or null when unknown
box
string
Returns a string or null when unknown
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
streetlang
string
Returns "fr" or "nl" or null when unknown
🇧🇪 houseno-match - Exactly match a house number
requires authentication
This endpoint expects a zipcode, city name and street name, house number and will return if the house number exists.
Alternatively you can use the streetid: This endpoint expects a streetid and house number and will return if the house number exists.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v3/houseno-match?zipcode=9700&city=Oudenaarde&street=Aalststraat&streetid=970098157329689625&houseno=2&addon=A&strict=0&only_status=0" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v3/houseno-match',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '9700',
'city'=> 'Oudenaarde',
'street'=> 'Aalststraat',
'streetid'=> '970098157329689625',
'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 = {
'zipcode': '9700',
'city': 'Oudenaarde',
'street': 'Aalststraat',
'streetid': '970098157329689625',
'houseno': '2',
'addon': 'A',
'strict': '0',
'only_status': '0',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcode": "9700",
"city": "Oudenaarde",
"street": "Aalststraat",
"streetid": "970098157329689625",
"houseno": "2",
"addon": "A",
"strict": "0",
"only_status": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200, houseno=2, addon=A, strict=0):
{
"0": {
"street": "Aalststraat",
"city": "Oudenaarde",
"zipcode": 9700,
"houseno": "2",
"addon": "A",
"box": "",
"latitude": 50.836103462329454,
"longitude": 3.609555401482935,
"streetlang": "nl"
}
}
Example response (200, houseno=2, addon=, strict=0):
{
"0": {
"street": "Aalststraat",
"city": "Oudenaarde",
"zipcode": 9700,
"houseno": "2",
"addon": "A",
"box": "",
"latitude": 50.836103462329454,
"longitude": 3.609555401482935,
"streetlang": "nl"
},
"2": {
"street": "Aalststraat",
"city": "Oudenaarde",
"zipcode": 9700,
"houseno": "2",
"addon": "B",
"box": "",
"latitude": 50.83624399941114,
"longitude": 3.609739681774569,
"streetlang": "nl"
},
"3": {
"street": "Aalststraat",
"city": "Oudenaarde",
"zipcode": 9700,
"houseno": "2",
"addon": "C",
"box": "",
"latitude": 50.83639258854224,
"longitude": 3.6098762734984335,
"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=F, strict=1, only_status=1, no match):
{
<Empty response>
}
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
city
string
Returns a string or null when unknown
zipcode
number
Returns a number or null when unknown
houseno
string
Returns a string or null when unknown
addon
string
Returns a string or null when unknown
box
string
Returns a string or null when unknown
latitude
number
Returns a float or null when unknown
longitude
number
Returns a float or null when unknown
streetlang
string
Returns "fr" or "nl" or null when unknown
🇩🇪 Germany API
Version 1 of the Germany zipcode validation.
🇩🇪 find - Completes a street name
requires authentication
This endpoint expects a part of a street name and will return a list of all street names which start with the given string.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/find?street=Marbacher" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'street'=> 'Marbacher',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/de/v1/find'
params = {
'street': 'Marbacher',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/find"
);
const params = {
"street": "Marbacher",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"label": "Marbacher Berg - Amt Wachsenburg (99334)",
"type": "Street",
"zipcode": 99334,
"city": "Amt Wachsenburg",
"street": "Marbacher Berg",
"streetlang": "de",
"streetid": "99334223165557618"
},
{
"label": "Marbacher Chaussee - Erfurt (99092)",
"type": "Street",
"zipcode": 99092,
"city": "Erfurt",
"street": "Marbacher Chaussee",
"streetlang": "de",
"streetid": "99092851179734442"
},
...
]
Received response:
Request failed with error:
Response
Response Fields
city
string
Returns a string or null when unknown
label
string
Returns a string or null when unknown. Format: street - city (zipcode)
street
string
Returns a string or null when unknown
streetid
string
Returns a string or null when unknown. This is returned as a string instead of a number since JavaScript may encounter issues when handling excessively large numbers
streetlang
string
Returns "de" or null when unknown
type
string
Returns "Street" or null when unknown
zipcode
number
Returns a number or null when unknown
🇩🇪 zipcode-find - Completes a zipcode or city name
requires authentication
This endpoint expects a part of zipcode or city name and will return a list of matches. There are optional settings to get city names in specific or multiple language facilities.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/zipcode-find?zipcodezone=4072" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/zipcode-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcodezone'=> '4072',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/de/v1/zipcode-find'
params = {
'zipcodezone': '4072',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/zipcode-find"
);
const params = {
"zipcodezone": "4072",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"zipcode": 40721,
"city": "Hilden"
},
{
"zipcode": 40723,
"city": "Hilden"
},
{
"zipcode": 40724,
"city": "Hilden"
}
]
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
city
string
🇩🇪 postcode-find - Completes a zipcode or city name (same as zipcode-find)
requires authentication
This endpoint expects a part of zipcode or city name and will return a list of matches. There are optional settings to get city names in specific or multiple language facilities.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/postcode-find?zipcodezone=4072" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/postcode-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcodezone'=> '4072',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/de/v1/postcode-find'
params = {
'zipcodezone': '4072',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/postcode-find"
);
const params = {
"zipcodezone": "4072",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"zipcode": 40721,
"city": "Hilden"
},
{
"zipcode": 40723,
"city": "Hilden"
},
{
"zipcode": 40724,
"city": "Hilden"
}
]
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
city
string
🇩🇪 street-find - Completes the street name based on zipcode and city name
requires authentication
This endpoint needs a correct zipcode, city name and part of a street name. It will return all found matches.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/street-find?zipcode=40724&city=Hilden&street=Ka" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/street-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '40724',
'city'=> 'Hilden',
'street'=> 'Ka',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/de/v1/street-find'
params = {
'zipcode': '40724',
'city': 'Hilden',
'street': 'Ka',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/street-find"
);
const params = {
"zipcode": "40724",
"city": "Hilden",
"street": "Ka",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"street": "Kalstert",
"streetid": "40724726694684798",
"streetlang": "de"
},
{
"street": "Karlrobert-Kreiten-Straße",
"streetid": "40724898792732339",
"streetlang": "de"
},
{
"street": "Käthe-Kollwitz-Weg",
"streetid": "40724978289215297",
"streetlang": "de"
}
]
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
streetid
string
Returns a string or null when unknown. This is returned as a string instead of a number since JavaScript may encounter issues when handling excessively large numbers
streetlang
string
Returns "de" or null when unknown
🇩🇪 houseno-find - Find house numbers and addons for a given street name
requires authentication
This endpoint expects a zipcode, city name and street name and will return all house numbers and addons for the street.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/houseno-find?zipcode=40724&city=Hilden&street=Kalstert" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/houseno-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '40724',
'city'=> 'Hilden',
'street'=> 'Kalstert',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/de/v1/houseno-find'
params = {
'zipcode': '40724',
'city': 'Hilden',
'street': 'Kalstert',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/houseno-find"
);
const params = {
"zipcode": "40724",
"city": "Hilden",
"street": "Kalstert",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"zipcode": 40724,
"city": "Hilden",
"street": "Kalstert",
"houseno": 1,
"addon": "",
"box": "",
"streetlang": "de"
},
{
"zipcode": 40724,
"city": "Hilden",
"street": "Kalstert",
"houseno": 104,
"addon": "",
"box": "",
"streetlang": "de"
},
...
]
Received response:
Request failed with error:
Response
Response Fields
zipcode
number
Returns a number or null when unknown
city
string
Returns a string or null when unknown
street
string
Returns a string or null when unknown
houseno
number
Returns a number or null when unknown
addon
string
Returns a string or null when unknown
box
string
Returns a string or null when unknown
streetlang
string
Returns "de" or null when unknown
🇩🇪 houseno-match - Exactly match a house number
requires authentication
This endpoint expects a zipcode, city name and street name, house number and will return if the house number exists.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/de/v1/houseno-match?zipcode=40724&city=Hilden&street=Tucherweg&houseno=48&addon=A&strict=0&only_status=0" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/de/v1/houseno-match',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '40724',
'city'=> 'Hilden',
'street'=> 'Tucherweg',
'houseno'=> '48',
'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/de/v1/houseno-match'
params = {
'zipcode': '40724',
'city': 'Hilden',
'street': 'Tucherweg',
'houseno': '48',
'addon': 'A',
'strict': '0',
'only_status': '0',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/de/v1/houseno-match"
);
const params = {
"zipcode": "40724",
"city": "Hilden",
"street": "Tucherweg",
"houseno": "48",
"addon": "A",
"strict": "0",
"only_status": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200, houseno=48, addon=A, strict=0):
[
{
"zipcode": 40724,
"city": "Hilden",
"street": "Tucherweg",
"houseno": 48,
"addon": "A",
"box": "",
"streetlang": "de"
}
]
Example response (200, houseno=48, addon=, strict=0):
[
{
"zipcode": 40724,
"city": "Hilden",
"street": "Tucherweg",
"houseno": 48,
"addon": "",
"box": "",
"streetlang": "de"
},
{
"zipcode": 40724,
"city": "Hilden",
"street": "Tucherweg",
"houseno": 48,
"addon": "A",
"box": "",
"streetlang": "de"
}
]
Example response (200, houseno=48, addon=B, strict=1, no match):
[
]
Example response (204, houseno=48, addon=, strict=0, only_status=1, matched):
[Empty response]
Example response (418, houseno=48, addon=B, strict=1, only_status=1, no match):
"
<Empty response>
"
Received response:
Request failed with error:
Response
Response Fields
street
string
Returns a string or null when unknown
city
string
Returns a string or null when unknown
zipcode
number
Returns a number or null when unknown
houseno
number
Returns a number or null when unknown
addon
string
Returns a string or null when unknown
box
string
Returns a string or null when unknown
streetlang
string
Returns "de" or null when unknown
🗄️ Archive
🇳🇱 Netherlands API v3
🇳🇱 getAddress - Completes a street name
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v3/json/getAddress?postcode=1014BA&huisnummer=37&client_id=1177&secure_code=9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v3/json/getAddress',
[
'headers' => [
'X-ClientId' => '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'
params = {
'postcode': '1014BA',
'huisnummer': '37',
'client_id': '1177',
'secure_code': '9SRLYBCALURPE2B',
}
headers = {
'X-ClientId': '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"
);
const params = {
"postcode": "1014BA",
"huisnummer": "37",
"client_id": "1177",
"secure_code": "9SRLYBCALURPE2B",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"straatnaam": "Kabelweg",
"woonplaats": "Amsterdam"
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode niet gevonden"
}
Received response:
Request failed with error:
🇳🇱 Netherlands API v4
🇳🇱 getAddress - Get address for specified postcode and housenumber
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v4/getAddress?zipcode=1014BA&houseno=37" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v4/getAddress',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
'houseno'=> '37',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v4/getAddress'
params = {
'zipcode': '1014BA',
'houseno': '37',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v4/getAddress"
);
const params = {
"zipcode": "1014BA",
"houseno": "37",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"straat": "Kabelweg",
"city": "Amsterdam",
"provincie": "Noord-Holland",
"latitude": 52.39267104872,
"longitude": 4.8465930696013
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode niet gevonden"
}
Received response:
Request failed with error:
🇳🇱 getPostcode - Get postcode information for specified postcode
requires authentication
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/nl/v4/getPostcode?zipcode=1014BA" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/nl/v4/getPostcode',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '1177',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zipcode'=> '1014BA',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://api.postcodeservice.com/nl/v4/getPostcode'
params = {
'zipcode': '1014BA',
}
headers = {
'X-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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/v4/getPostcode"
);
const params = {
"zipcode": "1014BA",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"latitude": 52.395421328766,
"longitude": 4.8463096822221
}
Example response (200, Not found, no match):
{
"success": false,
"error": "Postcode niet gevonden"
}
Received response:
Request failed with error:
🇧🇪 Belgium API V2
🇧🇪 find - Completes a street name
requires authentication
This endpoint expects a part of a street name and will return a list of all street names which start with the given string.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v2/find?street=Koningin+Maria" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v2/find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"street": "Koningin Maria",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.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"
}
}
Received response:
Request failed with error:
🇧🇪 postcode-find - Completes a zip code or city name
requires authentication
This endpoint expects a part of zipcode or city name and will return a list of matches.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v2/postcode-find?zipcodezone=1040" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v2/postcode-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcodezone": "1040",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"postcode": 1040,
"plaats": "Brussel"
},
{
"postcode": 1040,
"plaats": "Etterbeek"
}
]
Received response:
Request failed with error:
🇧🇪 street-find - Completes the street name based on zip code and city name
requires authentication
This endpoint needs a correct zip code, city name and part of a street name. It will return all found matches.
Example request:
curl --request GET \
--get "https://api.postcodeservice.com/be/v2/street-find?zipcode=1040&city=Brussel&street=Rue+de+la" \
--header "X-SecureCode: 9SRLYBCALURPE2B" \
--header "X-ClientId: 1177" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://api.postcodeservice.com/be/v2/street-find',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'X-ClientId' => '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-SecureCode': '9SRLYBCALURPE2B',
'X-ClientId': '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"
);
const params = {
"zipcode": "1040",
"city": "Brussel",
"street": "Rue de la",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"X-SecureCode": "9SRLYBCALURPE2B",
"X-ClientId": "1177",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"straat": "Rue de la Loi",
},
{
"straat": "Rue de la Science",
},
{
"straat": "Rue de la Verveine",
}
]
Received response:
Request failed with error: