Use this API to validate international address data, including the Netherlands, that is entered in your webshop or CRM.
Methods and endpoints
|Header key||Header Value||Mandatory / optional|
String  or , according to ISO 3166-1 ‘alpha-2’ and ‘alpha-3’, not ‘numeric-3’.
String or Number [0-8]
This API supports over 250 countries, regions, island groups. You can download the list here (link to pdf file ‘Country codes ISO 3166-1') or find a general list of county ISO codes here.
Input field ‘strength’ per country
Address formatting is different per country. Therefore, input data fields can be more (or less) indicative of an address. We use that varying field indication ‘strength’ in our queries as well. For the most requested countries, these are the indication strengths of input fields. This overview will be updated regularly.
|Austria||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
|Belgium||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
|France||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
|Germany||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
|United Kingdom||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Strong|
|Netherlands||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
|Spain||Mandatory||Strong||Very strong||Normal||Very strong||Strong||Normal|
All fields are returned for every API call. If no data was found for a specific field, the value null will be returned.
Description of attribute
The number of results (multiple addresses in the response is temporarily unavailable)
Indication of certainty that the address is mailable
Level of similarity between the input and output address data
The full address according to local/national formatting standards
Array of strings, dependent on formatting standards
Street name of the address
House number of the address
House number addition of the address
Postal code of the address
City of the address
Country of the address
ISO 3166-1 alpha-2 code of the country of the address
ISO 3166-1 alpha-3 code of the country of the address
Name of company, when located on the address
Name of the building
Flat number of the address
Stair that the address is connected to
Floor that the address is located on
Door of the address
Bus field; used for Belgium addresses
Locality of the address
State of the address
Latitudinal coordinate of address
Longitudinal coordinate of address
Result Number is defined as an incremental identification number of the results. When there is one address in the output response, the result number is 1. When there is more than one address in the output response, the addresses are sorted based on the result score. The first address in the response will have a result number of 1, the second address in the output will have a result number of 2, and so on.
The mailability score (MS) is defined as how well we are able to match a given input address to an address in our address database and also based on the completeness of the input and output. Scores from 0 to 100 are given back in the output. If there are different possible matches to the input provided, then the mailability score varies due to that. What each score means, is shown in the table below.
|100||Exact unique match|
|80||Almost exact match. In most cases just 1 element missing, such as a postcode or streetname, but match is still unique.|
|60||Lot of discrepancies, but unique match with our database. 5-10|
|40||Housenumber missing and less than 10 - 20 possible results.|
|20||Housenumber missing more than 20 possible results.|
The result percentage tells us how much the output has changed from the input. The score varies from 0 to 100. This is based on a multi-dimensional Levenshtein distance function. Levenshtein distance is a string metric for measuring the difference between two sequences. A score of 100 indicates a perfect match and a score of 0 indicates a complete mismatch. We do a Levenshtein on the input parameter and output of the city name, street name, and postcode.
An example: Let’s take an existing valid address such as Transformatorweg 102, 1014AK, Amsterdam. The following scenarios demonstrate how the result Scores will vary when city name, street name or postcode is different between the input and output.
- Address Input: Transformatorweg 102, 1014AK, Amsterplaats Address Output: Transformatorweg 102, 1014AK, Amsterdam Result Score: 89 Transformatorweg 102, 1014AK, Amsterplaats does not exist. The input had a wrong city name of Amsterplaats. It was a change from the correct city name of Amsterdam in the output. So the result score was reduced from a perfect 100 to 89
- Address Input: Transformatorweg 102, 1014XB, Amsterdam Address Output: Transformatorweg 102, 1014AK, Amsterdam Result Score: 87 Transformatorweg 102, 1014XB, Amsterdam does not exist. The input had a wrong postcode once again of 1014XB. Since there are two characters different from the right postcode, the result score is further reduced to 87. MX IAC Fields 2
- Address Input: Transformatorstraat 102, 1014AK, Amsterdam Address Output: Transformatorweg 102, 1014AK, Amsterdam Result Score: 91 Transformatorstraat 102, 1014AK, Amsterdam does not exist. The input had a wrong streetname of Transformatorstraat. Since the last part of the streetname are different from the right streetname, the result score is reduced to 91.
Example request & response
Possible error codes
JSON response with requested data.
Address not found. Example:
Error on customer-side. Example:
"title": "Bad Request",
"detail": "Query must include valid CountryIso"
Error on PostNL side.