Hent mange ejendomme
Ejendomsprofiler for en liste af BFE-numre og adresse-id’er i ét kald, med fejl pr. id.
https://api.grundfast.dk/v1/ejendom:batchHvert id giver den samme profil som GET /v1/ejendom/:id, uden omgivelser. Svaret har results og errors i listens rækkefølge og er altid 200, medmindre selve body’en er ugyldig.
Et id er en hel ejendomsprofil — omkring 15 opslag hos kilderne — så der er færre id’er pr. kald end i de andre batch-kald: Pro 10, Scale 20 og Enterprise 30. Et id, der ikke nåede at blive startet inden for kaldets tidsfrist, står i errors med status 503 og kan sendes igen.
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.
Kræver Pro-planen
På en lavere plan svarer endpointet 402. Se planerne.
Afregning
Én enhed pr. profil, der kom tilbage.
Eksempel
curl -X POST "https://api.grundfast.dk/v1/ejendom:batch" \
-H "Authorization: Bearer $GRUNDFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ids":[5651067,"0a3f507b-1faf-32b8-e044-0003ba298018"]}'{
"results": [
{
"id": "5651067",
"ejendom": {
"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
}
}
}
],
"errors": [
{
"id": "1",
"status": 404,
"error": "ejendom '1' not found (unknown or unmapped BFE)"
}
],
"requested": 2,
"succeeded": 1,
"failed": 1
}Forkortet: lange lister og geometrier er skåret ned — de viste værdier er uændrede.
Request-body
JSON med Content-Type: application/json.
ids(integer | string)[]bodypåkrævet- BFE-numre og DAR-id’er, blandet. Dubletter fjernes.
Statuskoder
| Status | Betydning |
|---|---|
| 200 | Svaret er leveret. |
| 400 | Body’en er ikke { "ids": [...] } med BFE-numre og DAR-id’er, eller listen er længere, end nogen plan tager. |
| 401 | Manglende eller ugyldig API-nøgle. |
| 402 | Batch kræver Pro eller højere — eller listen er længere end planens grænse. |
| 429 | Rate limit eller månedskvote overskredet. |
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