The Danish Address Database (ZAP) provides access to properties of Danish addresses as well as ability to geocode your own data against Geomatic's Danish Address Database (ZAP).
This documentation is divided into two parts:
- A full overview of all available variables.
- Some recipies for how to access the variables through the API.
In the latter section you can find examples of how to:
- Perform geocoding
- Update your own addresses with correctly spelled street and town names
- Assign a unique ID to addresses, which can be used to identify duplicates in your data
- Get the coordinates of an address
- See if an address is on the Danish Robinson List
- Find an address from a BBR-Id
- Find an address from a KVH
- Find all addresses on a street
What data is available?
Here you can get an overview of all the data that is available. If you cannot find what you are looking for, then it may belong to another data universe.
Before reading on, you may find it useful to read the concepts section to understand what we mean by e.g. variables and domains.
Domains
The variables available in this universe provides information about the following domains:
Domain | ID | Description |
---|---|---|
Adgangsadresser | acadr |
En adgangsadresse er ikke en postadresse. Den kan fx bruges til at identificerer en opgang eller en bygning ud fra husnummeret og husbogstavet. I DAR kaldes en adgangsadresse for et "Husnummer". |
Enhedsadresser | unadr |
En enhedsadresse er en adresse der kan sendes post til. Den kan fx identificerer en lejlighed i en opgang via etage og sidedør. I DAR kaldes en enhedsadresse blot for en "Adresse". |
Landsdele | landsdel |
Ved landsdele forstås de 11 landsdele i Danmark samt Grønland. Landsdele er en geografisk mindre opdeling end regioner og har ikke nogen administrativ indflydelse. |
Politikredse | politikr |
|
Postnummerveje | pcstreet |
Det stykke af en vej som løber inden for det samme postnummer. For de fleste veje ligger hele vejen inden for det samme postnummer, men nogle veje strækker sig over flere postnumre, og vil således være opdelt i flere postnummerveje. |
Retskredse | byret |
Ved en retskreds forstås en geografisk opdeling af Danmark. Hver retskreds har en byret tilknyttet. Byretten er den mest lokale domstol oghar sin egen afdeling for fogedret, skifteret, familieret og boligret. |
Skattecentre | skatcent |
Ved et skattecenter forstås det skattecenter, der knytter sig til den administrative inddeling. |
Statsforvaltninger | statsfor |
Variables
The following variables are available in The Danish Address Database (ZAP). You can click on the variable name in the list below to get further information about the particular variable.
Adgangsadresser
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adgangsadresse ZAP-ID | Adgangsadresser | Integer | acadr_key |
ZAP | 02-12-2024 | Dagligt | ZAP-Id'et for en adgangsadresse er en unik nøgle, som Geomatic tildeler alle adgangsadresser i adressedatabasen ZAP. I modsætning til KVH-nøglen, er ZAP-Id'et konstant over tid og ændrer sig fx ikke, hvis en adgangsadresse skifter husnummer. | |
Adgangsadressens DAR-ID | Adgangsadresser | Guid | acadr_bbrid |
ZAP | 02-12-2024 | Dagligt | DAR-Id'et for en adgangsadresse er en unik nøgle for adgangsadressen, som bliver tildelt alle adgangsadresser i DAR. I modsætning til KVH nøglen, er DAR-Id'et konstant over tid, og ændre sig ikke hvis fx en adgangsadresse skifter husnummer. Tidligere var dette ID kendt som BBR-Id. Nogle adresser findes endnu ikke i DAR, og vil derfor ikke have et DAR-Id. Alternativt kan man bruge Geomatics ZAP-Id, som bliver tildelt alle adresser. | |
Adgangsadressens fulde navn | Adgangsadresser | Text | acadr_name |
ZAP | 02-12-2024 | Dagligt | Bemærk dette navn indeholder ikke evt. etage og sidedør og er derfor ikke egnet til addressering. | |
Antal enhedsadresser | Adgangsadresser | Integer | unadr_cou_acadr |
ZAP | 02-12-2024 | Dagligt | ||
Har enhedsadresser | Adgangsadresser | Boolean | acadr_hasunits |
ZAP | 02-12-2024 | Dagligt | Angiver om adgangsadressen har mere end en enhedsadresse. | |
Husnummer | Adgangsadresser | Text | houno |
ZAP | 02-12-2024 | Dagligt | Husnummeret for en adresse inklusiv evt. husbogstav. | |
Husnummer (alfabetisk del) | Adgangsadresser | Text | houno_alpha |
ZAP | 02-12-2024 | Dagligt | Husbogstavet for en adresse. | |
Husnummer (numerisk del) | Adgangsadresser | Text | houno_num |
ZAP | 02-12-2024 | Dagligt | Husnummeret for en adresse uden evt. husbogstav. | |
Kommune | Adgangsadresser | Category | muni |
ZAP | 02-12-2024 | Dagligt | Ved kommune forstås administrativ inddeling af Danmark og Grønland (inklusive Christiansø og områder uden for kommunal inddeling i Grønland). | |
Kommuner 1974-2002 | Adgangsadresser | Category | muni_2002 |
ZAP | 02-12-2024 | Dagligt | Kommunerne som de så ud i årene 1974-2002. Altså før kommunesammenlægningen på Bornholm i 2003, oprettelsen af Ærø Kommune i 2006 og kommunalreformen i 2007. | |
Koordinater for adgangsadresse | Adgangsadresser | Point | acadr_loc |
ZAP | 02-12-2024 | Dagligt | X-, Y-Koordinater i UTM Zone 32. | |
KVH | Adgangsadresser | Text | kvh |
ZAP | 02-12-2024 | Dagligt | KVH er en unik identifikator for an adgangsadresse, og er opbygget som følger: KKKVVVVHHHH, hvor K=kommunekode, V=vejkode, H=husnummer. KVH er ikke konstant over tid, da den vil ændre sig hvis en adresse f. eks. skifter husnummer eller kommunekode. BBR-ID og ZAP-ID er derfor bedre alternativer som nøgle for en adgangsadresse. | |
KVH (DAWA format) | Adgangsadresser | Text | kvh_dawa |
ZAP | 02-12-2024 | Dagligt | KVH i DAWAs format, som afviger fra Geomatic KVHX format. Vi anbefaler ligesom DAWA ikke at anvende KVHX til andet end eksisterende systemer, som allerede bruger KVH som nøgle. Læs mere om DAWAs KVH definition her: https://dawa.aws.dk/adressedok#adresse_kvhx (direkte link findes ikke, men scroll lidt ned). | |
Postdistrikt | Adgangsadresser | Category | postdist |
ZAP | 02-12-2024 | Dagligt | ||
Postdistriktsnavn (bynavn) | Adgangsadresser | Text | pdisname |
ZAP | 02-12-2024 | Dagligt | Navnet på postditriktet også ofte omtalt som bynavnet. Indgår i postadressen efter postnummeret. Eksempler: "Horsens", "København K". | |
Region | Adgangsadresser | Category | region |
ZAP | 02-12-2024 | Dagligt | Ved regioner forstås den administrative inddeling af Danmark i fem regioner i Danmark samt Grønland Amtskommune. | |
Sogn | Adgangsadresser | Category | parish |
ZAP | 02-12-2024 | Dagligt | ||
Status | Adgangsadresser | Category | acadr_status |
ZAP | 02-12-2024 | Dagligt | ||
Stednavn | Adgangsadresser | Text | stednavn |
ZAP | 02-12-2024 | Dagligt | Angiver adressens stednavn, som det er registreret i CPR. | |
Vejadresseringsnavn | Adgangsadresser | Text | strname_abv |
ZAP | 02-12-2024 | Dagligt | Et forkortet vejnavn på højst 20 tegn. F.eks. "Dronn. Christines V.". Hvis vejnavnet ikke overstiger 20 tegn, er vejadresseringsnavnet det samme som vejnavnet. | |
Vejkode | Adgangsadresser | Text | acadr_strcode |
ZAP | 02-12-2024 | Dagligt | ||
Vejnavn | Adgangsadresser | Text | strname |
ZAP | 02-12-2024 | Dagligt |
Enhedsadresser
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adressen findes i BBR | Enhedsadresser | Boolean | unadr_origin_bbr |
ZAP | 02-12-2024 | Dagligt | Enhedsadressen findes in BBR's adresse-register. | |
Adressen findes i CVR | Enhedsadresser | Boolean | unadr_origin_cvr |
ZAP | 02-12-2024 | Dagligt | Enhedsadressen optræder som adresse for en virksomhed i CVR-registeret. | |
Enhedsadressens DAR-ID | Enhedsadresser | Guid | unadr_bbrid |
ZAP | 02-12-2024 | Dagligt | DAR-Id'et for en enhedsadresse er en unik nøgle for enhedsadressen, som bliver tildelt alle enhedsadresser i DAR. I modsætning til KVH nøglen, er DAR-Id'et konstant over tid, og ændre sig ikke hvis fx en enhedsadresse skifter husnummer. Tidligere var dette ID kendt som BBR-Id. Nogle adresser findes endnu ikke i DAR, og vil derfor ikke have et DAR-Id. Alternativt kan man bruge Geomatics ZAP-Id, som bliver tildelt alle adresser. | |
Enhedsadressens fulde navn | Enhedsadresser | Text | unadr_name |
ZAP | 02-12-2024 | Dagligt | ||
Enhedsadressens ZAP-ID | Enhedsadresser | Integer | unadr_key |
ZAP | 02-12-2024 | Dagligt | ZAP-Id'et for en enhedsadresse er en unik nøgle, som Geomatic tildeler alle enhedsadresser adressedatabasen ZAP. I modsætning til KVHX-nøglen, er ZAP-Id'et konstant over tid og ændrer sig fx ikke, hvis en enhedsadresse skifter husnummer eller sidedørsbetegnelse. | |
Etage | Enhedsadresser | Text | floor |
ZAP | 02-12-2024 | Dagligt | Angiver adressens etage på formen K9,…, K3, K2, KL, ST, 01, 02,…, 99. | |
KVHX | Enhedsadresser | Text | kvhx |
ZAP | 02-12-2024 | Dagligt | KVHX er en unik identifikator for an enhedsadresse, og er opbygget som følger: KKKVVVVHHHHEESSSS, hvor K=kommunekode, V=vejkode, H=husnummer, E=etage, S=sidebetegnelse/dørnummer (numeriske værdier foranstilles med 0’er). KVHX er ikke konstant over tid, da den vil ændre sig hvis en adresse f. eks. skifter husnummer eller kommunekode. BBR-ID og ZAP-ID er derfor bedre alternativer som nøgle for en enhedsadresse. | |
KVHX (DAWA format) | Enhedsadresser | Text | kvhx_dawa |
ZAP | 02-12-2024 | Dagligt | KVHX i DAWAs format, som afviger fra Geomatic KVHX format. Vi anbefaler ligesom DAWA ikke at anvende KVHX til andet end eksisterende systemer, som allerede bruger KVHX som nøgle. Læs mere om DAWAs KVHX definition her: https://dawa.aws.dk/adressedok#adresse_kvhx. | |
Lokalitet | Enhedsadresser | Text | lokalitet |
ZAP | 02-12-2024 | Dagligt | Et historisk og permanent bygningsnavn, gårdnavn eller lignende knyttet til en eller flere adgangsadresser. Lokalitet er angivet af komunerne og er en del af den officielle adressebetegnelse. Lokalitet er registreret i CPRs vejregister. | |
Sidedør | Enhedsadresser | Text | suite |
ZAP | 02-12-2024 | Dagligt | Angiver adressens sidebetegnelse, såsom TH, MF, TV, eller adressens dørbetegnelse, hvor numeriske værdier får foranstillede 0'er. | |
Status | Enhedsadresser | Category | unadr_status |
ZAP | 02-12-2024 | Dagligt | ||
Vejnavn addresselinje | Enhedsadresser | Text | unadr_streetline |
ZAP | 02-12-2024 | Dagligt | Vejnavn og husnummer efterfulgt af evt. etage og side/dør. Formateret sådan som vejnavn adresselinjen bør skrives til adressering. F. eks. "Vesterbrogade 12A, 2. tv", "Nygade 32". |
Landsdele
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Landsdel | Landsdele | Category | landsdel_key |
Myndighedsregisteret | 02-01-2017 | Ukendt |
Politikredse
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adresse | Politikredse | Text | politikr_adr |
Myndighedsregisteret | 02-01-2017 | Ukendt | Den komplette adresse skrevet på flere linjer. | |
Politikreds | Politikredse | Category | politikr_key |
Myndighedsregisteret | 02-01-2017 | Ukendt |
Postnummerveje
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Navn | Postnummerveje | Text | pcstreet_name |
ZAP | 02-12-2024 | Dagligt | ||
Nøgle for postnummervejen | Postnummerveje | Integer | pcstreet_key |
ZAP | 02-12-2024 | Dagligt | ||
Vejadresseringsnavn | Postnummerveje | Text | pcstreet_strname_abv |
ZAP | 02-12-2024 | Dagligt | Et forkortet vejnavn på højst 20 tegn. F.eks. "Dronn. Christines V.". Hvis vejnavnet ikke overstiger 20 tegn, er vejadresseringsnavnet det samme som vejnavnet. | |
Vejnavn | Postnummerveje | Text | pcstreet_strname |
ZAP | 02-12-2024 | Dagligt |
Retskredse
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adresse | Retskredse | Text | byret_adr |
Myndighedsregisteret | 02-01-2017 | Ukendt | Den komplette adresse skrevet på flere linjer. | |
Retskreds | Retskredse | Category | byret_key |
Myndighedsregisteret | 02-01-2017 | Ukendt |
Skattecentre
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adresse | Skattecentre | Text | skatcent_adr |
Myndighedsregisteret | 02-01-2017 | Ukendt | Den komplette adresse skrevet på flere linjer. | |
Skattecenter | Skattecentre | Category | skatcent_key |
Myndighedsregisteret | 02-01-2017 | Ukendt |
Statsforvaltninger
Variable | Defined On | Type | ID | Data Levels | Source | Version | Update Freq | Description |
---|---|---|---|---|---|---|---|---|
Adresse | Statsforvaltninger | Text | statsfor_adr |
Myndighedsregisteret | 02-01-2017 | Ukendt | Den komplette adresse skrevet på flere linjer. | |
Statsforvaltning | Statsforvaltninger | Category | statsfor_key |
Myndighedsregisteret | 02-01-2017 | Ukendt | Statsforvaltningen var en statslig myndighed i hver region, der lokalt varetog en række opgaver, som ikke hørte under kommunerne eller regionerne. Statsforvaltningen hørte organisatorisk under Børne- og Socialministeriet. Statsforvaltningen blev nedlagt pr. 31 marts 2019 og er i dag erstattet af "Familieretshuset". |
Using The API
In this section we will through examples show how the API can be used to retrieve data from this universe.
Before reading on, you may want to read the technical documentation to understand how the API is structured. There you will also find information about how authentication works in the API. Also, if you do not have an account see here for how to get one.
If the provided examples do not cover your needs, then please contact us and we will try to help out.
An important note from the technical documentation is that you in production should supply the vars
argument in requests to specify exactly which variables you want returned in your response. Leaving out the vars argument will return some variables - but exactly which can change in the future.
Some of the examples below will for brevity leave out the vars argument.
Using the Variables API, you can:
- Perform geocoding
- Update your own addresses with correctly spelled street and town names
- Assign a unique ID to addresses, which can be used to identify duplicates in your data
- Get the coordinates of an address
- See if an address is on the Danish Robinson List
- Find an address from a BBR-Id
- Find an address from a KVH
- Find all addresses on a street
Perform geocoding
If you have a text based address that you want to add data to, then you need to geocode the address. This can be done using Geomatic's Geokoder.
For example getting the unique id of the address Sankt Gertruds Stræde 10 in postcode 1129 København K would look like this:
https://apps.conzoom.eu/api/v1/match/dk/geocoder?in_str=Sankt Gertruds Stræde 10&in_pcode=1129 København K&vars=unadr_key
See the the Matching API documentation for further details on how to do match requests as well as specification of the response.
See the Geomatic's geokoder for further details on how to use the geocoder, and what input it supports.
Update your own addresses with correctly spelled street and town names
If you have text based addresses that a person has entered there is high chance that there are spelling mistakes in some of them. Using the API you can get the correctly spelled address parts back when geocoding an address.
For example getting the correctly spelled stret name and city name of the address Sankt Gertruds Strede 10 in postcode 1129 would look like this:
https://apps.conzoom.eu/api/v1/match/dk/geocoder?in_str=Sankt Gertruds Strede 10&in_pcode=1129&vars=strname,pdisname
See the the Matching API documentation for further details on how to do match requests as well as specification of the response.
See the Geomatic's geokoder for further details on how to use the geocoder, and what input it supports.
Assign a unique ID to addresses, which can be used to identify duplicates in your data
If you have text based addresses that a person has entered there is high chance that it is hard find duplicates, as addresses may have slightly different formatting or spelling. Using the API you can get a unique Id back when geocoding an address, this can then be used to easily find dublicate addresses as they will have the same Id.
For example getting the unique Id of the address Sankt Gertruds Stræde 10 in postcode 1129 København K would look like this:
https://apps.conzoom.eu/api/v1/match/dk/geocoder?in_str=Sankt Gertruds Stræde 10&in_pcode=1129 København K&vars=unadr_key
See the the Matching API documentation for further details on how to do match requests as well as specification of the response.
See the Geomatic's geokoder for further details on how to use the geocoder, and what input it supports.
Get the coordinates of an address
Anytime you get addresses returned from the API, you are able to also get the coordinates of the address. To get these simply include acadr_loc
in the list of variables that you request.
We collect addresses from multiple sources and not all of them provide a coordinate.
It is therfore not always possible to provide a coordinate for an address, in this case the variable will have a null
value.
For example getting the coordinates of the access address with KVH 1016236010 would look like this:
https://apps.conzoom.eu/api/v1/values/dk/acadr?where=kvh=1016236010&vars=acadr_loc
See the the Values API documentation for further details on how to do value data requests as well as specification of the response.
It is also possible to get the coordinates out when geocoding. To do that see the Matching API documentation for further details on how to do match requests as well as specification of the response.See if an address is on the Danish Robinson List
Anytime you get unit addresses returned from the API, you are able to also get the Robinson marking of the address. To get this simply include unadr_robinson
in the list of variables that you request.
For example getting the Robinson marking of the unit address with KVHX 1016236010 01 would look like this:
https://apps.conzoom.eu/api/v1/values/dk/unadr?where=kvhx=1016236010 01 &vars=unadr_robinson
See the the Values API documentation for further details on how to do value data requests as well as specification of the response.
It is also possible to get the Robinson marking out when geocoding. To do that see the Matching API documentation for further details on how to do match requests as well as specification of the response.Find an address from a BBR-Id
If you have the BBR-ID of an address, then you can use this as the id in order to get the conzoom type and other demographical variables of the address.
For this you will need to make a values request for the address domain using a filter on the BBR-Id by adding a where
argument.
For example getting conzoom type on the unit address with BBR-Id 0A3F50A0-88B4-32B8-E044-0003BA298018 would look like this:
https://apps.conzoom.eu/api/v1/values/dk/unadr?where=unadr_bbrid=0A3F50A0-88B4-32B8-E044-0003BA298018&vars=cnztyp_g5
Getting conzoom type on the access address with BBR-Id 0A3F507A-EE64-32B8-E044-0003BA298018 would look like this:
https://apps.conzoom.eu/api/v1/values/dk/acadr?where=acadr_bbrid=0A3F507A-EE64-32B8-E044-0003BA298018&vars=cnztyp_g5
See the the Values API documentation for further details on how to do value data requests as well as specification of the response.
Find an address from a KVH
If you have the KVH of an access address, then you can use this as the id in order to get the conzoom type and other demographical variables of the address.
For this you will need to make a values request for the access address domain using filtering on the KVH using awhere
argument
For example getting conzoom type on the access address with KVH 1016236010 would look like this:
https://apps.conzoom.eu/api/v1/values/dk/acadr?where=kvh=1016236010&vars=cnztyp_g5
See the the Values API documentation for further details on how to do value data requests as well as specification of the response.
Find all addresses on a street
If you have a street name and postcode, then you can use this to find all addresses on that street. This is done by first finding the unique id of the street and then finding all addresses with this street id.
For example getting the unique id of the street Sankt Gertruds Stræde in postcode 1129 København K would look like this:
https://apps.conzoom.eu/api/v1/match/dk/geocoder?in_str=Sankt Gertruds Stræde&in_pcode=1129 København K&vars=pcstreet_key
When you then have the unique id of the street (pcstreet_key
), then you can request all unit addresses on this street like this:
https://apps.conzoom.eu/api/v1/values/dk/unadr?where=pcstreet_key=4569&vars=unadr_key,unadr_name
Here we request the unique id of the unit addresses and their names (which is just the whole address as a string).
See the the Matching API documentation for further details on how to do match requests as well as specification of the response.
See the the Values API documentation for further details on how to do value data requests as well as specification of the response.