Download postcode database
All 10+ million Dutch addresses in a single SQL file, optionally with coordinates or districts and neighborhoods. Pay once, no subscription.
In addition to using our API, we also offer the option to download the complete postcode database. This is especially useful for developers and companies that want offline access or want to integrate the data into their own systems.
The database is delivered as an SQL file that is easy to import into popular database systems such as MySQL, PostgreSQL and SQLite. So you can get started with the data right away, without worrying about formatting or structure.
After downloading you don't depend on an external API and you're not tied to an annual or monthly subscription.
Postcode database with districts and neighborhoods
€199,99 / one-time
All 10+ million Dutch addresses with coordinates, including the CBS district and neighborhood of every address.
- Postcode, house number and addition
- Street, city, municipality and province
- Coordinates (latitude and longitude)
- District and neighborhood (CBS)
What's in the database?
The database contains more than 10 million addresses in the Netherlands, including detailed information such as street names, house numbers, postcodes, cities, municipalities and provinces. Choose the variant that suits you: with coordinates (latitude and longitude) or with coordinates and the district and neighborhood of every address.
Our data comes from official sources such as the Kadaster and the CBS. We create a new export every month, so you always download a recent version.
The database contains the same address data as our API, but in an SQL file that is easy to import. This makes it easy to use the data in your own applications, perform analyses or work offline.
Data included in the database:
- Postcode
- House number
- Addition
- Street name
- City
- Municipality
- Province
- Country
- Coordinates (latitude and longitude, in the variants with coordinates and with districts and neighborhoods)
- District and neighborhood (CBS classification, in the variant with districts and neighborhoods)
For the database download, we can also provide the following data on request:
- Public space type (road, water, landscape area, etc.)
- Location type (residence, retail function, office function, etc.)
- Building information (construction year, surface area, etc.)
- Energy label
Database structure
The database is set up as a relational model. Names of streets, cities, municipalities and provinces are stored in separate tables and linked via an id. This way they aren't repeated for every address and the file stays compact, while you can easily query the data with standard SQL.
| Table | Description | Main fields | Available in |
|---|---|---|---|
addresses |
All addresses with postcode, house number and addition | postcode, number, addition, street_id, primary_location_external_id |
All variants |
streets |
Street names, linked to a city | name, city_id |
All variants |
cities |
Cities, linked to a municipality | name, municipality_id |
All variants |
municipalities |
Municipalities with CBS code, linked to a province | code, name, province_id |
All variants |
provinces |
All twelve Dutch provinces | code, name |
All variants |
locations |
BAG locations with coordinates, and in the variant with districts and neighborhoods also the link to the district and neighborhood | external_id, type, latitude, longitude, district_id, neighborhood_id |
With coordinates, with districts and neighborhoods |
districts |
Districts (wijken) with CBS district code, linked to a municipality | code, name, municipality_id |
With districts and neighborhoods |
neighborhoods |
Neighborhoods (buurten) with CBS neighborhood code, linked to a district and a municipality | code, name, district_id, municipality_id |
With districts and neighborhoods |
The tables are linked hierarchically: an address refers to a street, a street to a city, a city to a municipality and a municipality to a province. Coordinates are stored in the locations table, which you link via addresses.primary_location_external_id to locations.external_id. In the variant with districts and neighborhoods, a location refers to the districts and neighborhoods tables via district_id and neighborhood_id.
An example SQL query to retrieve a complete address with coordinates, district and neighborhood:
SELECT
a.postcode,
a.number,
a.addition,
s.name AS street,
c.name AS city,
m.name AS municipality,
p.name AS province,
l.latitude,
l.longitude,
d.code AS district_code,
d.name AS district,
n.code AS neighborhood_code,
n.name AS neighborhood
FROM addresses a
JOIN streets s ON a.street_id = s.id
JOIN cities c ON s.city_id = c.id
JOIN municipalities m ON c.municipality_id = m.id
JOIN provinces p ON m.province_id = p.id
JOIN locations l ON l.external_id = a.primary_location_external_id
LEFT JOIN districts d ON l.district_id = d.id
LEFT JOIN neighborhoods n ON l.neighborhood_id = n.id
WHERE a.postcode = '1118BN' AND a.number = 800;
Visit the Pricing page for more information about the costs of the API and database download options.