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-hu-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always HU | Country Code | |
| postal_code | string | Hungarian postal code (4 digits) | { "pattern": "^\\d{4}$" } | Postal Code |
| place_name | string | Locality/place name | Place Name | |
| admin_name1 | string | Megye (county) or Budapest -- 20/20 covered | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:HU code | Administrative Code 1 | |
| admin_name2 | string | Not populated -- jaras (district) is genuinely absent from GeoNames' postal export for Hungary, and GeoNames' own general gazetteer covers only a small fraction of places at this tier, too sparse to close the gap; see ATTRIBUTION.txt | Administrative Name 2 | |
| admin_code2 | string | Not populated | Administrative Code 2 | |
| admin_name3 | string | Not populated in this release | Administrative Name 3 | |
| admin_code3 | string | Not populated | Administrative Code 3 | |
| latitude | number | GeoNames latitude (WGS84) | Latitude | |
| longitude | number | GeoNames longitude (WGS84) | Longitude | |
| accuracy | string | GeoNames accuracy of latitude/longitude. GeoNames documents 1=estimated, 4=geonameid, 6=centroid of addresses or shape; other values (e.g. 3) occur upstream without documentation. Empty where GeoNames gives none. | Accuracy | |
| alternative_city_name | string | Not populated in this release | Alternative City Name |
Download
Download sample CSVAbout
- Last updated
- 6 October 2026
- Total rows
- 100
- Format
- CSV
- File size
- 5.54 kB
About this dataset
Hungary (HU) — internal licensing notes
Source research, 2026-08-29
GeoNames is the only source with a verified open licence. The official
Magyar Posta file exists and is directly downloadable, but its
redistribution terms could not be confirmed — treat as unresolved, not
assumed clean.
GeoNames HU postal export — verified clean, but admin2 is thin
https://download.geonames.org/export/zip/HU.zip # 3,571 rows
Licence CC BY 4.0, verified against export/zip/readme.txt on 2026-08-29
— no per-country caveat for Hungary. admin_name1 (megye/county) filled on
all 3,571 rows, 20 distinct — matches Hungary's real structure (19 counties
- Budapest = 20) exactly. admin_name2 (járás/district) is EMPTY on every single row (0/3,571) — a genuine gap in the postal export, not a formatting defect. No primary-key collisions, but 3,046 distinct codes across 3,571 rows (some codes legitimately shared by multiple place names).
Checked whether the same-source gazetteer-join trick (proven for South
Africa this session) would fix the admin2 gap — it would not, meaningfully.
GeoNames' general dump for Hungary (export/dump/HU.zip) has admin2 codes
populated on only 83 of 16,020 populated-place entries (56 distinct
codes, out of Hungary's real ~174 járás) — far too sparse to close this
gap by joining. This is a real, disclosed coverage limitation of GeoNames
for Hungary specifically, not something a build can engineer around within
this same source family.
Official source — Magyar Posta irányítószám adatbázis
https://www.posta.hu/static/internet/download/Iranyitoszam-Internet_uj.xlsx
Listed on Magyar Posta's own site under "közérdekű adatok" (public-interest
/ freedom-of-information disclosure data), not under an explicit open-data
licence grant. Hungarian FOI-disclosure obligations do not automatically
carry a commercial-redistribution right — this is the same shape of gap
already treated as unresolved elsewhere in this catalogue (Tanzania,
Mauritius, Vietnam, Senegal): a file is published, but no licence text was
found addressing reuse or resale. Not checked further this pass (no ToS/
licence page found in the search results); would need a direct read of
Magyar Posta's site terms before this could be upgraded past
unresolved.
KSH (Központi Statisztikai Hivatal) — mixed, does not clearly help either
KSH's own generated website content (tables, figures) is CC BY 4.0. But
its own copyright page explicitly EXCLUDES data extracted from KSH's
internal databases on individual request from that licence, stating users
"do not have rights for commercial use of such datasets." The settlement
registry (helységnévtár, ksh.hu/docs/helysegnevtar/hnt_letoltes_2025.xlsx)
is exactly this kind of extracted-on-request database file, not the
general website content — so the CC BY 4.0 grant likely does not cover it.
Treat as unresolved, same reasoning as Magyar Posta above.
licence_status (proposed — needs human sign-off before shipping)
{
"channel": "postal-codes-r2",
"source_url": "https://download.geonames.org/export/zip/HU.zip",
"licence_id": "CC-BY-4.0",
"collected_at": "2026-08-29",
"decision": "compatible",
"decided_by": "claude-session-2026-08-29",
"decided_at": "2026-08-29",
"note": "Covers county (admin_name1) only. Magyar Posta and KSH sources for a real district (jaras) tier were both checked and left unresolved -- no verified open licence found for either, and neither should be scraped for a paid product until one is confirmed."
}
Proposed tier
B ($49). Single source (GeoNames) normalised in place, county-tier only.
Verdict
Build it as a county-only product on GeoNames, OR pause and get a real answer on Magyar Posta/KSH's terms first if district-level coverage is wanted. No licensing obstacle to shipping the GeoNames-only version; the admin2 gap is real and disclosed, not fixable within this source family.
Build — 2026-08-30 (local only, not published)
Built via datasets/hu/scripts/build_postal_codes_product.py. Confirmed
directly: admin_name2 is empty on all 3,571 rows (no county-only build
compromise, this is the actual source shape). admin_code1 turned out to
need no crosswalk table lookup beyond a simple prefix: GeoNames' own
2-letter county codes (BA, BZ, BU, …) are IDENTICAL to the real ISO
3166-2:HU codes (verified against Wikipedia, all 20 match) — just add
"HU-". Kept GeoNames' pre-2020 name "Csongrad" as the source's own text
rather than silently renaming to the 2020-updated "Csongrad-Csanad"; the
ISO code (HU-CS) is unaffected either way.
| value | |
|---|---|
| Final rows | 3,571 |
| Counties covered | 20/20 |
| Distinct postal codes | 3,046 |
| admin_name2 (district) coverage | 0/3,571 — disclosed, not fixable in this source family |
Frictionless validation: valid: True.
Status: built and validated locally only. Nothing published to R2,
nothing committed to git. datasets/hu/README.md and datapackage.yml
updated in place (tier B, premium_source_key: hu/hu.zip, real
sources/licenses, replacing the "Multiple sources" placeholder).