Denmark Address Validator & Geocoder avatar

Denmark Address Validator & Geocoder

Pricing

from $10.00 / 1,000 validated danish addresses

Go to Apify Store
Denmark Address Validator & Geocoder

Denmark Address Validator & Geocoder

Validate, normalize & geocode any Danish address using DAWA — Denmarks official open registry of 2.5M+ addresses. Forward, reverse & postcode lookup with municipality & region codes. No API key needed.

Pricing

from $10.00 / 1,000 validated danish addresses

Rating

0.0

(0)

Developer

Stephan Corbeil

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

🇩🇰 Denmark Address Validator & Geocoder

Validate, normalize, and geocode any Danish address using DAWA — the official open-data registry of all 2.5M+ addresses in Denmark.

This actor wraps Denmark's free DAWA (Danmarks Adresser Web API) — the authoritative source maintained by Styrelsen for Dataforsyning og Effektivisering. It returns clean, schema-mapped address records with GPS coordinates, postal codes, municipality codes, and region info — perfect for CRM cleanup, logistics routing, and Danish e-commerce.

What it does

Three modes, one actor:

  • Forward geocoding — fuzzy-match a free-text Danish address (with typos, partial input, or just a street name) and get back validated, normalized records with coordinates.
  • Reverse geocoding — supply a latitude + longitude and get the closest official Danish address.
  • Postcode listing — supply a 4-digit Danish postcode (e.g. 1050) and list addresses inside it, useful for delivery zone enrichment.

Why use this instead of Google Maps Geocoding?

This actorGoogle Maps GeocodingLoqate / Twilio Lookup
Denmark coverage2.5M addresses (official)partial, normalized for international usepartial
Cost (1,000 addresses)$10~$5 + Google API fees + key management$30+
Source authorityDanish government (DAWA)derivedderived
Includes municipality / region codesyesnono
API key managementnonerequiredrequired
Data freshnessevery minutevariesweekly

For Denmark specifically, DAWA is the source of truth that everyone else derives from. This actor lets you tap it directly, normalize the output to English-friendly field names, and bulk-process address lists without writing your own client.

Example output

{
"id": "0b6a0c6f-ed2b-4cc7-9b29-956bdfe670fd",
"address": "Nørrebrogade 10, 2200 København N",
"street": "Nørrebrogade",
"house_number": "10",
"floor": null,
"door": null,
"postcode": "2200",
"city": "København N",
"municipality_code": "0101",
"municipality": "København",
"region_code": "1084",
"region": "Region Hovedstaden",
"longitude": 12.5535,
"latitude": 55.6915,
"darstatus": 3
}

Use cases

  • CRM data quality — normalize messy customer-entered Danish addresses into validated records with coordinates.
  • E-commerce checkout — fuzzy-match partial customer input ("Strandboulevarden 14") to pick the right official address before charging.
  • Delivery routing — bulk-geocode shipping addresses to feed into route optimization.
  • Real estate & lead enrichment — tie a Danish street address to its municipality and region for territory assignment.
  • Compliance & KYC — verify a Danish address actually exists in the official registry.

Quick start

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
// Forward geocode a list of addresses
const run = await client.actor('nexgendata/denmark-address-validator').call({
mode: 'forward',
queries: [
'Rådhuspladsen 1, 1599 København',
'Strandboulevarden 14, Aarhus',
'Nørrebrogade 10'
],
max_results: 3
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
# Reverse geocode a coordinate pair
run = client.actor("nexgendata/denmark-address-validator").call(run_input={
"mode": "reverse",
"latitude": "55.6761",
"longitude": "12.5683",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Frequently asked questions

Does this work for Faroe Islands and Greenland? DAWA covers metropolitan Denmark only. For Faroe Islands or Greenland addresses, you'll need a different source.

Does it handle apartments and floors? Yes — the floor and door fields surface when DAWA has them. Forward queries with apartment-level input ("Nørrebrogade 10, 3. tv") will match accordingly.

What's the rate limit? DAWA itself has no documented per-IP rate limit, but this actor adds a polite 150ms delay between requests in bulk mode to keep the upstream healthy. Expect ~6 queries/sec sustained.

Why is reverse geocoding limited to one result? Reverse always returns the single closest address — that's how DAWA's adgangsadresser/reverse endpoint behaves. To explore neighbors, switch to postcode mode.

Can I export to Google Sheets / CSV? Yes — Apify's dataset export options include CSV, JSON, Excel, HTML, and RSS out of the box. Or pipe results through Make.com / Zapier into your destination of choice.

Pricing rationale

  • $0.005 per actor start — covers cold-start container resources.
  • $0.010 per validated address — Apify free users get $5/month credit, so a free user can validate ~500 Danish addresses/month before topping up. For comparison, Google Maps Geocoding bills ~$5 per 1,000 addresses (plus key/billing setup), Loqate runs $30+ per 1,000. This actor delivers the official Danish source at competitive bulk pricing with zero API-key management overhead.

About NexGenData

Built by NexGenData — we maintain a fleet of 160+ actors targeting markets where the incumbents are either expensive, locked behind enterprise sales, or simply absent. Browse the full catalogue at thenextgennexus.com.

Found a bug or want a feature? Open an issue on the actor's Apify page or reach out via thenextgennexus.com.

💻 Code Example — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/denmark-address-validator").call(run_input={
# Fill in the input shape from the actor's input_schema
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

🌐 Code Example — cURL

curl -X POST "https://api.apify.com/v2/acts/nexgendata~denmark-address-validator/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ /* input schema */ }'

❓ FAQ

Q: How do I get started? Sign up at apify.com, grab your API token from Settings → Integrations, and run the actor via the Apify console, API, Python SDK, or any integration (Zapier, Make.com, n8n).

Q: What's the typical cost per run? See the pricing section below. Most runs finish under $0.10 for typical batches.

Q: Is this actor maintained? Yes. NexGenData maintains 165+ Apify actors and ships updates regularly. Bug reports via the Apify console issues tab get responses within 24 hours.

Q: Can I use the output commercially? Yes — you own the output data. Check the target site's Terms of Service for any usage restrictions on the scraped content itself.

Q: How do I handle rate limits? Apify manages concurrency and retries automatically. For very large batches (10K+ items), run multiple smaller jobs in parallel instead of one mega-job for better reliability.

💰 Pricing

Pay-per-event pricing — you only pay for what you actually extract.

  • Actor Start: $0.0001
  • result: $0.0050

🚀 Apify Affiliate Program

New to Apify? Sign up with our referral link — you get free platform credits on signup, and you help fund the maintenance of this actor fleet.

📚 More From NexGenData

Explore the full catalog, tutorials, Gumroad data packs, and newsletter at thenextgennexus.com — the brand home for everything we ship.

  • 📖 Tutorials & how-to guides
  • 🗂️ Full actor catalog with usage examples
  • 📦 Gumroad data packs (one-time purchases)
  • 📬 Newsletter — monthly drops of new actors and revenue experiments

Built and maintained by NexGenData — 165+ actors covering scraping, enrichment, MCP servers, and automation. 🏠 Home: thenextgennexus.com


Why Denmark Address Validator Beats AWS Location, Google Geocoding API, Mapbox & DAWA Direct

FeatureNexGenData Denmark Address ValidatorAWS Location ServiceGoogle Geocoding APIMapbox GeocodingDAWA direct
Cost$0.001 / address, pay-per-result$0.50-$4 per 1K requests$5 per 1K requests$0.75-$5 per 1KFree (rate-limited, single-ip)
DK official source (DAWA / DAR)Yes — canonicalGeneric globalGeneric globalGeneric globalYes
KVHX / adresseId / kommunekodeYesNoNoNoYes
Bulk batchYes — CSV in / CSV outAPI-only per callAPI-only per callAPI-only per callPer-call (rate-limited)
Fuzzy match + autocompleteYesYesYesYesYes
Coordinate + EPSG:25832YesEPSG:4326 onlyEPSG:4326 onlyEPSG:4326 onlyYes
Bulk exportJSON / CSV / ExcelAPI-onlyAPI-onlyAPI-onlyManual
API accessApify REST + SDKsAWS SDKGoogle Maps APIsMapbox APIDAWA API
Auth requiredApify tokenAWS account + IAMAPI key + billingAccount + planNone (rate-limited)
Monthly minimumNone$0 / pay-as-go$0 / billing-acct$0 / billing-acctNone

Most DK PropTech + logistics + e-commerce teams pick this actor instead of Google Geocoding because Google routinely mis-resolves Danish addresses (especially in Greenland + Faroes, and on apartment-level lookups) and Google's $5/1K rate stacks fast for nightly batch jobs. Cheaper than AWS Location / Mapbox at typical batch volumes and a drop-in alternative to scripting against DAWA directly (rate-limit + retry logic absorbed by the platform). Official Danish source — DAWA (Danish Address Web API) + DAR (Danish Address Register).

Use caseActor
Boliga Denmark real-estate listingsboliga-denmark-real-estate
Singapore HDB resale-price trackersingapore-hdb-resale-tracker
Singapore URA property transactionssg-ura-property-transactions
Singapore ACRA company lookupsingapore-acra-company-lookup
Real-estate MCP server (AI / Claude / GPT)real-estate-mcp-server
Google Maps MCP server (POI + geocode)google-maps-mcp-server
Zillow scraper (US property prices)zillow-scraper
Apartments.com scraper (US rentals)apartments-com-scraper
DNS records lookup (infra utility)dns-records-lookup

Browse the full NexGenData catalog of 260+ actors at https://apify.com/nexgendata?fpr=2ayu9b