# Matrikel, jordstykke og BFE-nummer for en adresse

> Find matrikelnummer og ejerlav for en adresse, slå jordstykkets areal op, og hent BFE-nummer, vurdering og lokalplaner med ejendomsopslaget.
>
> https://danadresse.dk/guides/matrikel-og-jordstykke · verified 2026-11-02
En adresse er det, folk skriver på et brev. Matriklen er det, landinspektører, tinglysning og kommuner arbejder med. Skal du koble en adresse til en grund, en ejendomsvurdering eller en lokalplan, har du brug for tre nøgler: ejerlav, matrikelnummer og BFE-nummer.

| Nøgle | Hvad det er |
|---|---|
| Ejerlav | Et matrikulært område med en kode, f.eks. `2000179` Vestervold Kvarter, København |
| Matrikelnummer | Grundens nummer inden for ejerlavet, f.eks. `162` eller `7a` |
| Jordstykke | Ét stykke jord, identificeret ved ejerlav + matrikelnummer |
| BFE-nummer | Bestemt Fast Ejendom: den ejendom, der handles, vurderes og tinglyses |

En ejendom (BFE) kan bestå af flere jordstykker, og et jordstykke kan rumme flere ejendomme, f.eks. ejerlejligheder.

## Ejerlav og matrikelnummer står på adressen

Adgangsadressen har allerede `ejerlav` og `matrikelnr`:

```bash id=matrikel-curl run=live expect="matrikelnr"
curl -s "https://api.danadresse.dk/adgangsadresser/0a3f507a-ec01-32b8-e044-0003ba298018" \
  -H "X-Api-Key: $DANADRESSE_API_KEY"
```

```json id=matrikel-svar run=no
{
  "id": "0a3f507a-ec01-32b8-e044-0003ba298018",
  "adressebetegnelse": "Rådhuspladsen 1, 1550 København V",
  "ejerlav": { "kode": 2000179, "navn": "Vestervold Kvarter, København" },
  "matrikelnr": "162",
  "esrejendomsnr": null
}
```

`ejerlav.kode` er et tal, `matrikelnr` er tekst (det kan indeholde bogstaver). `esrejendomsnr` er altid `null`, fordi det gamle ESR-ejendomsnummer er afløst af BFE-nummeret. Har du et adresse-id, står felterne under `adgangsadresse` i `GET /adresser/{id}`.

## Jordstykkets areal

Med ejerlav og matrikelnummer slår du jordstykket op på `GET /jordstykker/{ejerlavkode}/{matrikelnr}`:

```python id=jordstykke-python run=live expect="registreretareal"
import os
import requests

API = "https://api.danadresse.dk"
s = requests.Session()
s.headers["X-Api-Key"] = os.environ["DANADRESSE_API_KEY"]

a = s.get(f"{API}/adgangsadresser/0a3f507a-ec01-32b8-e044-0003ba298018", timeout=10).json()
if not a.get("ejerlav") or not a.get("matrikelnr"):
    raise SystemExit("Adressen er ikke koblet til et jordstykke")

kode, nr = a["ejerlav"]["kode"], a["matrikelnr"]
j = s.get(f"{API}/jordstykker/{kode}/{requests.utils.quote(nr)}", timeout=10).json()
print(a["adressebetegnelse"])
print(f'  {j["ejerlav"]["navn"]}, matr.nr. {j["matrikelnr"]}')
print(f'  registreretareal: {j["registreretareal"]} m² ({j["arealberegningsmetode"]})')
```

Felterne på et jordstykke er bl.a. `ejerlav` (kode og navn), `matrikelnr`, `registreretareal` (m²), `arealberegningsmetode`, `bfenummer` (BFE-nummeret for den ejendom, jordstykket hører til) og `kommune`, `region`, `sogn` og `retskreds`.

Du kan også søge:

- `GET /jordstykker?ejerlavkode=2000179` giver jordstykkerne i et ejerlav (bladr med `side` og `per_side`). Listen er sorteret efter ejerlav og matrikelnummer, så siderne ikke overlapper.
- `GET /ejerlav?navn=Vestervold` og `GET /ejerlav/autocomplete?q=Vester` finder ejerlav på navn. `GET /ejerlav/{kode}` slår ét op.

Jordstykkerne har ikke geometri eller opslag på koordinat. Skal du fra et punkt på kortet til en matrikel, så find adressen med [reverse-geokodning](/guides/reverse-geokodning-gps) og brug dens `ejerlav` og `matrikelnr`.

## BFE-nummer og ejendommen

`GET /api/v1/enrich/adresser/{id}/ejendom` samler ejendommen på adressen fra flere registre i ét kald. Det tager både et adgangsadresse-id og et adresse-id:

```bash id=ejendom-curl run=syntax
curl -s "https://api.danadresse.dk/api/v1/enrich/adresser/0a3f507c-0624-32b8-e044-0003ba298018/ejendom" \
  -H "X-Api-Key: $DANADRESSE_API_KEY"
```

```json id=ejendom-svar run=no
{
  "adresseid": "0a3f507c-0624-32b8-e044-0003ba298018",
  "adgangsadresseid": "0a3f507c-0624-32b8-e044-0003ba298018",
  "antal_ejendomme": 1,
  "ejendomme": [
    {
      "bfeNummer": "2004739",
      "kommunekode": "0157",
      "matrikel": {
        "bfeNummer": 2004739,
        "erFaelleslod": false,
        "landbrugsnotering": null,
        "udskiltVej": false,
        "opdeltIEjerlejligheder": false
      },
      "vurdering": {
        "vurderingsaar": 2020,
        "ejendomsvaerdi": 49000000,
        "grundvaerdi": 5850000,
        "antal_vurderinger": 24
      }
    }
  ],
  "zoning": {
    "zone": "Byzone",
    "lokalplaner": [
      { "planid": 1037007, "plannr": "209", "navn": "Lokalplan 209 for Hellerup Bydelscenter",
        "anvendelse": "Centerområde", "ikraft": 20030925,
        "dokument": "https://dokument.plandata.dk/20_1037007_1541679182349.pdf" }
    ]
  },
  "terraen": { "terraen_kote_m": 3.35, "datum": "DVR90", "model": "DHM/Terræn" },
  "energimaerke": { "_status": "needs_credential" },
  "antal_bygninger": 7,
  "bygninger": [
    { "id": "70f6f506-2c5b-408f-8e9c-32353f2e0be9", "bygningsnr": "1", "opfoerelsesaar": 1885,
      "samletBygningsareal": 2262, "antalEtager": 4, "anvendelseKode": "321",
      "anvendelseNavn": "Bygning til kontor" }
  ]
}
```

| Felt | Indhold |
|---|---|
| `ejendomme[].bfeNummer` | BFE-nummeret (tekst). Brug det i opslag hos tinglysning og vurdering |
| `ejendomme[].matrikel` | Ejendommens oplysninger fra Matriklen, bl.a. om den er opdelt i ejerlejligheder |
| `ejendomme[].vurdering` | Seneste offentlige vurdering i kr. og vurderingsåret, eller `null` |
| `zoning.zone` | Zonestatus, f.eks. Byzone, Landzone eller Sommerhusområde |
| `zoning.lokalplaner` | Vedtagne lokalplaner på punktet med link til PDF'en. `ikraft` er en dato som tallet ÅÅÅÅMMDD |
| `terraen.terraen_kote_m` | Terrænets højde i meter over havet (DVR90) |
| `bygninger` | Alle BBR-bygninger på adressen |

Bemærk:

- En adresse kan høre til flere ejendomme. Det sker typisk i ejendomme med ejerlejligheder. Løb altid hele listen igennem.
- Et felt, der ikke kan hentes, kan indeholde et objekt med `_status` i stedet for data. `energimaerke` svarer i dag altid sådan. Behandl det som manglende data.
- Svaret bliver gemt i 24 timer. En ny vurdering kan derfor være op til et døgn om at dukke op.

## Nøgler og fejl

- `/api/v1/enrich/*` kræver en almindelig live-nøgle. Testnøgler får `403` med `sandbox_scope`, browsernøgler `403` med `browser_key_scope`.
- Ejendomsopslaget henter data fra Datafordeleren. Under deres servicevinduer svarer det `503` med koden `upstream_unavailable` og en `Retry-After`-header. Prøv igen senere, og lad resten af din side virke uden ejendomsdata.
- `/adgangsadresser`, `/jordstykker` og `/ejerlav` læser fra vores egen kopi og virker med alle nøgletyper.

## Næste skridt

- [Hent BBR-data om bygning og bolig](/guides/bbr-bygningsdata)
- Oversigt: [matrikel](/matrikel) og [ejendomsdata](/ejendom)
