Hent hele ejendommen
Alle registre for én ejendom i ét kald: matrikel, BBR, bygningsomrids og højder, adresser, DAGI, vurdering, plan, støj, byggelinjer, jord, oversvømmelse og energimærke.
https://api.grundfast.dk/v1/ejendom/{id}Det samme samlede svar, som ejendomssiderne på grundfast.dk tegner, for en vilkårlig ejendom — slået op på BFE-nummer eller på en adresse. Svaret deler cache med ejendomssiderne, så en ejendom, der lige er blevet åbnet, svarer med det samme; X-Grundfast-Cache siger hit eller miss.
Hver del melder selv, når den ikke kunne læses: null eller en status på delen. Et register, der var nede, bliver aldrig til et nej. Et svar, der mangler en del, har headeren X-Grundfast-Degraded.
Omgivelserne, som 3D-scenen tegner rundt om ejendommen (nabogrunde, deres bygninger, veje og vand), er udeladt, medmindre omgivelser=true.
Godkendelse · API-nøgle
Send din nøgle som Authorization: Bearer gf_live_… — eller gf_test_… for gratis sandbox-kald. Se Godkendelse og nøgler.
Afregning
Ét kald — også selvom svaret samler omkring 15 opslag hos kilderne.
Eksempel
curl "https://api.grundfast.dk/v1/ejendom/5651067" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY"{
"punkt": {
"lon": 9.532961,
"lat": 56.157845
},
"opslagspunkt": {
"lon": 9.532761,
"lat": 56.157875
},
"bfe_nummer": 5651067,
"adresse": {
"betegnelse": "Solbakkevej 70, 8600 Silkeborg",
"adgangsadresse_id": "0a3f5095-8942-32b8-e044-0003ba298018",
"postnr": "8600",
"postnrnavn": "Silkeborg",
"koordinat": {
"lon": 9.532961,
"lat": 56.157845
}
},
"adresser": [
{
"betegnelse": "Solbakkevej 70, 8600 Silkeborg",
"adgangsadresse_id": "0a3f5095-8942-32b8-e044-0003ba298018",
"postnr": "8600",
"postnrnavn": "Silkeborg",
"koordinat": {
"lon": 9.532961,
"lat": 56.157845
}
}
],
"parcel": {
"bfe_nummer": 5651067,
"matrikelnummer": "138o",
"matrikelnumre": [
"138o"
],
"antal_jordstykker": 1,
"ejerlavsnavn": "Silkeborg Markjorder",
"areal_m2": 460,
"kommunekode": "0740",
"polygons": [
[
[
[
9.532641,
56.15796
],
[
9.532631,
56.15792
],
[
9.532608,
56.157825
],
[
9.533083,
56.157764
]
]
]
],
"jordstykker": [
{
"matrikelnummer": "138o",
"ejerlavskode": 2006552,
"ejerlavsnavn": "Silkeborg Markjorder",
"areal_m2": 460,
"flader": 1
}
]
},
"dagi": {
"kommune": {
"kode": "0740",
"navn": "Silkeborg"
},
"region": {
"kode": "1082",
"navn": "Region Midtjylland"
}
},
"administrativt_omraade": [
{
"tema": "sogn",
"navn": "Mariehøj",
"kode": "8018"
},
{
"tema": "retskreds",
"navn": "Retten i Viborg",
"kode": "1171"
},
{
"tema": "politikreds",
"navn": "Midt- og Vestjyllands Politi",
"kode": "1462"
},
{
"tema": "opstillingskreds",
"navn": "Silkeborg Syd",
"kode": null
}
],
"vurdering": {
"antal_vurderingsejendomme": 1,
"seneste": {
"aar": 2024,
"ejendomsvaerdi_kr": 2596000,
"grundvaerdi_kr": 1702000,
"vurderet_areal_m2": 460
},
"historik": [
{
"aar": 2024,
"ejendomsvaerdi_kr": 2596000,
"grundvaerdi_kr": 1702000
},
{
"aar": 2022,
"ejendomsvaerdi_kr": 2553000,
"grundvaerdi_kr": 1661000
},
{
"aar": 2020,
"ejendomsvaerdi_kr": 2229000,
"grundvaerdi_kr": 1330000
},
{
"aar": 2019,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2018,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2017,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2016,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2015,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2014,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2013,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 645000
},
{
"aar": 2012,
"ejendomsvaerdi_kr": 1800000,
"grundvaerdi_kr": 661500
},
{
"aar": 2011,
"ejendomsvaerdi_kr": 1800000,
"grundvaerdi_kr": 661500
},
{
"aar": 2010,
"ejendomsvaerdi_kr": 1800000,
"grundvaerdi_kr": 598500
},
{
"aar": 2009,
"ejendomsvaerdi_kr": 1800000,
"grundvaerdi_kr": 598500
},
{
"aar": 2008,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 630000
},
{
"aar": 2007,
"ejendomsvaerdi_kr": 1750000,
"grundvaerdi_kr": 630000
},
{
"aar": 2006,
"ejendomsvaerdi_kr": 1400000,
"grundvaerdi_kr": 436600
},
{
"aar": 2005,
"ejendomsvaerdi_kr": 1350000,
"grundvaerdi_kr": 415800
},
{
"aar": 2004,
"ejendomsvaerdi_kr": 1200000,
"grundvaerdi_kr": 315000
},
{
"aar": 2003,
"ejendomsvaerdi_kr": 1200000,
"grundvaerdi_kr": 315000
},
{
"aar": 2002,
"ejendomsvaerdi_kr": 1100000,
"grundvaerdi_kr": 289800
},
{
"aar": 2001,
"ejendomsvaerdi_kr": 1050000,
"grundvaerdi_kr": 264600
}
]
},
"bbr": {
"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"
},
"epsg25832": [
533103.83,
6223775.41
],
"terraen": {
"terraen_m": 27.94,
"overflade_m": 27.94
},
"jord": {
"omraadeklassificeret": true,
"analysefri": false,
"analysekrav": "Område med krav om analyser",
"forslag": false,
"kommune": {
"navn": "Silkeborg Kommune",
"url": null
}
},
"jord_kortlaegning": {
"kortlagt": false,
"status": "ingen",
"grundlag": "matrikel",
"kortlagt_andel": 0,
"lokaliteter": [],
"attest_url": "https://jord.miljoeportal.dk/report/?elav=2006552&matrnr=138o"
},
"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": 202.3,
"status": "ok"
},
{
"noegle": "aa",
"navn": "Åbeskyttelseslinje",
"hjemmel": "naturbeskyttelsesloven § 16",
"inden_for": false,
"usikker": false,
"afstand_m": null,
"status": "ok"
},
{
"noegle": "skov",
"navn": "Skovbyggelinje",
"hjemmel": "naturbeskyttelsesloven § 17",
"inden_for": false,
"usikker": false,
"afstand_m": null,
"status": "ok"
},
{
"noegle": "fortidsminde",
"navn": "Fortidsmindebeskyttelseslinje",
"hjemmel": "naturbeskyttelsesloven § 18",
"inden_for": false,
"usikker": false,
"afstand_m": null,
"status": "ok"
},
{
"noegle": "kirke",
"navn": "Kirkebyggelinje",
"hjemmel": "naturbeskyttelsesloven § 19",
"inden_for": true,
"usikker": false,
"afstand_m": -55.1,
"status": "ok"
},
{
"noegle": "dige",
"navn": "Beskyttet sten- og jorddige",
"hjemmel": "museumsloven § 29 a",
"inden_for": false,
"usikker": false,
"afstand_m": null,
"status": "ok"
},
{
"noegle": "natur3",
"navn": "Beskyttet naturtype (§ 3)",
"hjemmel": "naturbeskyttelsesloven § 3",
"inden_for": false,
"usikker": false,
"afstand_m": 326.5,
"status": "ok"
},
{
"noegle": "vandloeb3",
"navn": "Beskyttet vandløb (§ 3)",
"hjemmel": "naturbeskyttelsesloven § 3",
"inden_for": false,
"usikker": false,
"afstand_m": null,
"status": "ok"
}
],
"plan": {
"zone": {
"status": "byzone",
"kilde": "zonekort",
"kommune": {
"kode": 740,
"navn": "Silkeborg"
},
"konflikt": false
},
"har_lokalplan": false,
"lokalplaner": [],
"kommuneplanramme": {
"rammenr": "10-B-41",
"navn": "Sydbyen vest",
"anvendelse": "Boligområde",
"dokument_url": "https://dokument.plandata.dk/12_10972215_1662721059028.pdf",
"bebyggelsesprocent": 30
},
"omfang": "grund",
"zoner_paa_grunden": [
"byzone"
],
"andre_kommuneplanrammer": [],
"restbyggeret": {
"vejledende": true,
"restbyggeret_m2": 22,
"tilladt_etageareal_m2": 138,
"grundlag": {
"kilde": "kommuneplanramme",
"plan_id": 10972225,
"plannr": "10-B-41",
"delnr": null,
"bebyggelsesprocent": 30,
"beregnes_af": "Den enkelte ejendom"
},
"grundareal_m2": 460,
"antal_jordstykker": 1,
"eksisterende_etageareal_m2": 116,
"eksisterende_bebygget_areal_m2": 141,
"antal_bygninger": 2,
"bygninger_uden_etageareal": 1,
"formel": "restbyggeret_m2 = bebyggelsesprocent / 100 × grundareal_m2 − eksisterende_etageareal_m2",
"ikke_beregnet": null,
"forbehold": "Vejledende beregning. Planens tekst (dokument_url) er afgørende, og bygningsreglementets definition af etageareal — herunder hvilke kældre, carporte, garager og udhuse der ikke medregnes — kan ikke læses af registrene. Kontakt kommunen før et projekt. Bebyggelsesprocenten er hentet fra kommuneplanrammen, som binder kommunens planlægning og ikke grundejeren direkte; uden lokalplan afgør kommunen sagen efter byggeloven og bygningsreglementet."
}
},
"stoej": {
"kortlaegningsaar": 2022,
"runder": {
"vej": 2022,
"jernbane": 2022,
"lufthavn": 2017,
"industri": 2017
},
"kilder": {
"vej": {
"lden": null,
"lnight": null
},
"jernbane": {
"lden": null,
"lnight": null
},
"lufthavn": {
"lden": null,
"lnight": null
},
"industri": {
"lden": null,
"lnight": null
}
},
"hoejeste": {
"lden": null,
"lnight": null
},
"omfang": "adgangspunkter",
"antal_punkter": 2
},
"oversvoemmelse": {
"havvand": {
"status": "besvaret",
"oversvoemmet_i_et_scenarie": false,
"hyppigste_i_dag": null,
"hyppigste_2120": null,
"scenarier": [
{
"aar": 2020,
"gentagelsesperiode_aar": 50,
"dybde_m": null
},
{
"aar": 2020,
"gentagelsesperiode_aar": 100,
"dybde_m": null
},
{
"aar": 2020,
"gentagelsesperiode_aar": 1000,
"dybde_m": null
},
{
"aar": 2020,
"gentagelsesperiode_aar": 10000,
"dybde_m": null
},
{
"aar": 2070,
"gentagelsesperiode_aar": 50,
"dybde_m": null
},
{
"aar": 2070,
"gentagelsesperiode_aar": 100,
"dybde_m": null
},
{
"aar": 2070,
"gentagelsesperiode_aar": 1000,
"dybde_m": null
},
{
"aar": 2070,
"gentagelsesperiode_aar": 10000,
"dybde_m": null
},
{
"aar": 2120,
"gentagelsesperiode_aar": 50,
"dybde_m": null
},
{
"aar": 2120,
"gentagelsesperiode_aar": 100,
"dybde_m": null
},
{
"aar": 2120,
"gentagelsesperiode_aar": 1000,
"dybde_m": null
},
{
"aar": 2120,
"gentagelsesperiode_aar": 10000,
"dybde_m": null
}
],
"note": "Kystdirektoratets beregning af oversvømmelse fra havet (stormflod) ved statistiske 50-, 100-, 1.000- og 10.000-års vandstande i 2020, 2070 og 2120 med klimascenariet RCP8.5. dybde_m er middeldybden der, hvor den 100 × 100 m celle, punktet ligger i, står under vand — rummer cellen en havn, en kanal eller en sø, tæller det vand med, så huset kan stå tørt, og tallet kan falde ved en større hændelse, når mere lavt land kommer med; null betyder, at cellen ikke er beregnet oversvømmet fra havet i scenariet. Hele kysten er beregnet, men kun oversvømmelse fra havet — og land bag diger står som ikke oversvømmet. Nationalt datasæt (version 18. marts 2021), for groft til detaljerede lokale analyser."
},
"skybrud": {
"status": "besvaret",
"i_lavning": false,
"lavning": null,
"naer": {
"radius_m": 50,
"antal": 0,
"dybeste_m": null,
"fyldes_foerst_ved_mm": null
},
"paa_grunden": [],
"antal_paa_grunden": 0,
"note": "Lavninger (\"bluespots\") fra Miljøstyrelsen: fordybninger i terrænet, hvor regnvand samles uden afløb. i_lavning er, om punktet ligger i en; naer tæller dem inden for 50 m. fyldes_ved_mm er den regnmængde over oplandet, der fylder lavningen — jo lavere, jo oftere. Hele landet er kortlagt, men vand løber også på overfladen (strømningsveje), og kloakkens kapacitet er ikke med, så \"ikke i en lavning\" er ikke det samme som \"ingen risiko ved skybrud\"."
},
"risikoomraade": {
"status": "besvaret",
"inden_for": false,
"omraader": [],
"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\"."
},
"ikke_med": "Ikke med: oversvømmelse fra vandløb og søer uden for risikoområderne, stigende grundvand, kloakkens kapacitet og lokale diger eller sikringer, som modellerne ikke kender. Svaret er en screening fra offentlige kort, ikke en vurdering af den enkelte bygning."
},
"energimaerke": null,
"stednavne": [],
"buildings": [
{
"bbr_uuid": "901088f3-b4e8-4acf-98f7-c69389c3e56f",
"rings": [
[
[
9.533001,
56.157792
],
[
9.532996,
56.157792
],
[
9.532947,
56.157799
],
[
9.532938,
56.157781
]
]
],
"bbr": {
"bygningsnummer": 2,
"anvendelse": "Carport",
"opfoerelsesaar": 2014,
"om_tilbygningsaar": null,
"antal_etager": null,
"bebygget_areal_m2": 25,
"samlet_boligareal_m2": null,
"samlet_erhvervsareal_m2": null,
"antal_enheder": 0,
"ydervaeg": "Træ",
"tag": "Tagpap med stor hældning",
"varme": null,
"opvarmningsmiddel": null,
"supplerende_varme": null,
"enheder": [],
"fredet": false,
"bevaringsvaerdi": null
},
"hoejde_m": 2.45,
"tag": {
"haeldning_grader": 0.5,
"tagfod_m": 2.36,
"konfidens": 0.78,
"antal_celler": 136,
"tagform": "fladt",
"kip_retning_grader": null,
"fald_retning_grader": null,
"aarsag": null
}
},
{
"bbr_uuid": "c7e65d4a-0c66-4838-9b19-728abbeddd71",
"rings": [
[
[
9.532798,
56.157905
],
[
9.53277,
56.157842
],
[
9.532825,
56.157834
],
[
9.532817,
56.157817
]
]
],
"bbr": {
"bygningsnummer": 1,
"anvendelse": "Fritliggende enfamiliehus",
"opfoerelsesaar": 1958,
"om_tilbygningsaar": null,
"antal_etager": 1,
"bebygget_areal_m2": 116,
"samlet_boligareal_m2": 95,
"samlet_erhvervsareal_m2": null,
"antal_enheder": 1,
"ydervaeg": "Mursten",
"tag": "Tegl",
"varme": "Fjernvarme/blokvarme",
"opvarmningsmiddel": null,
"supplerende_varme": null,
"enheder": [
{
"anvendelse": "Fritliggende enfamiliehus",
"samlet_areal_m2": 95,
"antal_vaerelser": 4,
"varme": null,
"adresse": "Solbakkevej 70, 8600 Silkeborg"
}
],
"fredet": false,
"bevaringsvaerdi": null
},
"hoejde_m": 6.15,
"tag": {
"haeldning_grader": 34.4,
"tagfod_m": 2.26,
"konfidens": 0.62,
"antal_celler": 934,
"tagform": "saddeltag",
"kip_retning_grader": 103.5,
"fald_retning_grader": 193.5,
"aarsag": null
}
}
],
"bygninger_uden_omrids": [],
"tekniske_anlaeg": [],
"attribution": "@geodanmark",
"timings": {
"composed_at": "2026-10-12T09:31:01.541Z",
"total_ms": 1121,
"registre": {
"dar": 3,
"matriklen": 285,
"bbr": 220,
"geodanmark": 403,
"dhm": 220,
"stednavne": 2,
"dagi": 200,
"vurdering": 114,
"plan": 304,
"jord": 178,
"kortlaegning": 669,
"byggelinjer": 1120,
"stoej": 69,
"oversvoemmelse": 58,
"energimaerke": 3
}
},
"meta": {
"kilde": "Grundfast",
"grundfast_version": "0.1.0",
"id": "5651067",
"id_type": "bfe",
"adgangsadresse_id": null
}
}Forkortet: lange lister og geometrier er skåret ned — de viste værdier er uændrede.
Parametre
idstringstipåkrævet- Et BFE-nummer eller et DAR-id (UUID) på en adgangsadresse eller en enhedsadresse — ikke adresseteksten; den slår du op med
/v1/adresse/search, som giver bådebfe_nummerogadgangsadresse_id. En enhedsadresse slås op på sin adgangsadresse, og en adresse åbner den ejendom (BFE), den ligger på.Eksempel:5651067 omgivelserbooleanqueryvalgfritruetager nabogrunde, deres bygninger, naboejendomme og veje og vand med. Svaret bliver langt større; udeladt i eksemplerne.
Felter i svaret
parcelobject | null- Matriklen: alle jordstykker på BFE’en med matrikelnummer, ejerlav, areal og omrids (WGS84).
bbrobject | null- BBR-summen for ejendommen: bygninger, enheder og arealer. Den enkelte bygning ligger i
buildings[].bbrsammen med sit omrids, sin målte højde (hoejde_m, DHM) og sin tagform. adresserobject[]- Alle adgangsadresser på BFE’en, efter husnummer;
adresseer den første. dagiobject | null- Kommune og region.
administrativt_omraadeobject[]- Sogn, retskreds, politikreds og opstillingskreds. Et tema, der ikke kunne slås op, mangler i listen — det betyder aldrig, at ejendommen ikke ligger i et.
vurderingobject | null- Den seneste offentlige ejendomsvurdering og årsserien.
planobject | null- Zone, lokalplaner og kommuneplanramme for hele grunden — og en vejledende restbyggeret.
stoej, jord, jord_kortlaegning, oversvoemmelse, energimaerkeobject | null- Bindingerne på grunden.
nullbetyder, at kilden ikke svarede — aldrig "ingen støj" eller "ikke kortlagt". Inden i et svar har hver del sin egen status. byggelinjerobject[]- Alle ti byggelinjer på punktet, i kraft eller ej. En tom liste betyder, at opslaget ikke landede — aldrig "ingen byggelinje"; det står på den enkelte linje som
inden_for: false. metaobjectidsom spurgt,id_type(bfe,adgangsadresseelleradresse) ogadgangsadresse_idfor et adresse-id.punkt, opslagspunkt{ lon, lat } | nullpunkter adressepunktet.opslagspunkter det punkt inde på grunden — så langt fra skel som muligt — hvor alle punktregistrene (plan, byggelinjer, jord, DAGI, terræn, stednavne) er spurgt, og hvorfra byggelinjernes afstande er målt. Det er ikke adressepunktet.terraen{ terraen_m, overflade_m } | null- Terræn- og overfladekote i meter DVR90 (meter over havet), målt i
opslagspunkt. Skal du bruge koten præcis ved adressen, så kald/v1/dhm/kotemed adressens koordinat — se guiden. neighbours, neighbour_buildings, omraadeobject[] | object- Kun med
?omgivelser=true: nabogrunde (bfe_nummer,matrikelnummer,ejerlavskode, omrids irings), deres bygningers omrids og veje og vand (omraade.roads,water_polygons,water_lines) omkring ejendommen. Navnene er engelske, fordi de er geometrien til 3D-scenen på ejendomssiderne; felterne med data er danske. naboejendomme{ bfe_nummer, betegnelse }[]- Kun med
?omgivelser=true: nabogrundene som ejendomme med deres første adresse — til at linke videre, fx "Solbakkevej 72, 8600 Silkeborg".
Statuskoder
| Status | Betydning |
|---|---|
| 200 | Svaret er leveret. |
| 400 | Id’et er hverken et BFE-nummer eller et DAR-id (UUID). |
| 401 | Manglende eller ugyldig API-nøgle. |
| 404 | BFE-nummeret har ingen jordstykker i Matriklen, eller adresse-id’et findes ikke i DAR. |
| 429 | Rate limit eller månedskvote overskredet. |
| 503 | Adresseindekset er ikke indlæst (kun for opslag på adresse-id). |
Alle fejl har samme form. Byg logikken på type (fejlklassen) og vis message (dansk tekst med årsagen) til brugeren; hint kommer med, når vi kan se, hvad der skal rettes, og request_id er det, support skal bruge. Se Fejl og statuskoder for hver type, og hvad der kan prøves igen.
{
"error": "property not found",
"type": "not_found",
"code": "not_found",
"message": "Ressourcen findes ikke.",
"request_id": "6cbfa45a-a9ea-4140-9d42-ea752a70ff1f",
"doc_url": "https://grundfast.dk/docs/fejl#not_found"
}Prøv det
Live-kald fra siden
Kræver din nøgle