Danish address API for autocomplete, validation and geocoding.
One REST API for 2.7 million Danish addresses. Autocomplete, address validation, lookup and forward/reverse geocoding — all drop-in compatible with DAWA, which shuts down 1 July 2026.
Everything you need for Danish addresses.
Four building blocks — autocomplete, validation, lookup and geocoding — in one consistent JSON API. Add BBR buildings or DAGI districts to any call with a single parameter.
Address autocomplete
Type-ahead search that returns ranked address suggestions as the user types. Fuzzy matching tolerates typos, missing house numbers and abbreviations. p99 under 50ms.
- Fuzzy match
- Type-ahead
- < 50ms
Address validation
Verify that an address exists and is deliverable before you store it. Returns a canonical, corrected address with UUID and coordinates.
- Canonical form
- Deliverable check
Address lookup
Look up any access or unit address by UUID, or search by street name, house number and postal code. Same response shape as DAWA.
- UUID
- Structured search
Geocoding
Address to coordinates (forward) and coordinates to nearest address (reverse) in WGS84 and ETRS89/UTM32N (EPSG:25832).
- Forward
- Reverse
+ BBR buildings
Add ?include=bbr to enrich any address with 35+ building and dwelling fields — area, year built, heating, usage.
- ?include=bbr
+ DAGI districts
Add ?include=dagi to get municipality, parish, region, police and court districts for any address in the same call.
- ?include=dagi
One API that grows with you. From first prototype to millions of lookups.
See all featuresChange one line. Everything else works.
We're 100% drop-in compatible with DAWA. Same paths, same query parameters, same JSON shape. Switch the base URL to /dawa and add your API key — the rest of your integration is unchanged.
// Your existing DAWA codeconst r = await fetch('https://api.dataforsyningen.dk/adgangsadresser?q=' + q,);const addresses = await r.json();
// Switch base URL to /dawa + add your keyconst r = await fetch('https://api.danskadresseapi.dk/dawa/adgangsadresser?q=' + q,{ headers: { Authorization: 'Bearer YOUR_KEY' } },);const addresses = await r.json();
Make your first address lookup in under 30 seconds.
Click through the six API areas to see TypeScript code and JSON responses in action. Copy the examples straight into your project.
Search addresses, street names and postal codes
Lightning-fast search across 4.1M addresses with fuzzy matching, prefix cache and bulk-receiver routing. Results come back in the order users expect.
- p99 < 50ms
- Typesense + Redis
- Fuzzy and typo-tolerant
// TypeScript SDK
const { results } = await addr.autocomplete({
q: 'vesterbro',
limit: 5,
});[
{ "tekst": "Vesterbrogade 1, 1620 København V",
"id": "0a3f50a7-...",
"kommunekode": "0101" },
{ "tekst": "Vesterbrogade 12, 1620 København V", ... }
]Built for checkout, CRM and forms.
Wherever a user types an address, the address API removes typos, fills the rest automatically and validates before you store it.
E-commerce checkout
Autocomplete the shipping address, validate it is deliverable, and cut failed deliveries from wrong addresses.
CRM & onboarding
Validate customer addresses at sign-up and enrich them with municipality and building data automatically.
Logistics & routing
Geocode every address to precise coordinates for route planning and delivery windows.
Public-sector forms
Drop-in DAWA replacement for case-handling and self-service forms before DAWA shuts down.
Free to start. Pay only for what you use.
1,000 address lookups per month are free — forever. Change plan or cancel anytime. No commitment, no setup fees, no surprises.
Hobby
Side projects and prototypes.
- 1,000 calls/mo
- 3 live keys · 7-day log
- 1 workspace · 1 seat
Basic
Small businesses and freelancers.
- 100,000 calls/mo
- +DKK 1 per 1,000 extra
- 5 live keys · 14-day log
Pro
Mid-sized companies and SaaS platforms.
- 500,000 calls/mo
- +DKK 1 per 1,000 extra
- 25 live keys · 30-day log
Enterprise
Starts at 2M calls, 300/sec and 100 keys. Scales up to 100M calls.
- 2M calls included (up to 100M)
- 300 calls/sec (up to 1,000/sec)
- 100 API keys (up to 500)
Need more capacity or missing a feature? Contact sales
Find the answer. Step-by-step guides for everything.
24+ guides — from your first DAWA migration to advanced batch validation. Search, filter and learn.
Address API questions
Ready to start?
1.000 free address lookups per month. No credit card, no commitment. Drop-in DAWA replacement if you already have an integration.




