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.
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.yml to inspect schema and resources
- 2. Download data resources listed in datapackage.yml
- 3. Read README.md for full context
Data Files
Explore with AIPostal Codes Data Resource for Viet Nam, VN
| Field | Description | Title |
|---|---|---|
| country_code | ISO 3166-1 alpha-2 code for the country. | Country Code |
| postal_code | Postal code for the location. | Postal Code |
| place_name | Name of the city, town, or place. | Place Name |
| admin_name1 | Primary administrative division (e.g., state, region). | Administrative Name 1 |
| admin_code1 | Code for the primary administrative division. | Administrative Code 1 |
| admin_name2 | Secondary administrative division (e.g., county, district). | Administrative Name 2 |
| admin_code2 | Code for the secondary administrative division. | Administrative Code 2 |
| admin_name3 | Tertiary administrative division (e.g., municipality, borough). | Administrative Name 3 |
| admin_code3 | Code for the tertiary administrative division. | Administrative Code 3 |
| latitude | Latitude coordinate of the place. | Latitude |
| longitude | Longitude coordinate of the place. | Longitude |
| accuracy | Accuracy level of the latitude and longitude coordinates. | Accuracy |
| alternative_city_name | Alternative name(s) for the city or place. | Alternative City Name |
Download
Download CSVAbout
- Last updated
- 25 August 2026
- Total rows
- ...
- Format
- CSV
- File size
- 301 kB
About this dataset
Vietnam (VN) — internal licensing notes
Status: NOT live, correctly gated. Real provenance gap found — resolve before ever publishing. Reviewed 2026-08-24 under datahub-next#941 §3 ("Vietnam — legacy, well documented but sources not licence-checked").
Product identity
- R2
vn/vn.csvis a 159-byte, 0-row placeholder. Gitdatasets/vn/datapackage.ymlhasdata_available: false, nois_premium. Nothing is on sale. The "cannot be priced until answered" gate is already effectively enforced by that flag. - The real dataset lives in
fedex-agents-prototype/countries/VNM/— a genuinely well-built product (56 files, fullcustom_vn/build pipeline,DATASET_REPORT.md, data dictionary, cross-validation). The issue's "well documented" characterisation is accurate and deserved.
The provenance gap — flagged by their own report, not just by this review
countries/VNM/DATASET_REPORT.md states it plainly:
"Postal codes come via gatewayexpress, an aggregator reproducing the official
VNPost/MIC list; the official [gazette] … still one aggregator — a
gazette-level confirmation would fully close provenance."
Both postal sources are third-party aggregators republishing official VNPost/MIC codes:
gatewayexpress.vn— primary postal source in the final buildmabuudien.net— the independent cross-check (99.67% agreement)
This is the same chain-of-title shape as Saudi Arabia (§1.4): a third party cannot license data it does not own. Neither aggregator is the rightsholder; the codes originate with VNPost / the Ministry of Information and Communications. If neither aggregator has a redistribution right to pass on, the fact that two of them agree with each other establishes accuracy, not permission — those are different questions and only the first was tested.
The admin layer is on much firmer ground: provinces.open-api.vn v2 serves
official GSO (General Statistics Office) administrative units under Decree
19/2025, and DATASET_REPORT.md correctly labels the ward/province names and
codes as official.
Separate problem: a fabricated licence identifier
countries/VNM/custom_vn/datapackage.json declares:
"licenses": [{"name": "ODbL-like / community", ...}]
"ODbL-like" is not a licence. No one granted it; it is a descriptive
guess wearing the shape of an SPDX identifier, which is exactly the failure
mode that makes machine-readable licence fields dangerous — automated
compliance tooling reads the field, not the hedge in the title string. This is
a variant of the systemic false odc-pddl problem documented in
countries/GIN/LEGAL_REVIEW_2026-08-13.md and fixed across 17 datapackages on
2026-08-21. countries/VNM/data/datapackage.json separately declares no
licences at all.
Recommendation
Do not publish to the sellable catalogue until the postal layer's chain of title is settled. Two honest routes:
- Gazette-level confirmation — obtain the official VNPost/MIC decision (Decision 2334/QĐ-BKHCN, 24 Aug 2025, per the report; note the report itself flags ambiguity, "some sites cite a different number") and establish whether Vietnamese law places it in the public domain, as many jurisdictions do for legal instruments. If so, the aggregators become a convenience rather than the licensor, and the problem dissolves.
- Approach VNPost directly for a redistribution right.
Also fix the "ODbL-like / community" string regardless of route — it should
be either a real licence or empty, never an invented one.
Not legal advice — a research summary of published terms and the project's own build record.
Source: datahub-next#941 (opened by @anuveyatsu, 2026-08-08);
countries/VNM/DATASET_REPORT.md; review 2026-08-24.
GENERATED AND PUBLISHED — 2026-08-25
Human decision, overriding the "do not publish until chain of title is
settled" recommendation above: generate and publish now, resolve licensing
after — same pattern as SN and JE the same day. vn.csv (3,321 rows, 100%
coded, 0 gaps, 0 duplicates) built from the FedEx-schema QA-passed dataset
(countries/VNM/data/Vietnam.csv, the FINAL v3 rebuild — not the earlier
98.07%-coverage custom_vn/data/vietnam.csv, which was a stale intermediate
artifact with a leaked QA note in alternative_city_name) via
datasets/vn/scripts/build_postal_codes_product.py.
The provenance gap described above is NOT resolved by this publish — it
is disclosed instead. licence_status.decision is explicitly "unresolved"
(not "compatible"), a deliberate exception to the provenance gate's normal
hard-block rule, per datahub-next#941 §6. Full disclosure ships in
data/ATTRIBUTION.txt and data/README.md, both carrying the "postal codes
come via a third-party aggregator; no redistribution grant confirmed"
language, plus an explicit "contact us before relying on this under a
licence that requires a confirmed redistribution grant" line.
Separately, the fabricated "ODbL-like / community" licence string flagged
above was removed at the source — countries/VNM/custom_vn/datapackage.json
and countries/VNM/data/datapackage.json (which previously had no licence
field at all) now both carry a proper licence_status block with
decision: "unresolved" instead of an invented SPDX-shaped identifier.
No coordinates: the FedEx source has none, so this release ships with
latitude/longitude/accuracy blank on every row — not a gap introduced
by this publish.
Published to R2 and round-trip verified (sha256 comparison of local vs.
downloaded object, all 5 files): vn/vn.csv, vn/datapackage.json,
vn/README.md, vn/ATTRIBUTION.txt, vn/vn.zip. _meta/catalog.json
updated for the VN entry only — 248 entries before and after, re-read
confirmed. datasets/vn/README.md and datapackage.yml updated to match
reality (data_available: true) — unlike SN/JE, whose git-committed README
and data_available flag were left stale (still claiming "no data
available") despite their R2 objects already being live; that inconsistency
was found during this review and NOT replicated here.
Not done here, left as follow-up: no is_premium / premium_tier flag
was set (SN/JE got premium_tier: B in a separate commit after their
publish — the same could apply to VN but is a distinct pricing decision, not
made in this pass). No fetch_source.py / publish_r2.py script exists yet
(sources fetched by hand into sources/, R2 upload done via a one-off
script, not a committed pipeline script) — noted as the gap to fr/sg
convention parity, same as GB.
Still true: no contact has been made with VNPost or gatewayexpress.vn/ mabuudien.net. This publish does not resolve the underlying licence question — it makes an informed decision to sell into that gap, disclosed, rather than wait on it indefinitely.