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 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-ca-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 country code — always CA | { "pattern": "^CA$", "required": true } | Country Code |
| postal_code | string | Six-character postal code, formatted 'A1A 1A1' — primary key | { "pattern": "^[A-Z]\\d[A-Z] \\d[A-Z]\\d$", "required": true } | Postal Code |
| place_name | string | Place / locality name for the postal code | Place Name | |
| admin_name1 | string | Province or territory name | Administrative Name 1 | |
| admin_code1 | string | Province or territory two-letter code | Administrative Code 1 | |
| admin_name2 | string | Census Division name (SGC 2021), derived by spatial join | Administrative Name 2 | |
| admin_code2 | string | Four-digit Census Division UID (SGC 2021) | Administrative Code 2 | |
| admin_name3 | string | Census Subdivision name (SGC 2021) — municipality, city, town, township or reserve | Administrative Name 3 | |
| admin_code3 | string | Seven-digit Census Subdivision UID (SGC 2021). Its first four digits are the Census Division UID in admin_code2 | Administrative Code 3 | |
| latitude | number | Latitude, decimal degrees (WGS84) | Latitude | |
| longitude | number | Longitude, decimal degrees (WGS84) | Longitude | |
| accuracy | string | Coordinate accuracy indicator as supplied by the source | Accuracy | |
| alternative_city_name | string | Pipe-separated alternate place names, where known | Alternative City Name |
Download
Download sample CSVAbout
- Total rows
- ...
- Format
- CSV
- Sources
- GeoNames postal code export for Canada, CA_full (CC BY 4.0) - postal codes, place names and coordinates
- Statistics Canada, 2021 Census cartographic boundary files (Census Divisions and Census Subdivisions), Open Government Licence - Canada - census geography, assigned to each postal code by spatial join. Not endorsed by or affiliated with Statistics Canada or GeoNames.
About this dataset
Canada (CA): 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.9 (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 StatCan 2021 CD/CSD boundary zips (
www12.statcan.gc.calcd_000b21a_e.zip,lcsd000b21a_e.zip) return 403 behind a Cloudflare managed JS challenge. This was re-checked and is still 403. GeoNamesCA_fullfetches fine. - The
geo.statcan.gc.caArcGIS REST service works, but it is a source switch and was not approved. - Open sources only; never PCCF (datahub-next#941).
2026-10-06: live republish absorbed (pc-28e.20)
- main
36277b7(amautadev) republished ca: a new premium zip on R2 (2026-10-05 19:46 UTC), Census Subdivision wording, and real GeoNames and StatCan sources. - Re-harvested from that zip. The new CSV differs from the old harvest in 256 rows: place_name and alternative_city_name swap, and 334 coordinates are now blanked as demonstrably wrong.
- The descriptor takes the new description and the two real sources, which replace the "Multiple sources" placeholder. README is the harvested live README.
Decisions
| Decision | By | Basis |
|---|---|---|
| Defer: stay on live data; retry www12 later | User, 2026-10-05 | Boundary source blocked; source switch not approved |
Open questions
- Retry
www12.statcan.gc.calater, or decide on the ArcGIS REST source switch.
Provenance
Written 2026-10-05 from docs/parity/p5.md (batch sign-offs) and the bd notes on pc-28e.7.9.