Byggelinjer · § 8, § 15–19 og § 3

# Alle byggelinjer på ét koordinat — med afstanden til kanten

Strand og klit, sø og å, skov, fortidsminde, kirke, diger og § 3-natur: **10 linjer i ét kald**. Hver svarer med om punktet er inde, og hvor mange meter der er til kanten — så dit værktøj kan sige “flyt bygningen halvanden meter” i stedet for bare “nej”.

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register) [Se dokumentationen](https://grundfast.dk/docs/api/natur-byggelinjer)

Kaldet

- [GET /v1/natur/byggelinjer?lon=&lat=](https://grundfast.dk/docs/api/natur-byggelinjer)

Én ejendom, alle ti linjer

## Hvad binder grunden — og hvor langt er der til kanten?

Vælg et eksempel eller søg en adresse. Linjerne tegnes fra registrets egen geometri, og afstanden er registrets tal — målt fra ét punkt på grunden.

Søg i alle 2,7 mio. danske adgangsadresser.

Prøv fx

Eksempler

Henter geometri …

[Kystgrund ved Østre Strandvej, SkagenØstre Strandvej 96V, 9990 Skagen](https://grundfast.dk/ejendom/9725262/oestre-strandvej-96v-9990-skagen)

- ByggelinjerNaturbeskyttelses­lovenInden for 2 linjer: strandbeskyttelseslinje, beskyttet natur (§ 3) **Strandbeskyttelseslinje**
Inden for · 81 m inde **Beskyttet natur (§ 3)**
Inden for · 53 m inde **Klitfredning**
Uden for **Søbeskyttelseslinje**
Uden for Henter registrets geometri … $.byggelinjer
```
 [  {  "noegle": "strandbeskyttelse",  "navn": "Strandbeskyttelseslinje",  "hjemmel": "naturbeskyttelsesloven § 15",  "inden_for": true,  "usikker": false,  "afstand_m": -81,  "status": "ok"  },  {  "noegle": "natur3",  "navn": "Beskyttet naturtype (§ 3)",  "hjemmel": "naturbeskyttelsesloven § 3",  "inden_for": true,  "usikker": false,  "afstand_m": -53.4,  "status": "ok"  },  // … 8 mere  ]
``` ```
curl "https://api.grundfast.dk/v1/natur/byggelinjer?lon=10.601455&lat=57.723826" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
``` svarede efter 2 ms i sammensætningen[Mere om Byggelinjer →](https://grundfast.dk/byggelinjer-api?bfe=9725262)
- AdresserDAR5 adresser · Østre Strandvej 96V m.fl.1 står som “vejnavn mangler” — DAR’s pladsholder for en vej uden navn
- MatriklenGeodatastyrelsen3 matrikler · 5,3 haSkagen Bygrunde
- BBRBygnings- og BoligregistretOpført 2008 · serviceerhverv 12 m² erhverv
- Bygnings­polygonerGeoDanmark1 omrids tegnetHvert omrids koblet til sin BBR-bygning
- Terræn og højderDHMHøjeste del 3,0 m over terræn · terræn 3,8 m o.h.Målt fra overflademodellen, ikke regnet fra etager
- PlandataPlandata.dkLandzone · Ingen lokalplanGrunden ligger i flere zoner: Landzone og Byzone · lokalplan SKA.183-E på en del af grunden · Ramme SKA.F.02.04
- JordforureningRegionerne · kommunerneIkke kortlagt forureningIkke områdeklassificeret
- StøjMiljøstyrelsenIkke kortlagt over 55 dB ved adresserneEn kortlagt zone når ind i grundens område · 2017 — ikke det samme som stille
- Ejendoms­vurderingVurderingsstyrelsen1,2 mio. kr (2020)Heraf grundværdi 1,2 mio. kr
- DAGIAdministrative grænserFrederikshavn Kommune · Region NordjyllandSkagen Sogn
- StednavneDanske StednavneØsterby · 245 m væk2 stednavne inden for 400 m
- LuftfotoKlimadatastyrelsenOrtofoto under planenEget kald pr. kortflise · alle årgange

Vis alle 13 registre

[GET /v1/demo/property?bfe=9725262](https://grundfast.dk/v1/demo/property?bfe=9725262)1 kald · 13 registre · fra cache på 16 ms · sammensat kl. 12.43 på 1.932 ms

Inden for 2 af 10 linjer: strandbeskyttelseslinje (81 m inde) og beskyttet natur (§ 3) (53 m inde)

Målt i ét punkt på grunden. Vælg en linje for at se den på planen.

Linjeafstand_m

inde — negativ afstand ude — positiv afstand § 3-natur kvadratrodsskala på hver side af kanten

Strandbeskyttelseslinje

naturbeskyttelsesloven § 15

Målepunktet ligger 81 m inde i linjen.

Tæt på kysten må der som udgangspunkt ikke bygges, ændres terræn eller sættes hegn op uden dispensation.

På planen: henter linjens geometri …

Hvad du får

## Et svar, du kan handle på — også når en kilde er nede

### Afstand med fortegn

`afstand_m`

Meter til nærmeste kant: negativ inde, positiv ude, afrundet til 0,1 m. Det er forskellen på et ja/nej og noget, en arkitekt kan flytte en bygning efter.

### Tre tilstande, aldrig to

`status · inden_for`

En linje, der ikke kunne læses, får `inden_for: null` — de andre svarer normalt. Et nej kommer aldrig af et nedbrud.

### Ophævede linjer holdt adskilt

`ophaevede`

Sø- og ålinjer kan være ophævet, mens registreringen står som “Gældende / Vedtaget”. Vi læser linjen selv; de ophævede følger med som belæg.

### Tre kilder, ét svar

`1 kald = 1 enhed`

Matriklen, Fund og Fortidsminder og Danmarks Arealinformation slås op parallelt og caches et døgn pr. koordinat. Du betaler for spørgsmålet, ikke for kilderne.

Linjerne

## De 10 nøgler i svaret

Alle nøgler står altid i svaret — også når linjen ikke rammer punktet — så en manglende nøgle aldrig kan læses som et nej.

| Nøgle | Hjemmel | Linje og kilde |
| --- | --- | --- |
| strandbeskyttelse | NBL § 15 | Strandbeskyttelseslinje Matriklen (Geodatastyrelsen, via Datafordeler) |
| klitfredning | NBL § 8 | Klitfredningslinje Matriklen (Geodatastyrelsen, via Datafordeler) |
| soe | NBL § 16 | Søbeskyttelseslinje Danmarks Arealinformation (Miljøportalen) |
| aa | NBL § 16 | Åbeskyttelseslinje Danmarks Arealinformation (Miljøportalen) |
| fortidsminde | NBL § 18 | Fortidsmindebeskyttelseslinje Fund og Fortidsminder (Slots- og Kulturstyrelsen) |
| kirke | NBL § 19 | Kirkebyggelinje Danmarks Arealinformation (Miljøportalen) |
| dige | museumsloven § 29 a | Beskyttet sten- og jorddige Danmarks Arealinformation (Miljøportalen) · registreret som linje |
| natur3 | NBL § 3 | Beskyttet naturtype (§ 3) Danmarks Arealinformation (Miljøportalen) |
| vandloeb3 | NBL § 3 | Beskyttet vandløb (§ 3) Danmarks Arealinformation (Miljøportalen) · registreret som linje |
| skov | NBL § 17 | Skovbyggelinje Danmarks Arealinformation (Miljøportalen) |

Ni steder

## Samme ti spørgsmål, ni forskellige svar

Hver linje er sit eget spørgsmål med sit eget svar. Kronborg ligger inden for tre på én gang, Frederiksborg Slot 28 meter uden for søbeskyttelsen, Nyhavn 20 inden for ingen. Gå gennem skemaet med musen eller piletasterne.

Prøv det

## Kald demoen — uden nøgle

Demo-endpointet svarer med det rigtige opslag fra klippekysten ved Svaneke, præcis som det keyede endpoint returnerer det.

GET/v1/demo/byggelinjer

Svaneke · 1,5 m inde i strandbeskyttelsen, 22,9 m inde i en fortidsmindelinje

svar hentet 24. september 2026

```
{
  "punkt": {
    "lon": 15.1450245,
    "lat": 55.1385081
  },
  "epsg25832": [
    891471.9,
    6127457.46
  ],
  "soegeradius_m": 500,
  "linjer": {
    "strandbeskyttelse": {
      "navn": "Strandbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 15",
      "geometri": "flade",
      "status": "ok",
      "inden_for": true,
      "usikker": false,
      "afstand_m": -1.5,
      "antal": 1,
      "traef": {
        "objekt_id": "575344_4",
        "i_kraft": true,
        "status": {
          "kode": null,
          "navn": "Strandbeskyttelse"
        },
        "kategori": null,
        "naturtype": null,
        "beskyttelsesaarsag": null,
        "anlaegstype": null,
        "datering": null,
        "fredningsstatus": null,
        "digetype": null,
        "dokument_url": null,
        "areal_m2": null,
        "gaeldende_fra": "2013-08-20T11:05:24.193Z",
        "registreret": "2018-06-03T17:04:28.674Z",
        "kommune": {
          "navn": null,
          "cvr_kode": null
        }
      },
      "ophaevede": [],
      "kilde": {
        "lag": "mat:StrandbeskyttelseFlade_Gaeldende + mat:StrandbeskyttelseFlade_Foreloebig",
        "wfs": "https://wfs.datafordeler.dk/MATRIKLEN2/MatGaeldendeOgForeloebigWFS/1.0.0/WFS"
      }
    },
    "klitfredning": {
      "navn": "Klitfredningslinje",
      "hjemmel": "naturbeskyttelsesloven § 8",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "mat:KlitfredningFlade_Gaeldende + mat:KlitfredningFlade_Foreloebig",
        "wfs": "https://wfs.datafordeler.dk/MATRIKLEN2/MatGaeldendeOgForeloebigWFS/1.0.0/WFS"
      }
    },
    "soe": {
      "navn": "Søbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 16",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:soe_bes_linjer",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "aa": {
      "navn": "Åbeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 16",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:aa_bes_linjer",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "fortidsminde": {
      "navn": "Fortidsmindebeskyttelseslinje",
      "hjemmel": "naturbeskyttelsesloven § 18",
      "geometri": "flade",
      "status": "ok",
      "inden_for": true,
      "usikker": false,
      "afstand_m": -22.9,
      "antal": 1,
      "traef": {
        "objekt_id": "523640",
        "i_kraft": true,
        "status": {
          "kode": null,
          "navn": null
        },
        "kategori": null,
        "naturtype": null,
        "beskyttelsesaarsag": null,
        "anlaegstype": "Skanse",
        "datering": "Nyere tid",
        "fredningsstatus": "B",
        "digetype": null,
        "dokument_url": "http://www.kulturarv.dk/fundogfortidsminder/Lokalitet/192638",
        "areal_m2": null,
        "gaeldende_fra": null,
        "registreret": null,
        "kommune": {
          "navn": null,
          "cvr_kode": null
        }
      },
      "ophaevede": [],
      "kilde": {
        "lag": "public:fundogfortidsminder_areal_beskyttelse",
        "wfs": "https://www.kulturarv.dk/ffgeoserver/public/wfs"
      }
    },
    "kirke": {
      "navn": "Kirkebyggelinje",
      "hjemmel": "naturbeskyttelsesloven § 19",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": 190.8,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:kirkebyggelinjer",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "dige": {
      "navn": "Beskyttet sten- og jorddige",
      "hjemmel": "museumsloven § 29 a",
      "geometri": "linje",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": 484.3,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:bes_sten_jorddiger_2022",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "natur3": {
      "navn": "Beskyttet naturtype (§ 3)",
      "hjemmel": "naturbeskyttelsesloven § 3",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": 22.7,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:bes_naturtyper",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "vandloeb3": {
      "navn": "Beskyttet vandløb (§ 3)",
      "hjemmel": "naturbeskyttelsesloven § 3",
      "geometri": "linje",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:bes_vandloeb",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    },
    "skov": {
      "navn": "Skovbyggelinje",
      "hjemmel": "naturbeskyttelsesloven § 17",
      "geometri": "flade",
      "status": "ok",
      "inden_for": false,
      "usikker": false,
      "afstand_m": null,
      "antal": 0,
      "traef": null,
      "ophaevede": [],
      "kilde": {
        "lag": "dai:skovbyggelinjer",
        "wfs": "https://arealeditering-dist-geo.miljoeportal.dk/geoserver/wfs"
      }
    }
  },
  "antal_i_kraft": 2,
  "utilgaengelige": [],
  "meta": {
    "kilde": "Danmarks Miljøportal (DAI), Slots- og Kulturstyrelsen (Fund og Fortidsminder) og Geodatastyrelsen (Matriklen) via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

Vis hele svaret (223 linjer)

Med din egen nøgle: `GET /v1/natur/byggelinjer?lon=&lat=`

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register)

Kald det

## Slå den nye bygnings eget punkt op

Linjerne er polygoner og kan skære tværs gennem en grund, så send bygningens punkt, ikke ejendommens. Samme `gf_live_`-nøgle og metering som de øvrige registre.

```
curl -H "Authorization: Bearer gf_live_…" \
  "https://api.grundfast.dk/v1/natur/byggelinjer?lon=15.1450245&lat=55.1385081"
```

Reference

## Felterne pr. linje

| Felt | Type | Betydning |
| --- | --- | --- |
| linjer.\<nøgle>.status | "ok" \| "utilgaengelig" | Læs den først. "utilgaengelig" betyder, at netop den kilde ikke kunne læses — de øvrige linjer svarer normalt. |
| linjer.\<nøgle>.inden_for | boolean \| null | Om punktet ligger inden for en gældende linje. null præcis når status ikke er "ok" — aldrig false af en fejl. |
| linjer.\<nøgle>.afstand_m | number \| null | Meter til nærmeste kant med fortegn (negativ inde, positiv ude), regnet i EPSG:25832 og afrundet til 0,1 m. null når intet ligger inden for soegeradius_m. Skov har bevidst ingen afstand. |
| linjer.\<nøgle>.usikker | boolean | Kvalificerer et ja: linjen står, men ingen vedtaget registrering bærer den. Aldrig sat på et nej. |
| linjer.\<nøgle>.traef | object \| null | Den ramte registrering: objekt-id, status, kategori, naturtype, anlægstype og datering, dokumentlink, gældende fra. |
| linjer.\<nøgle>.ophaevede | object[] | Ophævede linjer ved punktet, som dokumentation. De gælder ikke og tæller ikke i inden_for. |
| utilgaengelige | string[] | Nøglerne på linjer, der ikke kunne læses. Tom liste = alle linjer blev faktisk besvaret. |
| antal_i_kraft · soegeradius_m | number | Hvor mange linjer der rammer punktet, og radius for afstandsopslaget (500 m). |

Kanttilfælde: ophævet, usikker og en kilde nede De tre svar ud over det normale, som API’et skriver dem

```
# Sø-linjen er OPHÆVET her, men registreringen står som "Gældende / Vedtaget":
GET /v1/natur/byggelinjer?lon=9.2212583&lat=55.3608007
→ 200  { linjer: { soe: { inden_for: false,
                          ophaevede: [ { kategori: { kode: 3, navn: "Beskyttelseslinje ophævet - statslig afgørelse" },
                                         status:   { kode: 3, navn: "Gældende / Vedtaget" } } ] } } }

# Linjen står, men ingen VEDTAGET registrering bag den:
→ 200  { linjer: { soe: { inden_for: true, usikker: true, … } } }

# Én kilde svigter — de øvrige svarer stadig:
→ 200  { linjer: { soe: { status: "utilgaengelig", inden_for: null, afstand_m: null } },
         utilgaengelige: ["soe"] }
```

Hvorfor sø- og ålinjerne kræver to kolonner Kategori_kode mod Statuskode i Danmarks Arealinformation

I `dai:soe_bes_linjer` står linjens egen tilstand i `Kategori_kode` og registreringens i `Statuskode`. Da vi talte i september 2026, var 68 sø- og 102 åpolygoner ophævede linjer, hvis registrering stadig står som “Gældende / Vedtaget”; læser man kun status, melder man byggeforbud, hvor der ikke er noget. Kategori_kode 0 (“Ikke udfyldt”) giver et ja med `usikker: true`, og kode 4 er selve søen, der kaster linjen — den tæller hverken som gældende eller ophævet.

Hvem bruger det

## Fra desk study til tegnebordet

- [Miljø- og geoteknikrådgivere Desk study før felten: § 3-natur, diger og fortidsminder på grunden, inden der bores eller graves.](https://grundfast.dk/loesninger/miljoe-og-geoteknik)
- [Projektudviklere og arkitekter Hvor kan bygningen stå? Afstanden til hver linje, direkte i skitse- og tegneværktøjet.](https://grundfast.dk/loesninger/projektudvikling)
- [Investorer og due diligence Bindingerne på en grund i samme kald for hele porteføljen — med et nej, der er målt.](https://grundfast.dk/loesninger/due-diligence)

Spørgsmål

## Ofte stillede spørgsmål

### Hvorfor ét endpoint i stedet for ét pr. linje?

Fordi spørgsmålet sjældent er “ligger jeg i en skovbyggelinje”, men “er der noget, der binder punktet her”. Et tegneværktøj slår op hver gang brugeren flytter bygningen, og separate endpoints ville være flere rundture og flere afregnede kald for én bevægelse. Her er det ét kald. Vi slår parallelt op på de tre kilder; et koldt opslag tager typisk 0,6–1,1 sekund, og svaret caches derefter et døgn pr. koordinat.

### Kan inden_for: false komme af en upstream-fejl?

Nej. Et false er det svar, nogen bruger til at konkludere, at reglen ikke rammer dem, så det kommer kun af et opslag der lykkedes. Kan en kilde ikke nås, er laget tomt, eller er svaret afkortet, får netop den linje status "utilgaengelig" og inden_for null, og nøglen står i utilgaengelige. Et delvist svar caches ikke. Den eneste fejlkode for hele kaldet er 503, når registret slet ikke er konfigureret.

### Hvad betyder geometri: "linje" på diger og § 3-vandløb?

At registret gemmer selve det beskyttede objekt som en streg, ikke som en zone omkring det. Der er ingen flade at ligge inde i, så inden_for betyder, at punktet ligger på objektet inden for 2 meter — og afstand_m er det brugbare felt: “der ligger et beskyttet dige 3,4 m herfra” er det, man skal vide, inden man graver.

### Hvorfor svarer API’et ikke, om jeg må bygge?

Fordi det ikke kan afgøres fra et koordinat. Paragrafferne har hver deres undtagelser, strandbeskyttelsen administreres af Kystdirektoratet og ikke af kommunen, og § 3-beskyttelsen følger naturen på stedet frem for kortet. Om en regel rammer et konkret projekt, afhænger af projekttype, areal og zone — oplysninger kun du har. Derfor bærer svaret hverken kraever_dispensation eller forbudt: vi rapporterer linjerne, og du lægger undtagelserne oveni.

### Hvilke koordinater sender jeg, og hvad koster et opslag?

lon/lat i WGS84; DAWA-stilen x/y med srid=4326 eller 25832 virker også. Mangler en parameter, eller ligger punktet uden for Danmark, svarer endpointet 400. Et opslag er ét kald på den fælles prismodel, med samme nøgle som BBR, Matriklen og DAR — uanset hvor mange linjer det rører.

### Er svaret juridisk bindende?

Nej, det er vejledende. Linjerne vedligeholdes af kommunerne i Danmarks Arealinformation, af Slots- og Kulturstyrelsen og af Geodatastyrelsen; vi krediterer kilderne og udstiller dem samlet med cache og SLA. Kommunen, Kystdirektoratet og Miljøstyrelsen afgør den konkrete sag.

Se også

- [Skovbyggelinje-API Skov-nøglen i dybden — ophævede polygoner, forslag, konflikt](https://grundfast.dk/skovbyggelinje-api)
- [Områdeklassificering-API Jordforureningen ved samme koordinat](https://grundfast.dk/omraadeklassificering-api)
- [Matrikel-API Jordstykket og BFE-nummeret bag koordinatet](https://grundfast.dk/matrikel-api)
- [Bygningspolygoner-API Hvor bygningerne står i forhold til linjerne](https://grundfast.dk/bygningspolygoner-api)
- [Byggelinje Begrebet forklaret](https://grundfast.dk/begreber/byggelinje)
- [Strandbeskyttelseslinje § 15 forklaret](https://grundfast.dk/begreber/strandbeskyttelseslinje)
- [Hvad skal en forsikring vide om ejendommen? Guide: linjerne som del af stedets data](https://grundfast.dk/guides/risikoscreening-forsikring)

Byggelinje-API

## Alle linjer på ét koordinat — i dit eget værktøj

Opret en gratis nøgle og send dit første koordinat. Samme nøgle giver BBR, matrikel, terræn og resten af ejendommen.

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register) [Se dokumentationen](https://grundfast.dk/docs/api/natur-byggelinjer)

Gratis op til 5.000 kald/md · intet kreditkort · data fra Danmarks Miljøportal, Geodatastyrelsen og Slots- og Kulturstyrelsen
