The whole Danish property, in one call
Give Grundfast a BFE number and it returns the property as one document — every building, every unit, the land, the technical installations and the cadastral parcels underneath, already joined. Not five requests against three registers.
GET /v1/bbr/ejendom/:bfeWhat comes back
curl -H "Authorization: Bearer gf_live_..." \ "https://api.grundfast.dk/v1/bbr/ejendom/1304503" # → { bfe, grund, bygninger[], enheder[], jordstykker[], ejerlav } # code lists resolved, geometry in WGS84, current rows only
| Section | Includes |
|---|---|
| Buildings | Footprint area, year built, storeys, use, wall and roof material, heating installation. |
| Units | Floor area, room count, kitchen and toilet facilities, use classification, per-unit address. |
| Land (grund) | The parcel the buildings stand on, plus water supply and drainage. |
| Cadastral parcels | Jordstykker from Matriklen with ejerlav code and name, geometry in WGS84. |
| Technical installations | Solar arrays, pools, wind turbines, tanks, silos and masts as typed records. |
Getting to a BFE number
BFE (Bestemt Fast Ejendom) is the national key for a distinct piece of real property. Two ways in:
- From an address.
/v1/autocompleteor/v1/adresse/searchresolves a string to a DAR address that carries its BFE. - From a coordinate.
/v1/jordstykker/reversereturns the cadastral parcel at a point, with its BFE.
Point-in-time reads
The registers are bitemporal. Grundfast serves current-only by default, and ?asOf=<date> or /historik gives you the property as it stood then — which is what you need when a case has to be reconstructed after the fact.
Look up a real property
Create a free key, point your base URL at /v1, and keep the response shape your integration already expects.
See also
Frequently asked questions
What is BBR?
BBR (Bygnings- og Boligregistret) is the Danish national building and dwelling register. It records every building and every unit in the country — floor area, year built, use, construction materials and heating. It is maintained by the municipalities and distributed through Datafordeler.
How do I find a property if I only have an address?
Resolve the address first. /v1/adresse/search or /v1/autocomplete turns a string into a DAR address, which carries the BFE number of the property it belongs to. You can also go from a coordinate: /v1/jordstykker/reverse returns the parcel and its BFE.
Are the code lists translated?
Yes. Datafordeler returns numeric codes for use, materials, heating and dozens of other fields. Grundfast resolves them to readable values before responding, so you are not shipping a lookup table of your own.
Can I see what a property looked like in the past?
Yes. Add ?asOf=<date> to read the property as it stood on that date, or call /historik for the sequence of changes. The registers are bitemporal underneath; Grundfast serves current-only by default and exposes history when you ask.
Does it include ownership or valuation?
Companies are available through the CVR register. Personal ownership data from EJF is deliberately not exposed — it requires a legitimate-interest assessment under Danish data protection rules, and Grundfast does not ship it by default.