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 →

Geocoding and reverse — WGS84 & ETRS89/UTM32N

Convert addresses to coordinates and back — in WGS84 (4326) and ETRS89/UTM32N (EPSG:25832). 2.4M access addresses.

Status: Live · all 2.4M coordinates indexed.

What you get

Forward — address → coordinate

From street + house number + postcode, or a single text string.

Reverse — coordinate → address

<10 ms · finds the nearest address from a GPS pin.

Two coordinate systems

Ask for WGS84 for map pins, ETRS89 for surveying.

Pre-calculated lookups

Spatial index on lat/lon — no on-the-fly transformation.

Spatial filters

Bbox, polygon and radius searches (Pro+).

Batch geocoding

1M addresses in batch · async job with a download URL.

Example

# Reverse — coordinate → address
curl 'https://api.danadresse.dk/adgangsadresser/reverse?x=12.5683&y=55.6761'

# Forward — address → coordinate (autocomplete + struktur=full)
curl 'https://api.danadresse.dk/autocomplete?q=R%C3%A5dhuspladsen+1&struktur=full'

How it's used

Map pins & markers

Plot customers, orders, deliveries on a map with precision.

Route planning

Driver app: drive from GPS to address · ETA per pin.

GPS → address

Field service: technician triangulates position to an address ID.

Spatial analysis

Density per postcode, radius stats, choropleth maps.

Drop-in DAWA-compatible

The slug /geokodning 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 →