Dutch address & postcode API
Look up any Dutch address in a single API call.
Papi gives you reliable address and postcode data from the official BAG registry. One REST endpoint, predictable pricing β and the only Lifetime licence on the market: pay once, keep it forever.
Live example
query: "Dorpsstraat 12A Utrecht" {
"page": 0,
"size": 10,
"total": 1,
"results": [
{
"street": "Dorpsstraat",
"houseNumber": "12A",
"postcode": "3451 AB",
"city": "Vleuten",
"municipality": "Utrecht",
"province": "Utrecht",
"lat": 52.1009,
"lon": 5.0019
}
]
} query: "1011 AB" {
"page": 0,
"size": 10,
"total": 2,
"results": [
{
"street": "Nieuwe Herengracht",
"houseNumber": "18",
"postcode": "1011 AB",
"city": "Amsterdam",
"municipality": "Amsterdam",
"province": "Noord-Holland",
"lat": 52.3661,
"lon": 4.9078
},
{
"street": "Nieuwe Herengracht",
"houseNumber": "20",
"postcode": "1011 AB",
"city": "Amsterdam",
"municipality": "Amsterdam",
"province": "Noord-Holland",
"lat": 52.3662,
"lon": 4.908
}
]
} query: "Coolsingel 40 Rotterdam" {
"page": 0,
"size": 10,
"total": 1,
"results": [
{
"street": "Coolsingel",
"houseNumber": "40",
"postcode": "3011 AD",
"city": "Rotterdam",
"municipality": "Rotterdam",
"province": "Zuid-Holland",
"lat": 51.9225,
"lon": 4.4792
}
]
} Why Papi
Built for developers, priced for everyone.
Official BAG data
Addresses, postcodes and cities from the Dutch Registry of Addresses and Buildings (BAG) β the authoritative source.
Fast & scalable
Powered by OpenSearch for fast, fuzzy address search at nationwide scale.
One simple endpoint
A single REST call to search. Structured JSON back, with pagination. No SDK required, no fuss.
Secure access
Authenticate with JWT bearer tokens and clear per-subscription rate limits.
Fair pricing
Lower annual prices than comparable Dutch providers β plus a Lifetime option no one else offers.
Fully Dutch
Made for the Dutch market: NL coverage, NL + EN, VAT invoicing.
Pricing
Pick an annual plan, or pay once with Lifetime and use Papi forever.
Starter
1,000 lookups per month
100 requests/minute
Lifetime = pay once, use forever. No competitor offers this. It pays for itself in ~3 years β after that, it's free.
Growth
10,000 lookups per month
200 requests/minute
Lifetime = pay once, use forever. No competitor offers this. It pays for itself in ~3 years β after that, it's free.
Business
100,000 lookups per month
1,000 requests/minute
Lifetime = pay once, use forever. No competitor offers this. It pays for itself in ~2.6 years β after that, it's free.
Prices exclude 21% VAT. Final prices are confirmed in the portal's Plan catalog.
Papi vs. the rest
The same official BAG data β but with predictable pricing, NL + EN, and the only Lifetime licence on the market.
βOthersβ refers to typical Dutch address APIs; features vary by provider.
For developers
Three steps from zero to your first result.
-
1. Get a token
Create an account and grab an API token (JWT) with the address.search scope from the portal.
-
2. Call the API
A single POST to the search endpoint with your query.
-
3. Handle the result
You get structured, paginated address results back as JSON.
curl -X POST https://api-test.rabbitdev.nl/api/v1/addresses/search \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"query":"Dorpsstraat 12A 1234AB Utrecht","filters":{"country":"NL"},"page":0,"size":10}'const res = await fetch("https://api-test.rabbitdev.nl/api/v1/addresses/search", {
method: "POST",
headers: {
Authorization: "Bearer <YOUR_TOKEN>",
"Content-Type": "application/json",
},
body: JSON.stringify({
"query": "Dorpsstraat 12A 1234AB Utrecht",
"filters": {
"country": "NL"
},
"page": 0,
"size": 10
}),
});
const data = await res.json();import requests
res = requests.post(
"https://api-test.rabbitdev.nl/api/v1/addresses/search",
headers={"Authorization": "Bearer <YOUR_TOKEN>"},
json={
"query": "Dorpsstraat 12A 1234AB Utrecht",
"filters": {
"country": "NL"
},
"page": 0,
"size": 10
},
)
data = res.json() About Papi
Papi is an independent Dutch product that makes address lookups simple and affordable. We build on official BAG data and believe in fair pricing β including a Lifetime licence, so you don't have to pay every year for data that barely changes.
Get started
Ready to use Papi, or have questions? Get in touch β we'll get you up and running quickly.
Email us