Du er ikke logget på
The Danish Address Database (ZAP)

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:

  1. A full overview of all available variables.
  2. Some recipies for how to access the variables through the API.

In the latter section you can find examples of how to:

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

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.