Skip to content

Datafordeler alternative

Datafordeler, the way your application wants it

Datafordeler is the authoritative source for Danish property and geodata, and it is hard work to build on. Grundfast reads the same registers and serves them ready to use — one key, readable values, one projection, and a cache in front so the upstream’s bad days stay upstream.

Læs denne side på dansk

Before and after

The same building, twice

Left: a BBR building as Datafordeler returns it. Right: the same record from Grundfast. Nothing added, nothing guessed — resolved, reprojected and filtered.

Datafordeler BBR, raw

bygning (GraphQL v3)json
{
  "byg021BygningensAnvendelse": "120",
  "byg026OpførelsesÅr": 1958,
  "byg027OmTilbygningsår": null,
  "byg032YdervæggensMateriale": "1",
  "byg033Tagdækningsmateriale": "5",
  "byg056Varmeinstallation": "1",
  "byg057Opvarmningsmiddel": null,
  "byg404Koordinat": { "wkt": "POINT (533103.83 6223775.44)", "type": "Point" },
  "registreringTil": null,
  "virkningTil": null
}

Grundfast, same record

GET /v1/bbr/ejendom/:bfejson
{
  "anvendelse": { "kode": "120", "tekst": "Fritliggende enfamiliehus" },
  "opfoerelsesaar": 1958,
  "om_tilbygningsaar": null,
  "materialer": {
    "ydervaeg": { "kode": "1", "tekst": "Mursten" },
    "tag": { "kode": "5", "tekst": "Tegl" }
  },
  "varme": {
    "installation": { "kode": "1", "tekst": "Fjernvarme/blokvarme" },
    "opvarmningsmiddel": null
  },
  "geometri": {
    "type": "Point",
    "coordinates": [9.532961, 56.1578452],
    "epsg25832": [533103.83, 6223775.44]
  }
}

The …Til fields decide whether a row is current; Grundfast applies them and drops superseded versions, so they do not need to appear on the right.

What is handled

Six things you no longer build

  • Two users and an IP allowlist

    Datafordeler wants a web user and a service user, and several services expect the caller’s IP registered. Here: one bearer key, from anywhere.

  • Numbers instead of values

    Use, walls, roof and heating arrive as codes to join against separate code lists. Here they arrive resolved, with the code kept beside the text.

  • Rows you did not ask for

    The registers are bitemporal, so a naive query returns superseded versions too. Here: current rows by default, history when you ask.

  • UTM coordinates

    Geometry comes in EPSG:25832. Every web map wants WGS84 — so that is what you get, with the original kept for GIS work.

  • Cursors and page tokens

    GraphQL paginates by cursor and WFS by start index. Grundfast walks both and hands you the whole result.

  • An upstream that has bad days

    Datafordeler has outages and intermittent 401s. Retries with backoff and a cache in front keep them out of your uptime.

2026–27

The old services are being retired

Klimadatastyrelsen is phasing out the old services.datafordeler.dk REST services through 2026 and into 2027 in favour of entity-based GraphQL and WFS. Code written against the old shape has to be rewritten — unless something keeps serving that kind of lookup. Grundfast does, from the new backend, so the move is a new base URL plus a one-time mapping of field names. Addresses were a separate story: DAWA closed on 1 October 2026 — see the DAWA replacement.

FAQ

Questions about Datafordeler

A layer on top. Grundfast reads the same official registers from Datafordeler (run by the Danish Agency for Climate Data, Klimadatastyrelsen) and the other public sources, and serves them in a shape that is easier to build on: translated code lists, joined names, current rows and WGS84 geometry. The data and its authority remain the state’s.

For a one-off report you often should. The cost shows up when an integration has to run unattended: two credentials, IP registration, code lists, bitemporal rows, UTM coordinates, pagination and an upstream that is not built for your uptime target. Grundfast absorbs all of that.

Klimadatastyrelsen is phasing out the old services through 2026 and into 2027 — the first WFS services closed on 1 July 2026 — in favour of entity-based GraphQL and WFS, so integrations written against the old shape have to be rewritten. Grundfast keeps the convenient lookup — one REST call per property, current rows, translated codes — on top of the new backend, so the rewrite shrinks to a one-time mapping of field names.

Yes. The register data from Datafordeler (Klimadatastyrelsen) is licensed CC BY 4.0, and Grundfast credits the source. What Grundfast charges for is the work on top: the transformation, the cache and the availability.

See also

Try it against a real property

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