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 →

Vue.js address autocomplete Denmark · Composition API

Add Danish address autocomplete to your Vue 3 app with Composition API: one watchEffect call against api.danadresse.dk and you have typo-tolerant typeahead across 2.7M Danish addresses.

Status: Live — requires API key (free, no credit card)

What you get

Vue 3 Composition API

ref() + watchEffect() — no store, no plugin, one component.

Nuxt 3 server routes

Proxy the API key in a Nuxt server route — the client never sees the key.

Pinia integration

Store recent autocomplete results in a Pinia store for shared state across components.

Example

// Vue 3 Composition API
const q = ref('')
const hits = ref([])
watchEffect(async () => {
  if (!q.value) return
  const r = await fetch(
    `https://api.danadresse.dk/autocomplete?q=${q.value}`,
    { headers: { 'X-Api-Key': import.meta.env.VITE_DANADRESSE_KEY } }
  )
  hits.value = await r.json()
})

How it's used

Vue SPA checkout

Integrate into an existing checkout flow without changing the form structure.

Nuxt content site

Server-rendered address search with full SSR support via useAsyncData.

Headless e-commerce

Combine with Shopify Storefront API or WooCommerce REST — addresses validated, orders correct.

Drop-in DAWA-compatible

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

See also

Free API (2,000 calls/mo) WooCommerce autocomplete Shopify address API Checkout autocomplete Estate agent bundle

Ready to integrate?

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

Start free →    Read the API docs →