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-mx-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always MX | Country Code | |
| postal_code | string | Mexican postal code (5 digits) | { "pattern": "^\\d{5}$" } | Postal Code |
| place_name | string | Colonia (neighbourhood) name from GeoNames -- empty on rows recovered only from SEPOMEX's official code list (no name in that source) | Place Name | |
| admin_name1 | string | State (32 federal entities) | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:MX code | Administrative Code 1 | |
| admin_name2 | string | Municipio, from GeoNames | Administrative Name 2 | |
| admin_code2 | string | GeoNames municipio code | Administrative Code 2 | |
| admin_name3 | string | From GeoNames -- equals admin_name2 on roughly a fifth of rows, a distinct sub-municipal value on the rest, per the source | Administrative Name 3 | |
| admin_code3 | string | From GeoNames | Administrative Code 3 | |
| latitude | number | SEPOMEX official polygon centroid where available, else GeoNames-estimated | Latitude | |
| longitude | number | See latitude | Longitude | |
| accuracy | string | POSTAL_CODE where sourced from a SEPOMEX official polygon centroid; otherwise GeoNames' own code (1=estimated, 4=gazetteer match, 6=centroid of addresses/shape) | Accuracy | |
| alternative_city_name | string | Not populated in this release | Alternative City Name |
Download
Download sample CSVAbout
- Total rows
- ...
- Format
- CSV
About this dataset
Mexico (MX): 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.36 (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 SEPOMEX downloads return 403 from our egress, so
scripts/fetch_sepomex.pycan't fetch the source.
Decisions
| Decision | By | Basis |
|---|---|---|
| Defer under D1: stay on live data | User, 2026-10-03 | Source unreachable from our egress |
Open questions
- Revisit with an MX/US egress. The P8 refresh runner needs one too.
Provenance
Written 2026-10-05 from docs/parity/p5.md (batch sign-offs) and the bd notes on pc-28e.7.36.