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
- Turkmenpochta public branch locator -- factual directory data, permitted per robots.txt 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.yml to inspect schema and resources
- 2. Download data resources listed in datapackage.yml
- 3. Read README.md for full context
Data Files
Postal Codes Data Resource for Turkmenistan, TM
| 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 sample CSVAbout
- Last updated
- 17 September 2026
- Total rows
- ...
- Format
- CSV
- File size
- 13.8 kB
About this dataset
Turkmenistan (TM) — internal licensing notes
Source research, 2026-09-16 — verifying current state before any build
Starting state confirmed accurate: datasets/tm/datapackage.yml still has
data_available: false, and the only thing at tm/tm.csv in the R2 bucket
is a 158/159-byte placeholder (modified: '2024-11-07'). No real TM build
exists anywhere in this repo. This pass is research/audit only — nothing
built, nothing touched in datapackage.yml or R2.
Headline finding: this is NOT a "no postal code system" country. Turkmenistan has a real, structurally logical, officially-documented 6-digit postal code system, still nominally active. This puts TM in a different class from the Bolivia/Curaçao/Côte d'Ivoire/Libya/Zimbabwe group closed out earlier in this catalogue — the open question here is digital accessibility of a bulk list, not existence of the system.
1. Does a real postal-code system exist? — YES, confirmed via UPU
The Universal Postal Union's own country addressing profile for
Turkmenistan (https://www.upu.int/UPU/media/upu/PostalEntitiesFiles/addressingUnit/tkmEn.pdf,
dated 12/2020 — fetched and read directly, not from a secondary
aggregator) gives:
- Format: 6 digits, "below locality or country name" in the address block.
- Coding method is structural, not arbitrary: the first digits encode
the delivery office / province, e.g.
744000= Ashgabat (capital,TM-S),745100= Balkanabat / Balkan welayat,746150= Hojambaz etrap / Lebap welayat. Worked examples are given for large-town, regional, village, P.O. Box, and poste-restante delivery — this is a real, designed national scheme, matching what independent web sources (geopostcodes.com, countryzipcode.com, youbianku.com — all community aggregators, cross-checked against each other only, not primary) claim: ~123 postal codes covering 65 regions and 107 towns. - Administrative hierarchy used by the coding scheme: Province (Welayat) → Sub-province/District (Etrap), consistent with the 5 welayat + Ashgabat structure below.
- The PDF lists the operator's contact as "«Turkmenpost» postal service
company" with website
www.turkmenpost.gov.tm— that domain no longer resolves (see §2), so the document is dated in that one respect, but nothing about the coding scheme itself reads as defunct.
No evidence found (and none expected) of a redesign or abolition of the scheme since 2020 — Turkmenistan's administrative structure (5 welayat + Ashgabat) hasn't changed, and the coding logic is tied directly to that structure.
2. Network/access reality check — mixed, and worth stating precisely
The brief's premise (Turkmenistan as a closed state with unreachable government sites) does not hold uniformly here — checked directly, not assumed:
www.turkmenpost.gov.tm(the domain in the 2020 UPU document):curlfails at the DNS stage (could not resolve host) — this domain is genuinely dead, not merely blocked.post.tm(found via web search as the current live site): fully reachable,HTTP 200, real TLS, realnginxserver, no Cloudflare challenge, no bot wall. Title: "TurkmenPost - Official Postal Service"; meta description: "Official postal service of Turkmenistan. Track packages, find post offices, explore stamp collections, and more." This is the operator's real current site — Turkmenpochta rebranded/moved domains at some point after the 2020 UPU filing, and the old domain was never updated.- The site is a client-side-rendered SPA (Vue/React-style bundle —
the raw HTML is just
<div id="app"></div>plus a JS bundle reference). A plain fetch/WebFetch only ever sees the shell, never the rendered content — this is a genuine JS-rendering blocker, not a network block.robots.txtconfirms real routes exist behind it:/departments(plausibly the "find post offices" locator implied by the meta description),/tracking,/tariffs,/forms,/services/,/business/./api/is explicitly disallowed byrobots.txt— a policy signal, not a technical block; API scraping was not attempted in this research-only pass. - No bulk downloadable postal-code file, CSV, or open API response was
found or extracted in this pass. Whether
/departments(once JS-rendered) actually surfaces a postcode-to-locality mapping, or only branch addresses/hours, is unresolved and would need astealthordynamicfetch-tier attempt (per this project's Scrapling fetch-tier rules) to determine — not attempted here since this task is research only.
Conclusion on this point: the system is not digitally inaccessible in the "network refuses to talk to us" sense (LY/ZW's postal operator sites were checked for downloadable data and came back empty, not blocked either — TM is one step further: the site is up, modern, and actively maintained, it just doesn't expose data without JS execution).
3. GeoNames postal export — absent (confirms TM needs a different path)
https://download.geonames.org/export/zip/TM.zip → plain 404
(checked directly via curl -I). Turkmenistan is not among the ~90
countries GeoNames carries structured postal-code data for. Consistent
with there being no easy drop-in postal fallback — any TM postal-code
product will have to come from Turkmenpochta itself or not be built as a
priced postal-codes SKU.
4. GeoNames MAIN gazetteer dump — exists, but admin1 coverage is weak
https://download.geonames.org/export/dump/TM.zip → 200 OK, real
zip (~219 KB). Downloaded and inspected directly (not built into
anything):
| value | |
|---|---|
| Total gazetteer rows | 5,792 |
Feature class P (populated places) | 1,462 |
P rows with admin1 = 00 (GeoNames' reserved "no specific adm1 code" bucket) | 674 (46%) |
P rows mapped to a real welayat/Ashgabat code | 788 (54%) |
Admin1 crosswalk (via admin1CodesASCII.txt, verified directly):
TM.01=Ahal, TM.02=Balkan, TM.03=Dasoguz, TM.04=Lebap, TM.05=Mary,
TM.S=Ashgabat — this does map cleanly, 1:1, onto the ISO 3166-2:TM
codes below (numeric GeoNames codes → ISO letter codes, same shape as
every other country in this catalogue).
But the 46% unmapped rate is a real problem, not a rounding error. For comparison, the other admin-only/locality builds in this catalogue sit far lower: Zimbabwe 0.1% unmapped (2/2,101), Libya 2.4% (22/909). At 46%, nearly half of any GeoNames-derived TM locality directory would ship with no province at all — that is not "ship the two you can't place and move on," it's most of the country. This makes GeoNames a weak fallback here, not a ready one, and reinforces that Turkmenpochta's own site (§2) is worth pursuing properly before defaulting to GeoNames.
5. ISO 3166-2:TM — confirmed, clean
Verified directly against Wikipedia's ISO_3166-2:TM page: 5 regions +
1 capital city with equal status, matching the UPU document's
administrative-hierarchy description:
| Code | Turkmen name | English name | Category |
|---|---|---|---|
| TM-A | Ahal | Ahal | region |
| TM-B | Balkan | Balkan | region |
| TM-D | Daşoguz | Dashoguz | region |
| TM-L | Lebap | Lebap | region |
| TM-M | Mary | Mary | region |
| TM-S | Aşgabat | Ashgabat | city (capital, equal status) |
This crosswalk is ready to use in any future build — both the GeoNames numeric codes and (per the UPU document) the postal-code prefixes themselves key off this same 6-unit structure.
6. No Wikipedia bulk postal-code list
Checked directly: there is no "Postal codes in Turkmenistan" (or
equivalent) Wikipedia article with a locality-to-code table, unlike some
other countries in this catalogue. Turkmenpochta's Wikipedia article
covers the operator's history, staffing, and 2025-era digital services
(real-time tracking via IPS integration since Feb 2025, an app-based
newspaper/magazine subscription service) but contains no postal-code
information at all. Wikipedia is not a viable source for TM postal
codes.
Verdict
Neither a close-out (LY/ZW/BO/CW/CI class) nor a build-now case.
Turkmenistan has a real, active, officially-structured postal-code
system and a reachable, modern, actively-maintained operator website —
the blocker is purely that the site is a JS SPA whose data layer (behind
/departments and a robots-disallowed /api/) was not explored in this
research-only pass. This is closer to Oman/Guinea's shape (real system,
sourcing not yet resolved) than to Libya/Zimbabwe's (confirmed absence).
Recommended next step: a follow-up pass (research or postal-scraper,
per the standard pipeline) should attempt stealth/dynamic-tier
fetching against post.tm/departments to determine whether Turkmenpochta
itself exposes a locality/branch/postcode mapping through its rendered
UI before falling back to anything else. If that comes back empty, the
fallback options in descending preference are:
- Re-attempt UPU/other official-source contact for a bulk export (none found in this pass beyond the single-country addressing PDF).
- GeoNames main gazetteer dump (§4) — usable but weak (46% of localities
unmapped to a province), and note it would ship with
postal_codeempty on every row (same shape as the LY/ZW free locality directories) since GeoNames has no TM postal-code export to join against.
No licence_status applies yet — there is no data pulled in this pass to
gate. data_available left unchanged (false) per the research-only
scope of this task.
Build — EXECUTED 2026-09-17 (LOCAL ONLY, nothing published)
Reverses the prior "no viable source" verdict. The blocker was never
absence of data – it was that post.tm/departments renders via
JavaScript, invisible to a plain fetch. Rendered it with a real headless
browser (Playwright/Chromium) instead.
Permission verified first, not assumed: post.tm/robots.txt
explicitly allows this exact path (Allow: /departments); only
/api/, /cp/ (admin panel), /storage/, /build/, /unused/ are
disallowed. The data captured – branch name, postal code, public street
address – is exactly what any site visitor sees using the locator
themselves.
Result: 152 branches across all 7 regions (the 5 welayat provinces,
Ashgabat, and Arkadag – a "city of state importance" inaugurated
2023 that the site treats as its own filterable region alongside the
other 6). Verified on Wikipedia: Arkadag has no ISO 3166-2:TM code at
all, and its formal administrative relationship to Ahal province (from
which it was carved) isn't clearly resolved even in public sources.
Rather than guess, Arkadag's 1 branch ships with a blank admin_code1,
disclosed – the other 151 rows all carry a real, verified ISO code.
No coordinates exist in this source – shipped empty, not estimated.
place_name is a post-office branch name (e.g. "Merkezi PAB"), not a
settlement name – this is a branch locator, not a gazetteer, and that
distinction is disclosed in the README/ATTRIBUTION so a buyer isn't
surprised.
Frictionless: valid: True. licence_status.decision: "compatible" –
justified by the robots.txt permission and the factual (non-creative,
non-authenticated) nature of the data, not by the "GeoNames CC BY 4.0"
reasoning used elsewhere in this project, since this isn't a GeoNames
source at all.
Not done in this pass: no R2 upload, no git commit/push, no
_meta/catalog.json or datapackage.yml change. The raw scrape is
saved at datasets/tm/sources/postal_raw/tm_departments_raw.json for
reproducibility, but re-running build_postal_codes_product.py alone
will NOT refresh the data – the capture step (driving the region
selector in a real browser) is a separate, manual step from the
deterministic build script.