HomeDAWA alternative

DAWA shuts down 17 August 2026

DAWA alternative / DAWA analog:
the easiest replacement

DAWA (dawa.aws.dk) shuts down permanently on 17 August 2026. Danadresse is the DAWA analog built as a drop-in replacement — same endpoints, same parameters, same JSON. You only change the base URL and add a key.

Get a free key → See 30-sec migration

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 →

Endpoints, query parameters, response shape and access-address UUIDs are 1:1 with DAWA. No other code changes.

Same response as DAWA — e.g. from /adresser?q=…:

{
  "id": "0a3f50a0-2f3f-32b8-e044-0003ba298018",
  "adressebetegnelse": "Rådhuspladsen 1, 1550 København V",
  "vejstykke": { "navn": "Rådhuspladsen", "kode": "5560" },
  "husnr": "1",
  "postnummer": { "nr": "1550", "navn": "København V" },
  "kommune": { "kode": "0101", "navn": "København" },
  "adgangsadresse": {
    "id": "0a3f508c-9c5e-32b8-e044-0003ba298018",
    "adgangspunkt": { "koordinater": [12.5683, 55.6759], "nøjagtighed": "A" }
  }
}

Compare the alternatives

The real options when DAWA shuts down — and what each one can do. We also wrote a deep comparison of every category on the market — official free tools, commercial clones, international geocoders and per-lookup validators, with prices and limits.

Feature Danadresse Datafordeleren (direct) Google Places DAWA
Available after 17/8 2026✅ Yes✅ Yes✅ Yes❌ Closed
Drop-in DAWA-compatible (same API)✅ 1:1❌ GraphQL/WFS❌ Own API
REST + JSON⚠️ Partial
Autocomplete (typeahead)❌ Build it yourself
Address cleansing (A/B/C)
Access-address UUID (DAR)
BBR + cadastre + DAGI✅ (separate)⚠️ Partial
Reverse geocoding⚠️
Replication (events)
Property-data hub (valuation, zoning, energy)✅ Unique❌ Build it yourself
Access without a business agreement⚠️ Often required
Priced in DKK (not USD)❌ USDFree
Free tier✅ 2,000/month⚠️⚠️ Credit

✅ full · ⚠️ partial/conditional · ❌ not supported. Datafordeleren is the official underlying register — Danadresse serves the DAWA API on top of the same data, so you avoid building the GraphQL/OAuth2 integration yourself.

Speed — measured, not claimed

Median response time (p50) against DAWA's own live endpoints on identical queries. Lower = faster.

Autocomplete danadresse 65 ms · DAWA 110 ms
us
DAWA
Full-text search (?q=) danadresse 100 ms · DAWA 125 ms
us
DAWA
Lookup (postcode / municipality) danadresse 67 ms · DAWA 135 ms
us
DAWA
Reverse geocoding danadresse 150 ms · DAWA 125 ms
us
DAWA

Measured 14 June 2026 from a developer client — not from our own server. n = 25 warm requests per endpoint against DAWA's live API. On autocomplete, full-text and lookup we are consistently faster; reverse geocoding is on par. The measurement tool is open: api_bench.py. See also transparency.

Frequently asked questions

What is the best DAWA alternative?

For most DAWA users Danadresse is the simplest, because it is a drop-in replacement — same endpoints and JSON as DAWA. You only change the base URL and add a key. See the migration guide.

Can I use Datafordeleren instead?

Yes, but Datafordeleren is not a 1:1 DAWA replacement. It uses GraphQL/WFS + OAuth2 and often requires a business agreement. Danadresse serves the DAWA API on top of the same data.

Is Google Places a good alternative?

Google Places does not return Danish register data (access-address UUID, BBR, cadastre, DAGI, street codes), is priced in USD and is not DAWA-compatible. Rarely a good replacement for Danish systems.

What does it cost?

Free tier with 2,000 API calls + 250 MCP calls/month, then Basic 89 DKK/mo (71 DKK/mo billed yearly) with 60,000 API calls + 5,000 MCP, Pro 279 DKK/mo (223 DKK/mo billed yearly) with 350,000 API calls + 25,000 MCP, Enterprise from 499 DKK/mo. All prices ex VAT. See pricing.

How long does the switch take?

Usually under a minute — new base URL + API key, the rest of the code unchanged.

Switch from DAWA today

Drop-in replacement. 2,000 calls/month free. No credit card.

Get a free key →

More about the DAWA shutdown · API docs · Code examples