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 Rwanda, RW
| 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
- 17 September 2026
- Total rows
- ...
- Format
- CSV
- File size
- 603 kB
About this dataset
Rwanda (RW) — internal licensing notes
Source research, 2026-09-17 — structural fit check, not primarily a licensing question
Confirmed: Rwanda has no operational postal-code system. Addressing
relies on the administrative hierarchy (province, district, sector, cell)
plus, in Kigali, a street-coding scheme (KG/KK/KN prefixes for
Gasabo/Kicukiro/Nyarugenge + avenue/street numbers) — not postcodes.
Current repo state (verified, not assumed)
datasets/rw/datapackage.yml:data_available: false— accurate.- R2/datahub placeholder
https://postal.datahub.io/rw/rw.csv: fetched 2026-09-17, returns exactly the 13-column header row, 158 bytes (matches the datapackage's declaredbytes: 158) — confirms this is genuinely an empty placeholder, not a stale-but-real file. datasets/rw/README.mdalready states plainly there is no data yet and invites a data request — consistent with the above.- No
.licensing-notes.mdexisted forrwbefore this pass.
What was checked
- Wikipedia, "List of postal codes" (2026-09-17): Rwanda's row reads format = "no codes", no further note (unlike Libya's 2019-project note or Syria's "4-digit system announced" note — Rwanda's entry is a plain, unqualified "no codes").
- National Post Office (Iposita / i-posita.rw), Rwanda's postal
operator: its Wikipedia article makes no mention of postal or ZIP
codes at all — only organisational/monopoly/financial matters. The
live site itself (
i-posita.rw) is not usably reachable: HTTPS fails with an expired certificate, and even bypassing cert validation (curl -k) gets a 403 (Cloudflare/WAF-style block, not a postal-code page). No evidence anywhere of a bulk postcode list, lookup API, or pilot dataset from the postal authority. - Rwanda's "digital addressing" push — checked, and it is NOT a postal
code system, confirming the task's suspicion:
- ePoBox (
epobox.app), built on MPost — described as "Rwanda's national digital addressing & logistics platform" — issues a digital address linked to GPS / Plus Codes / nearest Post Office per individual/business account, not a public list of area codes. This is an address-point/PO-box product (closer to a private what3words/ Plus-Codes wrapper), not a postal-code scheme, and there is no bulk public dataset to fetch even if it were in scope. - Rwanda's other prominent "digital ID" initiatives found in this pass (Single Digital ID / biometric national ID, 2024–2026) are person- identity systems, unrelated to postal/address geocoding.
- Rwanda's own National Numbering Plan (RURA, June 2023) — checked as a possible official-numbering candidate — is a telecom numbering plan (phone number allocation), not a postal/address code system.
- Conclusion: no official, semi-official, or private Rwandan system
found assigns area-level postal codes. The "digital address" layer
that does exist is point-level (GPS/Plus Codes per address/PO Box),
not the area-level
postal_codefield this schema needs, and it is privately operated (MPost/ePoBox), not an open bulk source in any case.
- ePoBox (
GeoNames
- Postal export:
https://download.geonames.org/export/zip/RW.zip→ plain 404 (confirmed 2026-09-17). Consistent with there being no postal-code system to export — same signature as Libya/Syria/Zimbabwe. - Main gazetteer dump:
https://download.geonames.org/export/dump/RW.zip→ 200 OK, 487,346 bytes, extracts toRW.txt(21,013 total rows). This is a real, fetchable candidate for a future free locality-only build, same product used for Bolivia/Ethiopia/Uganda/Libya/Zimbabwe/ Syria in this catalogue.- Feature class
P(populated places): 10,260 rows. admin1(province) coverage among P rows, by GeoNames numeric code:15(Southern) 3,252 ·14(Western) 2,523 ·13(Northern) 2,255 ·11(Eastern) 1,825 ·12(Kigali) 404 · 1 row with a blank admin1 code (would ship with blankadmin_name1/admin_code1, left blank rather than guessed, per the Libya/Zimbabwe/Syria precedent).- GeoNames'
admin1CodesASCII.txtlists all 5 RW buckets by name:RW.11Eastern Province,RW.12Kigali,RW.13Northern Province,RW.14Western Province,RW.15Southern Province — 5/5, matching Rwanda's real administrative structure (4 provinces + the City of Kigali, which holds equal provincial status).
- Feature class
ISO 3166-2:RW crosswalk (needed for any future build)
Confirmed via Wikipedia's ISO_3166-2:RW page (2026-09-17) — 5 units,
all with real alpha-numeric ISO codes (result of the 2006 administrative
reform that reduced 12 prefectures to 1 city + 4 provinces):
| ISO code | Unit | GeoNames admin1 bucket |
|---|---|---|
| RW-01 | City of Kigali (Ville de Kigali / Umujyi wa Kigali) | RW.12 (Kigali) |
| RW-02 | Eastern (Est / Iburasirazuba) | RW.11 (Eastern Province) |
| RW-03 | Northern (Nord / Amajyaruguru) | RW.13 (Northern Province) |
| RW-04 | Western (Ouest / Iburengerazuba) | RW.14 (Western Province) |
| RW-05 | Southern (Sud / Amajyepfo) | RW.15 (Southern Province) |
The GeoNames↔ISO crosswalk is clean — all 5 GeoNames numeric buckets map
one-to-one to all 5 current ISO codes by name, no reform-era mismatches
(same clean shape as Libya/Syria, unlike Ethiopia's 2 unmapped post-reform
regions). Note the GeoNames↔ISO numbering is NOT sequential/parallel
(GeoNames' .11–.15 vs ISO's 01–05 in a different order) — a build
must join by name, never assume position/order.
Verdict
Same class as Libya/Syria pre-build: no operational postal-code system, and unlike Libya/Syria there isn't even an announced/in-progress rollout — Rwanda's Wikipedia entry is a plain "no codes" with no qualifying note, and the "digital addressing" activity found (ePoBox/MPost) is a private point-level address product, not a postal-code project working toward public codes. This looks closer to a permanent-shape no-postal-code country than a "revisit later" one, though it hasn't been checked across multiple research passes the way Libya/Syria have — treat as provisionally closed on the postal-code question, re-check if a future pass turns up an official rollout.
Free-locality-directory candidate: YES, same shape as Bolivia/Ethiopia/Uganda/Libya/Zimbabwe/Syria. GeoNames' main gazetteer dump is live, returns 10,260 populated places, covers all 5 administrative units with a clean ISO 3166-2:RW crosswalk already verified, and is licensed CC BY 4.0 — the same terms already used for the equivalent builds elsewhere in this catalogue. No incompatible-licence signal found (GeoNames CC BY 4.0 throughout; no OSM/ODbL involvement in this candidate source; MPost/ePoBox's data was not used and is not open in any case).
No licence_status block is added here — there is no data shipped yet
to gate. data_available is left unchanged (false) since this is a
research-only pass; datapackage.yml was not modified, and nothing was
built, uploaded, or committed, per the research-only scope of this task.
Recommended next step: if/when a build pass is picked up for RW, follow
the Libya/Zimbabwe/Syria build_postal_codes_product.py pattern — GeoNames
main dump, feature class P, postal_code left empty on every row, ISO
crosswalk by name as tabulated above (watch the non-parallel GeoNames↔ISO
numbering noted above). Before that build, re-check i-posita.rw
reachability (currently cert-expired + 403-blocked — may just be a
transient ops issue at the postal authority, worth a fresh check rather
than assuming the block is permanent) and re-search for any official
government (not MPost/ePoBox) digital-addressing rollout, in case it has
moved from point-level GPS/Plus-Codes toward a public area-code scheme in
the interim.
Build, 2026-09-17 — free locality-directory product shipped (LOCAL ONLY)
Followed the Libya/Syria pattern exactly, per the research pass above.
Built locally in this repo; not uploaded to R2, not committed, not
pushed, and neither _meta/catalog.json nor datapackage.yml were
touched — those remain the next (separate) step.
- Source:
https://download.geonames.org/export/dump/RW.zip, fetched fresh 2026-09-17 intodatasets/rw/sources/RW.zip(487,346 bytes, matches the research-pass fetch exactly) →RW.txt, 21,013 total rows. - Row count: filtered to feature class
P→ 10,260 rows, matching the research pass exactly. - ISO province coverage: 5/5. All 5 GeoNames RW admin1 buckets (RW.11 Eastern, RW.12 Kigali, RW.13 Northern, RW.14 Western, RW.15 Southern) resolved by name to all 5 ISO 3166-2:RW codes (RW-01 City of Kigali, RW-02 Eastern, RW-03 Northern, RW-04 Western, RW-05 Southern) — no unmapped bucket; admin-left completeness check passes in the build script.
- Blank-admin1 rows: 1 (of 10,260) — the same single row flagged in
the research pass (
Rutagara,geonameid 7320007, blank admin1 field in the raw GeoNames source). Ships with blankadmin_name1/admin_code1rather than guessed, disclosed inATTRIBUTION.txtand the field description indatapackage.json— same precedent as Libya (22 rows) and Zimbabwe (2 rows). - postal_code: empty on every one of the 10,260 rows — structural fact, not a defect, per the research verdict above (no operational postal-code system and no in-progress rollout found).
- Output:
datasets/rw/data/rw.csv,datapackage.json,README.md,ATTRIBUTION.txt,rw.zip(bundles all four).licence_status.decisioniscompatible(CC BY 4.0, GeoNames,channel: postal-codes-r2) — built via the shared datapackage pattern, no per-countrylicenses:hand-rolling. - Validation:
python3 -m frictionless validate datapackage.json, run from insidedatasets/rw/data/(the delivered artifact, not the working copy) → VALID. Declaredrows: 10260andbytes: 602908indatapackage.jsonboth match the actual writtenrw.csvexactly; all 4 files the datapackage/zip reference were verified present. - Build script:
datasets/rw/scripts/build_postal_codes_product.py(csv module only, no pandas — same LY/SY template). Reproducible: run from that directory afterRW.zipandgeonames_admin1CodesASCII.txtare present underdatasets/rw/sources/.
Scope of this pass was strictly the build — no catalog registration, no pricing-tier assignment, no R2 publish, no git commit. Those remain open follow-up steps.