Postal Codes Dataset for Albania, AL

279
Updated:
Files:1
Size:40.8 kB
Formats:csv
License:CC-BY-4.0

Postal Codes Dataset for Albania, AL including name of the city, town, or place, various administrative divisions and alternative city names.

Part of a Data Solution

  • Postal Codes Solution

    Every worldwide postal-code dataset in one bundle — the ultimate global reference for precise postal codes.

    Explore →

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 license
10% off
$49.90$44.91
one-time payment

API Access

Access dataset files directly from scripts, code, or AI agents.

Browse dataset files
Dataset Files

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.

/logistics/postal-codes-al/
https://datahub.io/logistics/postal-codes-al/_r/-/.licensing-notes.md
https://datahub.io/logistics/postal-codes-al/_r/-/README.md
https://datahub.io/logistics/postal-codes-al/_r/-/datapackage.yml
Key Files

Start with these files — they give you everything you need to understand and access the dataset.

datapackage.ymlmetadata & schema
https://datahub.io/logistics/postal-codes-al/_r/-/datapackage.yml
README.mddocumentation
https://datahub.io/logistics/postal-codes-al/_r/-/README.md
Typical Usage
  1. 1. Fetch datapackage.yml to inspect schema and resources
  2. 2. Download data resources listed in datapackage.yml
  3. 3. Read README.md for full context

Data Files

Postal Codes Data Resource for Albania, AL

About

Last updated
28 August 2026
Total rows
...
Format
CSV
File size
40.8 kB
Source
GeoNames

About this dataset

Albania (AL) — internal licensing notes

Source research, 2026-08-27 — sellability + reproducibility audit

GeoNames is the only source that is both legally sellable and reproducible. Every alternative was tested on 2026-08-27 and each fails on resale, on retrievability, or both. Findings below so this is not re-litigated.

The only usable source — GeoNames AL

https://download.geonames.org/export/zip/AL.zip       # 8.9 KB, 494 rows

Licence CC-BY-4.0, verified against export/zip/readme.txt on 2026-08-27 — Albania carries no per-country caveat (the readme flags only GB, CL, CN, IE, MT, AR, BR).

Ruled out — do not re-attempt without new evidence

CandidateVerdictWhy
Eurostat GISCO LAU❌ not sellableDerived from EuroGeographics. lau-2019-metadata.pdf directs to "License conditions for EuroGeographics Administrative and Topographic spatial datasets" and states access requires a signed agreement form obtained from Eurostat/GISCO. Commercial reuse is not granted.
GADM❌ not sellableNon-commercial licence.
HDX — Albania Subnational Administrative Boundaries (cod-ab-alb)licence launderingPackage is labelled cc-by-igo, which reads as reusable. But the dataset's own methodology field states: "Administrative level 3 boundaries were acquired from www.gadm.org" — and GADM is non-commercial. A package-level licence asserted by a redistributor does not cure a non-commercial component. Last modified 2019-12-21; also carries known geometry defects in its own caveats field.
OpenStreetMap / Overpass / Nominatim❌ blocked internallyNationwide admin_level=N extraction fails prongs 1, 3 and 4 of the ODbL share-alike gate in CLAUDE.md, and Nominatim's usage policy independently forbids systematic queries and reselling of geocoding results.
Posta Shqiptare (postashqiptare.al/c/45/kodi-postar)❌ not retrievable, licence unknownNo bulk download. 14 district links and a lookup modal only — no CSV/XLS/PDF, and no terms-of-use or copyright statement anywhere on the page. Scraping it would yield decision: "unresolved", which per CLAUDE.md is a hard block on shipping.
opendata.gov.al (Open Data Albania)❌ not retrievableAngular SPA. /api/dataset/list returns {"isSuccessful":false,"errorMessage":"DcatDataset not found."}; /api/datasets, /api/v1/datasets and /assets/config.json all 404. Nothing machine-retrievable found.
ASIG geoportal (geoportal.asig.gov.al)❌ not retrievableOfficial geospatial authority and the right home for this data in principle (boundaries per DCM no. 360, 29.05.2019), but viewer-only. /en/data redirect-loops (>10 hops) and asig.gov.al/en/open-data/ returns 404. No open-data download path found.

If ASIG ever publishes a licensed bulk download of njësitë administrative, that is the upgrade path — it is the only remaining candidate that could be both official and sellable.

Defects in the currently-published file

al/al.csv on R2 is a GeoNames re-export (row count matches AL.zip exactly: 494) round-tripped through pandas and corrupted. All of these are fixable from GeoNames alone — no new source required:

  1. admin_name3 is the literal string nan on every row. GeoNames leaves it empty; a pandas round-trip wrote the float NaN out as text.
  2. admin_code2 is a GeoNames internal geonameId, not an official code. e.g. Bashkia Berat → 10944368. Confirmed against download.geonames.org/export/dump/admin2Codes.txt: all 61 bashkia are keyed by geonameId (AL.40.10944368), so this is GeoNames' own identifier and means nothing to a buyer. Either derive a real code or leave the column empty — do not ship an internal id as an admin code.
  3. admin_code1 is the FIPS-style scheme (40, 41, 43, …), not ISO 3166-2:AL (AL-01AL-12). Derive the ISO codes.
  4. Integer accuracy written as float (44.0); 2 rows blank.
  5. 494 rows but only 489 distinct postal codes — 5 duplicate codes; check against the primary key rule before publishing.

Reference structure for validating a rebuild: Albania has 12 counties (qark), 61 municipalities (bashki), 373–374 administrative units (njësi administrative). GeoNames covers tiers 1 and 2; tier 3 is unavailable from any sellable source (see the table above), so admin_name3 should ship empty, not as nan and not backfilled from a non-commercial source.

Attribution is absent from the sold product. R2 carries only al/al.csv — no README.md, datapackage.json, ATTRIBUTION.txt or al.zip. The repo datapackage.yml lists sources: [{title: "Multiple sources"}] with no licenses[]. CC BY 4.0 attribution is a licence condition — live breach on a paid product.

datapackage.yml also sets is_premium: true with no premium_tier and no premium_source_key, and no zip exists in R2 for a key to point at. At 494 rows against a 100-row public sample the premium value is thin — worth deciding deliberately whether AL should be premium at all.

licence_status (proposed — needs human sign-off before shipping)

{
  "channel": "postal-codes-r2",
  "components": [
    {
      "field_group": "all fields",
      "source_url": "https://download.geonames.org/export/zip/AL.zip",
      "licence_id": "CC-BY-4.0",
      "collected_at": "2026-08-27",
      "decision": "compatible",
      "decided_by": "claude-opus-5 (source research)",
      "decided_at": "2026-08-27"
    }
  ]
}

Proposed tier

B ($49). Single-source normalisation with nothing to reconcile. There is no second authoritative source to consolidate, so this cannot reach A on the criteria in docs/PRICING_TIERS.md — and it should not be priced as if it did.


Build — 2026-08-28 (local only, not published)

Built via datasets/al/scripts/build_postal_codes_product.py. 494 rows, validated clean with Frictionless.

Correction to this document's own earlier coverage claim: the "Reference structure" section above states Albania has 61 bashki and implies GeoNames reaches them; it does not say GeoNames covers all 61, but the build's first draft assumed exactly that and shipped it as "61/61 covered" in the README/ATTRIBUTION text before the raw source was re-checked. GeoNames' AL.zip only carries 31 of Albania's 61 bashki — verified directly by listing distinct admin_name2 values in the raw file. This is a real coverage gap in the source, disclosed in data/README.md and data/ATTRIBUTION.txt, not something to gloss over as "all bashki."

Other build decisions, beyond what this file already documented:

  • admin_code1 derived via a verified ISO 3166-2:AL crosswalk (Wikipedia, checked 2026-08-28), keyed to the exact 12 admin_name1 strings GeoNames uses — not assumed from FIPS-code ordering.
  • GeoNames' one inconsistent qark label ("Tirana", where the other 11 all read "Qarku i X") normalised to "Qarku i Tiranës" for consistency — disclosed as a correction, not silently changed.
  • alternative_city_name re-derived fresh from GeoNames' gazetteer dump (283/494 rows populated) — same join method used for TH/RO, so the live file's 215-row figure is not lost.
  • No duplicate (postal_code, place_name) pairs — confirmed directly; the "489 distinct postal codes" figure above is 5 codes shared across different place names, not a primary-key collision.

Status: built and validated locally only. Nothing published to R2, nothing committed to git.