Address Autocomplete and Verification 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.
Premium API
Test credentials are provided below for initial usage. However, a subscription plan is necessary for continued access to this API. Visit postcodeservice.com to view pricing details and to purchase a subscription.
Additional plugins
For Adobe Magento users, we offer an out-of-the-box solution: the Postcode Service Magento extension. This extension, utilizing the same API, allows for easy and accurate address verification at checkout when using the Magento platform. It's available for download from our GitHub repository at 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.
The Dutch company JustBetter has developed an alternative for the default Adobe Magento PWA frontend and integrated the Postcode Service with this frontend. This integration is available for download from their GitHub repository at github.com/rapidez/postcodeservice.
Questions and support
You can contact our experts via support@postcodeservice.com or call our office in Amsterdam +31 20 218 1024.
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.
Visit
postcodeservice.com to obtain your unique
ClientId
and SecureCode
.
Test credentials
Try it yourself with the provided credentials below.
X-ClientId | 1177 |
X-SecureCode | 9SRLYBCALURPE2B |
X-Domain (optional) | your-domain-name.com |
Please note that these test credentials have limitations, including daily usage limits and added delays.
Rate Limiting Policies
If you receive a 429
HTTP server response code (429 Too Many Requests) when making API calls, it indicates that you have sent too many requests in a given amount of time.
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "90003232576176359",
"streetlang": "nl",
"type": "Street",
"zipcode": 9000
},
"1": {
"city": "Vorst",
"label": "Koningin Maria-Hendrikalaan - Vorst (1190)",
"street": "Koningin Maria-Hendrikalaan",
"streetid": "11905652175755593",
"streetlang": "nl",
"type": "Street",
"zipcode": 1190
},
"2": {
"city": "Leopoldsburg",
"label": "Koningin Maria-Henriettelaan - Leopoldsburg (3970)",
"street": "Koningin Maria-Henriettelaan",
"streetid": "39702545161554421",
"streetlang": "nl",
"type": "Street",
"zipcode": 3970
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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, consisting of a unique street id (maximum length 13-characters)
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+or+Brussel&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 or Brussel',
'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 or Brussel',
'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 or Brussel",
"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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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+or+Brussel&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 or Brussel',
'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 or Brussel',
'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 or Brussel",
"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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "10407791515129598",
"streetlang": "fr"
},
{
"street": "Rue de Comines",
"streetid": "10403749237592666",
"streetlang": "fr"
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
street
string
Returns a string or null when unknown
streetid
string
Returns a string, consisting of a unique 13-character street id
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, then 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=90009326765993242" \
--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' => '90009326765993242',
],
]
);
$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': '90009326765993242',
}
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": "90009326765993242",
};
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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, then 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=97009815732968962&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' => '97009815732968962',
'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': '97009815732968962',
'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": "97009815732968962",
"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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "993342231655576189"
},
{
"label": "Marbacher Chaussee - Erfurt (99092)",
"type": "Street",
"zipcode": 99092,
"city": "Erfurt",
"street": "Marbacher Chaussee",
"streetlang": "de",
"streetid": "990928511797344426"
},
...
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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, consisting of a unique 13-character street id
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+or+Hilden" \
--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 or Hilden',
],
]
);
$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 or Hilden',
}
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 or Hilden",
};
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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+or+Hilden" \
--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 or Hilden',
],
]
);
$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 or Hilden',
}
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 or Hilden",
};
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "407247266946847986",
"streetlang": "de"
},
{
"street": "Karlrobert-Kreiten-Straße",
"streetid": "407248987927323392",
"streetlang": "de"
},
{
"street": "Käthe-Kollwitz-Weg",
"streetid": "407249782892152973",
"streetlang": "de"
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
street
string
Returns a string or null when unknown
streetid
string
Returns a string, consisting of a unique 13-character street id
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
requires authentication
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-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/v3/json/getAddress',
[
'headers' => [
'X-SecureCode' => '9SRLYBCALURPE2B',
'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-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/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-SecureCode": "9SRLYBCALURPE2B",
"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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
🗄️ 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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
🇳🇱 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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
🗄️ 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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
🇧🇪 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+or+Brussel" \
--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 or Brussel',
],
]
);
$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 or Brussel',
}
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 or Brussel",
};
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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
🇧🇪 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:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.