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 →

Cadastre · ~2.4M land parcels · ~9,000 owner districts

Look up land-parcel data via API: cadastral number, SFE number, area and owner-district membership. Drop-in DAWA format.

Status: Proxy mode against DAWA until 2026-08-17 · Datafordeler-direct afterwards.

What you get

Land parcels

Cadastral no. · SFE number · area · rubber boundaries from GeoDanmark.

Owner districts (9,000)

Complete list of owner-district (ejerlav) codes and their geographic boundaries.

Buildings

Building-to-parcel membership — one address, many buildings.

Large recipients

Special postcodes (1092 Danske Bank, 1099 Nationalbanken …) exposed as first-class.

Address↔parcel

?include=jordstykke on /adresser — one call, everything included.

DAWA shape

Same JSON structure as DAWA's /jordstykker — drop-in.

Example

curl 'https://api.danadresse.dk/jordstykker?ejerlavkode=1234&matrikelnr=5a' \
     -H 'X-Api-Key: dawa_live_…'

How it's used

Property tech

Auto-fill parcel info into property contracts.

Surveying & GIS

QGIS/ArcGIS via REST — no intermediate format.

Law & due diligence

Match owner district + cadastre against the land registry.

Land & agriculture

Track parcels, areas, changes over time.

Drop-in DAWA-compatible

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

See also

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

Ready to integrate?

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

Start free →    Read the API docs →