Skip to content

DAWA closed 1 Oct

Danish addresses, and the whole property behind them

One API over the Danish national registers. Resolve an address, then read the buildings, parcel, public valuation, terrain, soil classification and protection lines of the property behind it — codes translated, records joined, geometry in WGS84.

The dashboard is in Danish; the API reference is in English, and response fields use the registers’ own Danish names.

Læs denne side på dansk

One property, every register

Nyhavn 20, 1051 København K

BFE 6033800
BBRBuildings
3 buildings · 12 units · built 1845
BBRHeritage
Building 1 is listedfredet: true
BBRRoof, building 2
Fibre cement, may contain asbestostag: "Fibercement herunder asbest"
MatriklenParcel
759 m² · no. 280
VurderingPublic valuation 2020
DKK 50,000,000
DHMHeight
19.3 m roof · 2.5 m terrain
JordSoil
Classified — soil must be analysed before it is movedanalysekrav: "Område med krav om analyser"
ByggelinjerProtection lines
10 checked · none apply
Real response · /v1/demo/propertyCaptured 24 Sept 2026

Who builds on it

For teams that need the property, not just the address

Four jobs, and each one chains several registers — the joining is the part Grundfast does for you.

  • Environmental consultants

    The desk study before an environmental or geotechnical site visit: construction year and roof material for asbestos screening, soil classification, protection lines and terrain.

    BBRJordforureningByggelinjerDHM
  • Investors and due-diligence teams

    From an address to the property, its buildings and parcels, the public valuation series and the company behind a tenant or seller.

    DARBBRMatriklenEjendomsvurderingCVR
  • Proptech and property platforms

    Address autocomplete in the form, the property behind it in the product — with batch lookups for portfolios and signed webhooks when records change.

    DARBBREjendomsvurdering
  • AI agents

    The same registers as read-only MCP tools on the same key, so an assistant can answer “what stands on this plot?” without a bespoke integration.

    MCP

Coverage

13 registers, one key

All thirteen are in production, nationwide. Each is a documented REST endpoint and an MCP tool, and two derived layers sit on top.

  • Buildings and units

    BBR

    Use, year built and rebuilt, floor areas, wall and roof material, heating — every code resolved to text.

    /v1/bbr/ejendom/:bfe
  • Cadastral parcels

    Matriklen

    Parcel numbers, ejerlav and parcel geometry per property, reprojected to WGS84.

    /v1/matrikel/ejendom/:bfe
  • Public valuation

    Ejendomsvurdering

    Property and land value with the full yearly series, as the tax authority assessed it.

    /v1/vurdering/:bfe
  • Addresses

    DAR

    Autocomplete, lookup by UUID, address washing and reverse geocoding.

    /v1/adresse/search
  • Companies

    CVR

    Name, status, legal form, industry and address by CVR number.

    /v1/cvr/:cvr
  • Administrative areas

    DAGI

    Municipality, region, parish, court and police district for any point.

    /v1/dagi/:tema/:kode
  • Elevation

    DHM

    Terrain height at any coordinate, and the measured height of each building.

    /v1/dhm/punkt
  • Place names

    Stednavne

    Official place names around a point, nearest first.

    /v1/stednavne/punkt
  • Soil classification

    Jordforurening

    Whether a point lies in an area where soil must be analysed before it is moved (§ 50 a).

    /v1/jord/omraadeklassificering
  • Forest building line

    Naturbeskyttelse

    The 300 m forest line (§ 17) at a point, including where it has been lifted.

    /v1/natur/skovbyggelinje
  • Protection lines

    Byggelinjer

    Ten coastal, lake, river, monument, church, dike and § 3 lines, each with a signed distance to its edge.

    /v1/natur/byggelinjer
  • Zoning and local plans

    Plandata

    Zone, local plans, sub-areas and municipal plan frames at a point — with status, plan PDF and plot ratio; per property an indicative remaining floor area.

    /v1/plan
  • Road and rail noise

    Noise

    Road, rail, airport and industry noise bands (Lden, Lnight) at a point from the national noise mapping, with the mapping year.

    /v1/miljoe/stoej
  • Building footprints

    Layer · GeoDanmark

    The polygon of every building on a property, joined to its BBR record.

    /v1/geodanmark/bygninger/:bfe
  • Aerial imagery

    Layer · Ortofoto

    XYZ map tiles by flight year, with a retina variant for the same ground.

    /v1/orto/tile/:z/:x/:y
  • Every endpoint, parameter and field

    The OpenAPI 3.1 reference, in English — including the batch, GeoJSON, history and export variants of the endpoints above.

Integrate

The card above, from your own code

The same property, BFE 6033800, read from three registers with one key. The typed SDK retries transient failures for you.

  • Codes arrive as text

    Use, materials and heating come back readable, with the code kept beside the text.

  • WGS84, current rows

    Geometry reprojected from UTM 32N; superseded bitemporal versions filtered out.

  • One bearer key

    No service users, no IP allowlist — the same key for REST and MCP.

  • A cache in front

    Retries and a cached mirror, so an upstream outage stays upstream.

import { GrundfastClient } from '@grundfast/sdk';

const gf = new GrundfastClient({ apiKey: process.env.GRUNDFAST_API_KEY });
const bfe = 6033800; // Nyhavn 20, Copenhagen

const [property, parcels, valuation] = await Promise.all([
  gf.ejendom(bfe),
  gf.matrikel(bfe),
  gf.vurdering(bfe),
]);

property.antal_bygninger;              // 3
parcels.jordstykker[0]?.areal_m2;      // 759
valuation.seneste?.ejendomsvaerdi_kr;  // 50000000

Moving from another source

Moving off a retired API

Pricing

Metered per call, free to start

Prices in DKK a month, excluding VAT. Pay yearly and save 20%.

Free

0DKK / mo

5,000 calls included

Starter

99DKK / mo

100,000 calls included

Pro

249DKK / mo

500,000 calls included

Scale

599DKK / mo

2,000,000 calls included

Plans, annual prices and the Enterprise contract: see pricing.

FAQ

Questions international teams ask

No, but you will see some. The dashboard is in Danish; the API reference is in English, and response fields use the registers’ own Danish names. Code-list values arrive as the register’s own Danish text — “Tegl” rather than “clay tile” — because that is what matches official documents.

No. Grundfast is an independent service built on the official Danish registers, distributed by Datafordeler (Klimadatastyrelsen) under CC BY 4.0. We credit the source and charge for the work on top: translated code lists, joined records, WGS84 geometry, a cache in front of the upstream and support. Grundfast is not affiliated with Klimadatastyrelsen.

BFE (Bestemt Fast Ejendom) is the national identifier for a piece of real property. It ties buildings, units, parcels and the public valuation together, which is why most property endpoints are keyed on it. You get one from an address, from a coordinate via /v1/jordstykker/reverse, or from a parcel number.

Not personal owners. Ownership data for private individuals requires a legitimate-interest assessment under Danish data protection rules, and Grundfast does not expose it. Company data from CVR is available.

Register reads come from Datafordeler and the other official sources through a cache, so a response is at most as old as that register’s cache window, and a short upstream outage is usually absorbed rather than passed on. Point-in-time reads with ?asOf= return the record as it stood on a given date (Scale plan and up).

Yes. The Free plan needs no card, and a gf_test_ key is a sandbox on real data that is never billed — capped at its own monthly allowance, separate from your plan.

Start today

Build on Danish property data

Create a free key and make your first call in a minute. Build against a gf_test_ key that is never billed, and upgrade when the traffic is real.

Free up to 5,000 calls a month · no card · test keys never billed · data from Klimadatastyrelsen / Datafordeler, CC BY 4.0