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 — GeoNames (postal codes, postal towns, coordinates, most kommun names) 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-se-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 country code — always SE | { "pattern": "^SE$", "required": true } | Country Code |
| postal_code | string | 5-digit Swedish postal code in NNN NN display format (space significant). Read via this descriptor or pass dtype=str. | { "pattern": "^\\d{3} \\d{2}$", "required": true } | Postal Code |
| place_name | string | Postort (postal town) | { "required": true } | Place Name |
| admin_name1 | string | Län (county) | { "required": true } | Administrative Name 1 |
| admin_code1 | string | ISO 3166-2:SE county code, SE- prefix stripped | { "required": true } | Administrative Code 1 |
| admin_name2 | string | Kommun (municipality). Source-supplied for most rows; where the source left it blank, resolved from evidence already in the dataset or a corrections table — see README. | { "required": true } | Administrative Name 2 |
| admin_code2 | string | Reserved — Sweden has no official municipality-level ISO code, and none is populated for this build. | Administrative Code 2 | |
| admin_name3 | string | Reserved — not populated for Sweden (postort occupies place_name, the finest tier this source reaches). | Administrative Name 3 | |
| admin_code3 | string | Reserved — not populated for Sweden. | Administrative Code 3 | |
| latitude | number | WGS84 latitude, decimal degrees, 5 dp — postal-code centroid, not building-level | Latitude | |
| longitude | number | WGS84 longitude, decimal degrees, 5 dp — postal-code centroid, not building-level | Longitude | |
| accuracy | string | Coordinate granularity tier — always AREA for this dataset (postal-code centroid, not GeoNames' numeric 1-6 scale) | Accuracy | |
| alternative_city_name | string | Alternate postort spelling/name where the source supplies one | Alternative City Name |
Download
Download sample CSVAbout
About this dataset
Sweden (SE): 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.50 (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
- Live
se.csvcame from an external fedex-agents-prototypecountries/SWEkommun-resolution build (commit 27401c7). That build is not in this repo. - The in-repo
build_base.pyis a GeoNames passthrough. Porting it would regress against live: about 3,055 blank kommun, 17 blank län, 47 kommun and 29 län reassignments, 45 name normalisations, accuracy AREA → numeric, andadmin_code2populated. It would also break the schema's required flags. - 29 new GeoNames codes seen in the comparison are upstream drift.
Decisions
| Decision | By | Basis |
|---|---|---|
| Defer: stay on live data | User, 2026-10-05 | A faithful port of the in-repo builder regresses live |
Open questions
- Revisit if the kommun-resolution build is brought into the repo.
Provenance
Written 2026-10-05 from docs/parity/p5.md (batch sign-offs) and the bd notes on pc-28e.7.50.