Skip to content

Danish property and address data, in one API

Grundfast serves the Danish national registers — buildings, units, cadastral parcels, addresses and companies — through a single REST API with a bearer token. Code lists arrive translated, names re-joined, geometry in WGS84, and the whole thing sits behind a cached mirror so an upstream outage is not your outage.

Læs denne side på dansk

What you get in one call

Look a property up by its BFE number and the buildings, units and parcels come back together. Not three requests against three registers, joined by you.

curl -H "Authorization: Bearer gf_live_..." \
  "https://api.grundfast.dk/v1/bbr/ejendom/1304503"

Why this exists

The property, not just the address

One call on a BFE number returns the whole property — buildings, units, parcels and ejerlav in a single data model. Address-only APIs stop at the front door.

Codes already translated

Datafordeler returns numeric code lists and split names. Grundfast resolves them, re-joins the names and serves current-only rows, which is the shape the old services.datafordeler.dk had.

An SLA mirror over a flaky upstream

Datafordeler runs at roughly 90% uptime and flaps 401s. Grundfast retries, backs off and serves from a cache, so your checkout does not inherit their bad afternoon.

Point-in-time history

Add ?asOf=<date> to read a property or address as it stood then — useful when a case has to be reconstructed after the fact.

Registers live today

All seven are in production. Each one is a documented REST surface and an MCP tool.

RegisterCoversDetail
BBRBuildings and unitsFloor area, year built, use, materials, heating — code lists resolved to text.
MatriklenCadastral parcelsJordstykker and ejerlav names, joined to the property and reprojected to WGS84.
DARAddressesLookup by UUID, autocomplete, address washing and reverse geocoding.
CVRCompaniesName, status, legal form, industry and location by CVR number.
DAGIAdministrative geographyMunicipalities, regions and postal districts as clean GeoJSON.
DHMElevationTerrain and surface height at a coordinate (DTM/DSM).
StednavnePlace namesOfficial Danish place names near a coordinate, nearest first.

Migrating off DAWA

DAWA (Danmarks Adressers Web API) closes on 1 October 2026 at 10:00. Every address surface it exposed has a live Grundfast equivalent — repoint the base URL to https://api.grundfast.dk/v1 and add a bearer key.

The full endpoint-by-endpoint mapping is on the DAWA replacement page.

For AI agents

Grundfast exposes a Model Context Protocol server at POST /mcp with one tool per register, so an agent can resolve an address, pull a BBR rollup or check a CVR number without a bespoke integration. It is published in the official MCP registry as dk.grundfast/danish-address-property-data. Authentication and metering are identical to REST.

Start before the shutdown

Create a free key, point your base URL at /v1, and keep the response shape your integration already expects.

See also

Frequently asked questions

Is Grundfast an official Danish government API?

No. Grundfast is an independent compatibility layer over Datafordeler (SDFI / Klimadatastyrelsen). The underlying data comes from the official Danish registers and is CC BY 4.0 — we credit the source and sell the transformation, the stability and the SLA on top of it. Grundfast is not affiliated with or operated by SDFI.

Do I need to speak Danish to use the API?

No. Endpoint paths and many field names use Danish register terminology, because that is what the registers are called and renaming them would make the data harder to match against official sources. The documentation, the OpenAPI spec and the TypeScript SDK are usable without Danish, and the code lists are resolved to readable values.

What is a BFE number?

BFE (Bestemt Fast Ejendom) is the Danish national identifier for a distinct piece of real property. It is the key that ties buildings, units and cadastral parcels together, which is why Grundfast uses it as the primary lookup for property data. You can get one from an address or from a coordinate.

How is this priced?

Self-serve, metered per call: a free tier, then Starter, Pro and Scale. Test keys (gf_test_) are never billed, so you can build against a sandbox before committing. Annual Enterprise contracts are available for higher volume and support commitments.

Can AI agents call it directly?

Yes. Grundfast runs a Model Context Protocol (MCP) server at POST /mcp with one tool per register, authenticated with the same gf_ bearer key and metered like REST. It is listed in the official MCP registry as dk.grundfast/danish-address-property-data.