Part of a Data Solution
- Explore →
Postal Codes Solution
Every worldwide postal-code dataset in one bundle — the ultimate global reference for precise postal codes.
Premium
You're viewing a free sample
Get the complete dataset — all rows and files — delivered instantly after checkout, with lifetime access to the latest version.
- Secure checkout via Stripe
- Instant download after payment
- Lifetime access to the latest version
- Creative Commons Attribution 4.0 International license
API Access
Access dataset files directly from scripts, code, or AI agents.
Browse dataset files
API Access
Access dataset files directly from scripts, code, or AI agents.
Each file has a stable URL (r-link) that you can use directly in scripts, apps, or AI agents. These URLs are permanent and safe to hardcode.
Start with these files — they give you everything you need to understand and access the dataset.
- 1. Fetch datapackage.yaml to inspect schema and resources
- 2. Download data resources listed in datapackage.yaml
- 3. Read README.md for full context
Data Files
postal-codes-dk-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always DK | Country Code | |
| postal_code | string | Danish postal code (4 digits) | { "pattern": "^\\d{4}$" } | Postal Code |
| place_name | string | Postdistrikt (postal district) name, as maintained by DAWA/PostNord | Place Name | |
| admin_name1 | string | Region -- all 5 covered | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:DK code, country prefix stripped (e.g. 84 for DK-84) | Administrative Code 1 | |
| admin_name2 | string | Kommune (municipality) -- 99/99 covered, including Christianso; 8 postal codes deliberately re-pointed from the source's first-listed municipality to ensure full coverage, see ATTRIBUTION.txt | Administrative Name 2 | |
| admin_code2 | string | DAWA kommune kode (4-digit) -- no ISO code exists at this tier for Denmark | Administrative Code 2 | |
| admin_name3 | string | Not populated -- Postdistrikt (place_name) is not a distinct third administrative tier in Denmark's own structure | Administrative Name 3 | |
| admin_code3 | string | Not populated | Administrative Code 3 | |
| latitude | number | DAWA visueltcenter (visual center of the postal code's polygon), WGS84, 5dp | Latitude | |
| longitude | number | DAWA visueltcenter, WGS84, 5dp | Longitude | |
| accuracy | string | AREA throughout -- per-code polygon visual center, not a street/address-level point | Accuracy | |
| alternative_city_name | string | Not populated in this release -- DAWA carries no alternate-name field | Alternative City Name |
Download
Download sample CSVAbout
- Total rows
- ...
- Format
- CSV
About this dataset
Denmark (DK): migration notes
Internal record of the P5 migration. This is a dated record (2026-10-05) and is not shipped in the zip.
- Issue: pc-28e.7.16 (open, deferred)
- Producer: none written. The descriptor keeps
pipeline: producer: customwith refresh disabled, and the data stays as harvested from the live zip in09d7c89. - Parity: not run (no producer).
Why it stays on live data
- The DAWA API (
api.dataforsyningen.dk,dawa.aws.dk) permanently returns 410 Gone for postnumre, kommuner and regioner, so the oldscripts/build_postal_codes_product.pycan't fetch. - Successor: the Datafordeler DAR REST
postnummerendpoint (services.datafordeler.dk/DAR/DAR/1/rest/postnummer, 200, no auth) has only postnr and navn. Municipality, region and geometry need other registers, andgraphql.datafordeler.dkis 401 (needs credentials). - For a producer, the old builder's behaviour to keep: rows sorted by postal_code, CRLF in live, coordinates to 5 dp, accuracy AREA, and 8 municipality overrides (2770 3760 2610 2650 2605 2730 8970 4291).
Decisions
| Decision | By | Basis |
|---|---|---|
| Live data unchanged meanwhile | Orchestrator, 2026-10-03 | Plan D1 |
| Defer under D1: stay on live data, no Datafordeler move for now | User, 2026-10-05 | DAWA is gone; Datafordeler needs credentials plus a new licence check |
Open questions
- Revisit if Datafordeler credentials are obtained. That needs a new licence check for the Datafordeler registers (DAR plus whichever registers provide municipality, region and geometry).
Provenance
Written 2026-10-05 from docs/parity/p5.md and the bd notes on pc-28e.7.16.