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-bd-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always BD | Country Code | |
| postal_code | string | Bangladeshi postal code (4 digits) | { "pattern": "^\\d{4}$" } | Postal Code |
| place_name | string | Locality/place name | Place Name | |
| admin_name1 | string | Division -- 8/8 covered, including Mymensingh Division (corrected from GeoNames' stale 'Dhaka Division' label on the 77 rows GeoNames' own internal coding already separates, see ATTRIBUTION.txt) | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:BD code | Administrative Code 1 | |
| admin_name2 | string | District -- 64 distinct, 100% populated | Administrative Name 2 | |
| admin_code2 | string | GeoNames' own internal district code (not an independently verified official code) | Administrative Code 2 | |
| admin_name3 | string | Thana/Upazila -- 483 distinct, 100% populated | Administrative Name 3 | |
| admin_code3 | string | Not populated -- no code accompanies this tier in the source | Administrative Code 3 | |
| latitude | number | GeoNames-estimated latitude (WGS84) | Latitude | |
| longitude | number | GeoNames-estimated longitude (WGS84) | Longitude | |
| accuracy | string | GeoNames accuracy code | Accuracy | |
| alternative_city_name | string | Not populated in this release | Alternative City Name |
Download
Download sample CSVAbout
- Total rows
- ...
- Format
- CSV
About this dataset
Bangladesh (BD) — licensing trace
Checked 2026-08-29. Starting from zero — no prior work anywhere for this country code.
Postal system
Bangladesh uses a 4-digit numeric postal code system administered by Bangladesh Post Office.
Source checked — GeoNames BD
https://download.geonames.org/export/zip/BD.zip # 1,349 rows
No per-country caveat for Bangladesh in GeoNames' export/zip/readme.txt —
the general CC BY 4.0 licence applies without restriction.
Verified directly against the raw file: 1,349 rows, all 1,349 distinct
postal codes (no duplicates on the code itself). Unlike South Africa's
postal export, this one already carries three real admin tiers on every
single row: admin_name1 (Division, e.g. "Dhaka Division"), admin_name2
(District, e.g. "Dhaka"), and admin_name3 (Thana/Upazila, e.g. "Paltan") —
100% populated on all three, no join or enrichment needed.
Official source — checked, no bulk export found
Bangladesh Post Office's own site (bangladeshpost.gov.bd) was checked via
search; no bulk postal-code download, API, or open-data catalogue entry was
found. Bangladesh Bureau of Statistics was also checked — no postal-code
dataset located (BBS publishes census/administrative geography, not postal
codes).
Third-party alternatives — checked, none better than GeoNames
Search surfaced several community mirrors (postalbin.com, bgd.postcodebase.com) and PDF scans of the printed postal directory (Scribd uploads of the official directory, government district-portal PDFs). None offers a machine-readable bulk file with a stated open licence — they are either copies of the same printed directory with no licence grant, or read-only lookup sites. None was pursued further given GeoNames already provides equal or better structured coverage under a clean, unambiguous licence.
Decision
{
"channel": "postal-codes-r2",
"source_url": "https://download.geonames.org/export/zip/BD.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"
}
Proposed tier
B ($49). Single source normalised in place — real work (ISO 3166-2:BD crosswalk for admin_code1, cleaning GeoNames' internal admin1/admin2 codes into real identifiers if any exist) but no second authoritative source to consolidate. Not A.
Verdict
Clean and strong for its size — smallest of this batch's three (1,349 rows) but the only one of the three with full three-tier admin coverage already present in the postal export itself, no gazetteer join required. Not yet built; this is the research/decision record only.
Build — 2026-08-30 (local only, not published)
Built via datasets/bd/scripts/build_postal_codes_product.py. Found and
fixed a real defect not caught in the research pass: 77 rows carried
admin_name1="Dhaka Division" but a DIFFERENT internal GeoNames code ("H")
than the other 298 real Dhaka rows ("81") — those 77 rows' districts
(Jamalpur, Mymensingh, Netrakona, Sherpur) are exactly Mymensingh Division,
split from Dhaka in 2015. GeoNames' own coding already separated them
correctly; only the name string was stale. Corrected to "Mymensingh
Division" — result is 8/8 real divisions, 64 districts (matches
Bangladesh's real district count exactly), 483 thanas, all populated on
100% of rows. admin_code1 derived to verified ISO 3166-2:BD codes
(A–H, confirmed against Wikipedia).
Frictionless validation: valid: True.
Status: built and validated locally only. Nothing published to R2,
nothing committed to git. datasets/bd/README.md and datapackage.yml
updated in place (tier B, premium_source_key: bd/bd.zip, real
sources/licenses, replacing the "Multiple sources" placeholder).