Dutch address verification API
Netherlands address verification and geocoding (adres, postcode + huisnummer): send a postcode + house number or free text, get the official address from the national BAG register (does it exist, exact spelling), WGS84 latitude/longitude, BAG ids, municipality, province and CBS neighbourhood code. Cheap address validation for KYC, onboarding, delivery, CRM cleanup and real estate agents. Source: Kadaster BAG via PDOK.
0.002 USDC per call · GET /v1/address/lookup · free preview at /v1/address/lookup/preview
Parameters
| Name | Required | Description |
|---|---|---|
postcode | no | Dutch postcode, 4 digits + 2 letters, e.g. 3511LX |
house_number | no | House number, e.g. 1 |
house_letter | no | Optional house letter, e.g. A |
addition | no | Optional house number addition, e.g. 2 or BIS |
q | no | Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht' |
Example request
curl "https://factline.dev/v1/address/lookup?postcode=2517AS&house_number=100"
# 402 Payment Required: pay with an x402 client (USDC on Base), or send
# Authorization: Bearer <your Factline API key>Example response
{
"address": {
"label": "Laan van Meerdervoort 100, 2517AS 's-Gravenhage",
"street": "Laan van Meerdervoort",
"house_number": 100,
"house_letter": null,
"house_number_addition": null,
"postcode": "2517AS",
"city": "'s-Gravenhage",
"municipality": "'s-Gravenhage",
"municipality_code": "GM0518",
"province": "Zuid-Holland"
},
"location": {
"lat": 52.08359668,
"lon": 4.29193161,
"crs": "WGS84"
},
"bag": {
"addressable_object_id": "0518010001775699",
"address_id": "0518200001775789"
},
"neighbourhood": {
"code": "BU05182245",
"name": "Zeeheldenkwartier"
},
"district": {
"code": "WK051822",
"name": "Wijk 22 Zeeheldenkwartier"
},
"other_matches": [],
"related": [
{
"endpoint": "/v1/energy-label?postcode=2517AS&house_number=100",
"price": "0.005 USDC",
"what": "registered energy label of this home"
}
]
}Use it from an AI agent
Agents with an x402 wallet call the URL directly and pay per request. Assistants that speak MCP connect to https://factline.dev/mcp. Full reference: docs, OpenAPI, llms.txt. Businesses: API keys with a free trial.
Questions
How much does the Dutch address verification cost?
0.002 USDC per call, paid per request with x402 (no account), or included in a Factline API key plan with a free trial. Calls that fail are not charged.
Can I try it for free?
Yes: GET /v1/address/lookup/preview with the same parameters validates your input and shows what the paid answer contains, at no cost.
Where does the data come from?
Official public registers and open data, named with their licence in every response (source field) and at /.well-known/x402-license-provenance.
Related checks
Dutch address report API · Compare Dutch addresses API · Dutch neighbourhood statistics API · Reverse geocoding API for the Netherlands · Dutch energy label API · Dutch crime statistics API