Migrate from DAWA in one line

Same paths, same response shape. Just change the base URL and add your X-Api-Key — the rest of your code is unchanged.

Before — DAWA
curl "https://dawa.aws.dk/autocomplete?q=rådhuspladsen"
After — Danadresse
curl "https://api.danadresse.dk/autocomplete?q=rådhuspladsen" \
     -H "X-Api-Key: dawa_live_…"
Before — DAWA
fetch("https://dawa.aws.dk/autocomplete?q=rådhuspladsen")
After — Danadresse
fetch("https://api.danadresse.dk/autocomplete?q=rådhuspladsen", {
  headers: { "X-Api-Key": "dawa_live_…" }
})
Before — DAWA
requests.get("https://dawa.aws.dk/autocomplete",
             params={"q": "rådhuspladsen"})
After — Danadresse
requests.get("https://api.danadresse.dk/autocomplete",
             params={"q": "rådhuspladsen"},
             headers={"X-Api-Key": "dawa_live_…"})
Before — DAWA
$ctx = stream_context_create();
file_get_contents("https://dawa.aws.dk/autocomplete?q=rådhuspladsen", false, $ctx);
After — Danadresse
$ctx = stream_context_create(["http" => [
  "header" => "X-Api-Key: dawa_live_…"
]]);
file_get_contents("https://api.danadresse.dk/autocomplete?q=rådhuspladsen", false, $ctx);
Before — DAWA
http.Get("https://dawa.aws.dk/autocomplete?q=rådhuspladsen")
After — Danadresse
req, _ := http.NewRequest("GET",
  "https://api.danadresse.dk/autocomplete?q=rådhuspladsen", nil)
req.Header.Set("X-Api-Key", "dawa_live_…")
http.DefaultClient.Do(req)
Before — DAWA
await http.GetStringAsync(
  "https://dawa.aws.dk/autocomplete?q=rådhuspladsen");
After — Danadresse
http.DefaultRequestHeaders.Add("X-Api-Key", "dawa_live_…");
await http.GetStringAsync(
  "https://api.danadresse.dk/autocomplete?q=rådhuspladsen");
Get a free key →

BBR data via API · in 30 seconds

Fetch building and unit data from the Danish Building and Dwelling Register (BBR). 35 fields per building · auto-updated hourly · the same data source the tax authority uses.

Status: BBR ETL is rolling out (Q3 2026). The endpoint returns the structure today and fills in continuously.

What you get

35+ building fields

Area, year built, usage code, heating, roofing, exterior-wall material — all in one lookup.

12+ unit fields

Residence, area, number of rooms, bathroom and kitchen facilities per dwelling/unit.

120+ usage codes

BBR's official taxonomy mapped to human-readable labels.

Auto-sync hourly

We follow Datafordeleren's replication stream — as soon as the municipality updates.

?include=bbr enrichment

Add one query param on /adresser and get building data in the same response.

Standalone /v1/bbr/*

Look up directly by BFE number or building ID if you already have it.

Example

curl https://api.danadresse.dk/api/v1/enrich/adresser/{id}/bbr \
     -H 'X-Api-Key: dawa_live_…'

How it's used

Estate agents

Auto-fill property sheets from an address — living area, year built, room count.

Insurance

Per-property risk profile — exterior-wall material + heating + roof.

Energy labelling

Match BBR data against EMO for consultant reports.

Climate tech

Building footprint + insulation status for CO2 models.

Drop-in DAWA-compatible

The slug /bbr follows DAWA's conventions — same paths, same JSON shape, same UUIDs. See the migration guide for the full picture.

See also

DAWA vs Datafordeleren What is DAR? Free API (2,000 calls/mo) WooCommerce autocomplete Shopify address API

Ready to integrate?

Free key, no credit card, 2,000 calls/month.

Start free →    Read the API docs →