Spring til indhold

Grundfast

Kodeeksempler

Ti ting du kan bygge i dag — kørt live her på siden

Fra adressefeltet i en webshop til en byggesag i kommunen. Hvert eksempel er en opgave, et rigtigt svar fra API’et, som du kan køre igen med din egen adresse eller dit eget punkt, og kaldet i cURL, TypeScript, Python og PHP. Du skal ikke have en nøgle for at prøve.

eksempler
10
sprog pr. eksempel
4

01E-handel og logistik

Adresseforslag, mens kunden taster

Et adressefelt, der foreslår rigtige danske adresser, giver færre returpakker og færre felter at udfylde. Hvert forslag har postnummer, by, koordinat og BFE-nummer med, så resten af formularen kan udfyldes af sig selv.

Kaldet

Læs videre

GET/v1/demo/adresse-search
klar

Skriv en adresse

nørregade 7

Nørregade 7, 1165 København K
BFE 6010471
Nørregade 7, 8000 Aarhus C
BFE 5622464
Nørregade 7, 9000 Aalborg
BFE 5540883
Nørregade 7, 8900 Randers C
BFE 5608122
Nørregade 7, 7100 Vejle
BFE 5687902
Nørregade 7, 8700 Horsens
BFE 5638846

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.resultsjson
[
  {
    "betegnelse": "Nørregade 7, 1165 København K",
    "adgangsadresse_id": "0a3f507a-d19a-32b8-e044-0003ba298018",
    "bfe_nummer": 6010471,
    "vejnavn": "Nørregade",
    "husnr": "7",
    "postnr": "1165",
    "postnrnavn": "København K",
    "kommunekode": "0101",
    "koordinat": {
      "lon": 12.5719265,
      "lat": 55.6788784
    }
  },
  {
    "betegnelse": "Nørregade 7, 8000 Aarhus C",
    "adgangsadresse_id": "0a3f5096-a8e7-32b8-e044-0003ba298018",
    "bfe_nummer": 5622464,
    "vejnavn": "Nørregade",
    "husnr": "7",
    "postnr": "8000",
    "postnrnavn": "Aarhus C",
    "kommunekode": "0751",
    "koordinat": {
      "lon": 10.2103027,
      "lat": 56.1612053
    }
  }
]
Den nøglefri demo søger i det samme adresseindeks som /v1/adresse/search, men giver højst seks forslag.
curl -G "https://api.grundfast.dk/v1/adresse/search" \
  --data-urlencode "q=nørregade 7" \
  --data-urlencode "per_side=6" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

02E-handel og logistik

Tjek leveringsadressen, før ordren gemmes

Kunden har skrevet adressen selv, med forkortelser og uden postnummer. Datavasken finder den rigtige adresse i Danmarks Adresseregister og siger med en kategori, om du kan stole på matchet eller bør spørge kunden.

Kaldet

Læs videre

GET/v1/demo/datavask/adgangsadresser
klar

Adresse som kunden skrev den

aaboulevarden 1 8000 aarhus

Kategori
B — match med små rettelser
Bedste match
Åboulevarden 1, 8000 Aarhus C
Lighed
0,774
Adresse-id
604ad59e-3e7c-7474-e044-0003ba298018
BFE-nummer
5620829

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svaretjson
{
  "kategori": "B",
  "resultater": [
    {
      "betegnelse": "Åboulevarden 1, 8000 Aarhus C",
      "adgangsadresse_id": "604ad59e-3e7c-7474-e044-0003ba298018",
      "bfe_nummer": 5620829,
      "vejnavn": "Åboulevarden",
      "husnr": "1",
      "postnr": "8000",
      "postnrnavn": "Aarhus C",
      "kommunekode": "0751",
      "koordinat": {
        "lon": 10.2120643,
        "lat": 56.1535773
      },
      "lighed": 0.774
    }
  ]
}
Demoen kører den samme datavask som /v1/datavask/adgangsadresser — kategori og lighed er præcis dem, din nøgle får.
curl -G "https://api.grundfast.dk/v1/datavask/adgangsadresser" \
  --data-urlencode "betegnelse=aaboulevarden 1 8000 aarhus" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

03E-handel og logistik

Fra chaufførens GPS-position til nærmeste adresse

Et afleveringsbevis med "56.1496, 10.2039" siger ingenting til kunden. Et reverse-opslag giver den nærmeste adgangsadresse med afstanden i meter, så appen kan skrive, hvor pakken blev stillet — og flage et stop, der ligger for langt fra ordrens adresse.

Kaldet

Læs videre

GET/v1/demo/adgangsadresser/reverse
klar

Breddegrad, længdegrad

56.1496, 10.2039

Nærmeste adresse
M.P. Bruuns Gade 13, 8000 Aarhus C
Afstand
30 m
Kommunekode
0751
BFE-nummer
9406055

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.adresserjson
[
  {
    "betegnelse": "M.P. Bruuns Gade 13, 8000 Aarhus C",
    "adgangsadresse_id": "0a3f5096-8e57-32b8-e044-0003ba298018",
    "bfe_nummer": 9406055,
    "vejnavn": "M.P. Bruuns Gade",
    "husnr": "13",
    "postnr": "8000",
    "postnrnavn": "Aarhus C",
    "kommunekode": "0751",
    "koordinat": {
      "lon": 10.2034133,
      "lat": 56.1495645
    },
    "afstand_m": 30
  }
]
Demoen er den samme handler som /v1/adgangsadresser/reverse bag en grænse pr. IP og svarer for ethvert punkt i Danmark.
curl -G "https://api.grundfast.dk/v1/adgangsadresser/reverse" \
  --data-urlencode "lon=10.2039" \
  --data-urlencode "lat=56.1496" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

04E-handel og logistik

Hvilken kommune, region og politikreds ligger stoppet i?

Ruteplanlægning, leveringszoner og regionale prislister følger de administrative grænser — ikke postnummeret, der krydser kommunegrænser. Ét punkt giver region, kommune, sogn, retskreds, politikreds og opstillingskreds.

Kaldet

Læs videre

GET/v1/demo/dagi/reverse
klar

Breddegrad, længdegrad

55.3959, 10.3883

Region
Region Syddanmark · 1083
Kommune
Odense · 0461
Sogn
Sankt Knuds · 7774
Retskreds
Retten i Odense · 1135
Politikreds
Fyns Politi · 1465
Opstillingskreds
Odense Syd

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.omraaderjson
[
  {
    "tema": "region",
    "kode": "1083",
    "navn": "Region Syddanmark"
  },
  {
    "tema": "kommune",
    "kode": "0461",
    "navn": "Odense"
  },
  {
    "tema": "sogn",
    "kode": "7774",
    "navn": "Sankt Knuds"
  },
  {
    "tema": "retskreds",
    "kode": "1135",
    "navn": "Retten i Odense"
  },
  {
    "tema": "politikreds",
    "kode": "1465",
    "navn": "Fyns Politi"
  },
  {
    "tema": "opstillingskreds",
    "kode": null,
    "navn": "Odense Syd"
  }
]
Demoen slår punktet op i de samme DAGI-grænser som /v1/dagi/reverse, for ethvert punkt i Danmark.
curl -G "https://api.grundfast.dk/v1/dagi/reverse" \
  --data-urlencode "lon=10.3883" \
  --data-urlencode "lat=55.3959" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

05Offentlig sektor

Borgerservice: fra adresse til BFE-nummer, matrikel og ejerlav

Borgeren kender sin adresse, sagssystemet kender BFE-nummeret og matriklen. To kald binder dem sammen: adressesøgningen giver BFE-nummeret, og Matriklen giver jordstykkerne med matrikelnummer, ejerlav og areal.

Kaldene

Læs videre

GET/v1/demo/adresse-search → /v1/demo/property
klar

Adresse

Rådhuspladsen 1, 1550 København V

BFE-nummer
6033528
Matrikelnummer
162
Ejerlav
Vestervold Kvarter, København · 2000179
Grundareal
16.195 m²
Kommune
København · 0101

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.parceljson
{
  "bfe_nummer": 6033528,
  "jordstykker": [
    {
      "matrikelnummer": "162",
      "ejerlavskode": 2000179,
      "ejerlavsnavn": "Vestervold Kvarter, København",
      "areal_m2": 16195,
      "flader": 1
    }
  ]
}
Demoen finder adressen og slår ejendommen op i den nøglefri sammenstilling af registrene, som forsiden også bruger.
# 1) Adressen → BFE-nummer
curl -G "https://api.grundfast.dk/v1/adresse/search" \
  --data-urlencode "q=Rådhuspladsen 1, 1550 København V" \
  --data-urlencode "per_side=1" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

# 2) BFE-nummer → jordstykker med matrikelnummer og ejerlav
curl "https://api.grundfast.dk/v1/matrikel/ejendom/6033528" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

06Offentlig sektor

Byggesag: zone, lokalplan og byggelinjer på grunden

Før en ansøgning om at bygge til er der tre spørgsmål: Hvilken zone ligger grunden i, hvilken lokalplan gælder, og ligger den inden for en af naturbeskyttelseslovens linjer? Plandata og byggelinjerne svarer på alle tre for én ejendom.

Kaldene

Læs videre

GET/v1/demo/adresse-search → /v1/demo/property
klar

Adresse

Nyhavn 20, 1051 København K

Zone
byzone
Lokalplan
512 Nyhavn og Gammelholm
Kommuneplanramme
R24.B.1.11 · Boligområde
Byggelinjer
uden for alle 10 læste linjer

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svaretjson
{
  "plan": {
    "zone": {
      "status": "byzone",
      "kilde": "zonekort",
      "kommune": {
        "kode": 101,
        "navn": "København"
      },
      "konflikt": false
    },
    "lokalplaner": [
      {
        "plannr": "512",
        "navn": "Nyhavn og Gammelholm",
        "status": "vedtaget",
        "anvendelse": null,
        "dokument_url": "https://dokument.plandata.dk/20_2925556_1604999384032.pdf",
        "bebyggelsesprocent": null,
        "max_etager": null,
        "max_hoejde_m": null,
        "ved_punkt": true
      }
    ]
  },
  "byggelinjer": [
    {
      "noegle": "strandbeskyttelse",
      "navn": "Strandbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 15",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "status": "ok"
    },
    {
      "noegle": "klitfredning",
      "navn": "Klitfredningslinje",
      "hjemmel": "naturbeskyttelsesloven § 8",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "status": "ok"
    },
    {
      "noegle": "soe",
      "navn": "Søbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 16",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "status": "ok"
    }
  ]
}
Demoen finder adressen og læser plan og byggelinjer fra den nøglefri sammenstilling af registrene.
# Zone, lokalplaner og kommuneplanramme for hele grunden
curl "https://api.grundfast.dk/v1/plan/ejendom/6033800" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

# Strand-, sø-, å-, skov-, fortidsminde- og kirkebyggelinjer, § 3 m.fl. på et punkt
curl -G "https://api.grundfast.dk/v1/natur/byggelinjer" \
  --data-urlencode "lon=12.590497" \
  --data-urlencode "lat=55.679527" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

07Offentlig sektor

Hvor mange adresser og bygninger har et postnummer?

Til dimensionering af en udbringning, et omdelingsområde eller en analyse af et lokalområde. Statistikken tæller adresser og bygninger pr. postnummer fra registrene selv — åben, uden nøgle.

Kaldet

Læs videre

GET/v1/stats/postnumre
klar

Postnummer

8000 Aarhus C

Postnummer
8000 Aarhus C
Adresser
12.269
Bygninger
9.181
Opdateret
2026-10-12

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.postnumre[]json
{
  "postnr": "8000",
  "navn": "Aarhus C",
  "adresser": 12269,
  "bygninger": 9181
}
Det her er ikke en demo: /v1/stats/postnumre er åben og svarer det samme med og uden nøgle.
# Åben — ingen nøgle. Hele listen i ét svar.
curl "https://api.grundfast.dk/v1/stats/postnumre" \
  | jq '.postnumre[] | select(.postnr == "8000")'

08Ejendom, forsikring og bolig

Hvor stort er huset, og hvornår er det bygget?

En boligannonce, en tilbudsberegning eller en energirådgivning starter med de samme tal fra BBR: boligareal, opførelsesår, anvendelse og antal bygninger og enheder på ejendommen.

Kaldet

Læs videre

GET/v1/demo/adresse-search → /v1/demo/property
klar

Adresse

Solbakkevej 70, 8600 Silkeborg

Anvendelse
Fritliggende enfamiliehus
Opført
1958
Boligareal
95 m²
Bygninger · enheder
2 · 1

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.bbrjson
{
  "antal_bygninger": 2,
  "antal_enheder": 1,
  "samlet_boligareal_m2": 95,
  "samlet_erhvervsareal_m2": null,
  "hovedbygning_opfoerelsesaar": 1958,
  "hovedbygning_om_tilbygningsaar": null,
  "hovedbygning_anvendelse": "Fritliggende enfamiliehus"
}
Demoen finder adressen og læser BBR-resuméet fra den nøglefri sammenstilling; /v1/bbr/ejendom/:bfe giver hver bygning og enhed for sig.
curl "https://api.grundfast.dk/v1/bbr/ejendom/5651067" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY" \
  | jq '.bygninger[.hovedbygning_index]
        | { anvendelse: .anvendelse.tekst, opfoerelsesaar, bolig: .areal.samlet_boligareal_m2 }'

09Ejendom, forsikring og bolig

Forsikring: stormflod og skybrud på adressen

Til en præmie, en besigtigelse eller en klimatilpasning: Hvor dybt står vandet ved en stormflod i dag og i 2120, ligger huset i en lavning, hvor regnvand samles, og er området udpeget som risikoområde? Hver kilde har sin egen status, så en kilde uden svar aldrig læses som tør.

Kaldet

Læs videre

GET/v1/demo/adresse-search → /v1/demo/property
klar

Adresse

Østre Kajgade 1, 4600 Køge

Stormflod i dag
0,23 m ved en 1.000-års hændelse (2020)
Stormflod i 2120
0,16 m ved en 50-års hændelse (2120)
Lavning (skybrud)
nej
Risikoområde
ja — Københaven/Køge Bugt

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.oversvoemmelsejson
{
  "havvand": {
    "status": "besvaret",
    "hyppigste_i_dag": {
      "aar": 2020,
      "gentagelsesperiode_aar": 1000,
      "dybde_m": 0.23
    },
    "hyppigste_2120": {
      "aar": 2120,
      "gentagelsesperiode_aar": 50,
      "dybde_m": 0.16
    }
  },
  "skybrud": {
    "status": "besvaret",
    "i_lavning": false
  },
  "risikoomraade": {
    "status": "besvaret",
    "inden_for": true,
    "omraader": [
      "Københaven/Køge Bugt"
    ],
    "note": "Risikoområder for oversvømmelse, udpeget af staten efter EU’s oversvømmelsesdirektiv (udpegning 2025). Kun de udpegede områder er med: uden for dem betyder \"ikke udpeget\", ikke \"ingen risiko\"."
  }
}
Demoen finder adressen og læser oversvømmelse fra den nøglefri sammenstilling — de samme tre kilder som /v1/miljoe/oversvoemmelse.
curl -G "https://api.grundfast.dk/v1/miljoe/oversvoemmelse" \
  --data-urlencode "bfe=9900565" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

10Ejendom, forsikring og bolig

Boligannonce: hvor meget støj er der ved huset?

Vejstøj er et af de første spørgsmål ved en fremvisning. Miljøstyrelsens kortlægning giver døgnværdien (Lden) og natværdien (Lnight) fra vej, jernbane, lufthavn og virksomheder, og svaret siger, hvilken kortlægningsrunde hver kilde er fra.

Kaldet

Læs videre

GET/v1/demo/adresse-search → /v1/demo/property
klar

Adresse

H.C. Andersens Boulevard 27, 1553 København V

Højeste døgnværdi (Lden)
≥ 73 dB
Højeste natværdi (Lnight)
≥ 65 dB
Vej (2022)
≥ 73 dB · nat ≥ 65 dB

Rigtigt svar hentet 12. oktober 2026. Tryk Kør for et nyt.

Se svaret som JSON
uddrag af svar.stoejjson
{
  "runder": {
    "vej": 2022,
    "jernbane": 2022,
    "lufthavn": 2017,
    "industri": 2017
  },
  "hoejeste": {
    "lden": {
      "fra_db": 73,
      "til_db": null,
      "tekst": "≥ 73 dB"
    },
    "lnight": {
      "fra_db": 65,
      "til_db": null,
      "tekst": "≥ 65 dB"
    }
  }
}
Demoen finder adressen og læser støjen ved ejendommens adgangspunkter fra den nøglefri sammenstilling; /v1/miljoe/stoej svarer for et punkt.
curl -G "https://api.grundfast.dk/v1/miljoe/stoej" \
  --data-urlencode "lon=12.571782" \
  --data-urlencode "lat=55.674136" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"

Det, folk spørger om

Mangler du et eksempel på din opgave, så se guiderne eller skriv til os.

Ja. Hvert panel viser et rigtigt svar fra API’et, hentet den dato der står under det. Trykker du Kør, kaldes API’et igen med det, du har skrevet — uden nøgle, gennem demo-endpoints med en grænse pr. minut.

Demoerne bruger de samme opslag som de nøglebelagte endpoints, men er begrænset pr. IP, og nogle giver færre rækker. Koden under hvert panel kalder det rigtige endpoint med din nøgle, som du vil gøre i produktion.

Hvert opslag er ét kald mod månedens kvote, også på Free-planen. Statistikken pr. postnummer er åben og tæller ikke. En testnøgle giver rigtige svar og faktureres aldrig.

Ja. Eksemplerne er skrevet mod de rigtige svarformer og bruger kun miljøvariablen GRUNDFAST_API_KEY til nøglen. TypeScript-eksemplerne bruger SDK’et @grundfast/sdk fra npm.

Kør det samme med din egen nøgle

Opret en gratis konto, og kald de samme endpoints fra din egen kode. En testnøgle giver rigtige svar og faktureres aldrig.

Gratis op til 5.000 kald/md · intet kreditkort · data fra Klimadatastyrelsen/Datafordeler, CC BY 4.0