Postal Codes Dataset for Austria, AT

434
Updated:
Files:1
Size:2.14 MB
Rows:19,225
Formats:csv
License:CC-BY-4.0

Postal Codes Dataset for Austria, AT 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 International license
20% off
$49.90$39.92
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-at/
https://datahub.io/logistics/postal-codes-at/_r/-/.licensing-notes.md
https://datahub.io/logistics/postal-codes-at/_r/-/.migration-notes.md
https://datahub.io/logistics/postal-codes-at/_r/-/ATTRIBUTION.txt
https://datahub.io/logistics/postal-codes-at/_r/-/README.md
https://datahub.io/logistics/postal-codes-at/_r/-/datapackage.yaml
Key Files

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

datapackage.yaml— metadata & schema
https://datahub.io/logistics/postal-codes-at/_r/-/datapackage.yaml
README.md— documentation
https://datahub.io/logistics/postal-codes-at/_r/-/README.md
Typical Usage
  1. 1. Fetch datapackage.yaml to inspect schema and resources
  2. 2. Download data resources listed in datapackage.yaml
  3. 3. Read README.md for full context

Data Files

postal-codes-at-sample

About

Last updated
6 October 2026
Total rows
100
Format
CSV
File size
10.9 kB

About this dataset

Austria (AT) — internal licensing notes

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

Clean GO. GeoNames' postal export already carries all three admin tiers for Austria — no gap to fill, no second source needed. This is a stronger starting point than most single-source builds in this catalogue (compare AL/ZA, which needed a gazetteer join or shipped with columns empty).

The source — GeoNames AT

https://download.geonames.org/export/zip/AT.zip      # 264 KB, 19,225 rows

Licence CC-BY-4.0, verified against export/zip/readme.txt on 2026-08-29 — Austria carries no per-country caveat (the readme's only restricted countries are GB, CL, CN, IE, MT, AR, BR).

Verified directly against the raw source file: all three admin tiers are genuinely populated, not empty like South Africa's:

  • admin_name1/admin_code1 — Bundesland (state), 9/9 covered (Burgenland…Wien), GeoNames' own numeric code (01…09).
  • admin_name2 — Politischer Bezirk (political district), 94 distinct values.
  • admin_name3/admin_code3 — Gemeinde (municipality), 2,117 distinct values, with GeoNames' own 5-digit Gemeindekennziffer as admin_code3.
  • 124 of 19,225 rows have empty admin2/admin3 — not investigated further in this pass (likely PO-box/special codes with no municipality), disclose rather than guess if the actual build hits this.

ISO 3166-2:AT derivation verified 2026-08-29 against Wikipedia's ISO_3166-2:AT page: GeoNames' own Bundesland numbering (01…09) maps 1:1, in the same order, to AT-1…AT-9 (Burgenland=1, Kärnten=2, Niederösterreich=3, Oberösterreich=4, Salzburg=5, Steiermark=6, Tirol=7, Vorarlberg=8, Wien=9). Trivial crosswalk, no ambiguity.

A possibly-better official alternative — noted, not pursued this pass

Austria's telecom/postal regulator RTR (Rundfunk und Telekom Regulierungs-GmbH) publishes the official PLZ-Verzeichnis as genuine open data (csv/xlsx/xml/json, updated monthly) via data.gv.at (katalog/dataset/f76ed887-00d6-450f-a158-9f8b1cbbeebf). This is likely a stronger official byline than GeoNames and worth checking before a real build — but the licence field on that dataset page did not resolve during this research pass (empty JS-rendered fetch, and a direct CKAN API call also returned nothing) and was not independently confirmed. Do not assume it is open without checking — data.gv.at datasets are usually CC BY 4.0 (Austria's standard open-government licence) but this specific one needs its own verification before switching away from the already-verified GeoNames path.

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

{
  "channel": "postal-codes-r2",
  "source_url": "https://download.geonames.org/export/zip/AT.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 official-quality source (GeoNames) normalised in place — real work (ISO code derivation, admin-tier cleanup) but no second authoritative provider consolidated onto it. Same shape as AT's neighbours in this tier: IT (single-source GeoNames rebuild with ISO code derivation), PH.

Verdict

Build it. No licensing obstacle, no coverage gap — Austria is one of the few countries in this batch where the postal export alone already carries a complete 3-tier admin hierarchy.

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

Built via datasets/at/scripts/build_postal_codes_product.py. One thing not caught in research: 220 (postal_code, place_name) pairs collide (444 rows) — real border localities listed once per municipality they touch (e.g. "Weissenbach", postal code 9500, spans both Villach Stadt and Villach Land). Real primary key is (postal_code, place_name, admin_code3), verified unique across all 19,225 rows.

value
Final rows19,225
Bundeslaender covered9/9
Political districts94
Municipalities (Gemeindekennziffer)2,120
Distinct postal codes2,501
Rows with empty admin2/admin3124 (likely PO-box/special codes)

ISO 3166-2:AT crosswalk used as already verified in research (GeoNames' 01-09 -> AT-1..AT-9, same order).

Frictionless validation: valid: True.

Status: built and validated locally only. Nothing published to R2, nothing committed to git. datasets/at/README.md and datapackage.yml updated in place (tier B, premium_source_key: at/at.zip, real sources/licenses, replacing the "Multiple sources" placeholder).