Postal Codes Dataset for Estonia, EE

282
Updated:
Files:1
Size:510 kB
Rows:5,398
Formats:csv
License:CC-BY-4.0

Postal Codes Dataset for Estonia, EE 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-ee/
https://datahub.io/logistics/postal-codes-ee/_r/-/.licensing-notes.md
https://datahub.io/logistics/postal-codes-ee/_r/-/.migration-notes.md
https://datahub.io/logistics/postal-codes-ee/_r/-/ATTRIBUTION.txt
https://datahub.io/logistics/postal-codes-ee/_r/-/README.md
https://datahub.io/logistics/postal-codes-ee/_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-ee/_r/-/datapackage.yaml
README.md— documentation
https://datahub.io/logistics/postal-codes-ee/_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-ee-sample

About

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

About this dataset

Estonia (EE): migration notes

Internal record of the P5 migration from the old scripts to the producer: the discrepancies found, their causes, and who decided what. This is a dated record, so the numbers are as of the migration and not kept current. It is not shipped in the zip.

  • Issue: pc-28e.7.19 (closed 2026-10-02)
  • Commit: 630ea45 (worktree commit fc18e52, same content), landed in batch 2
  • Parity verdict: explained (row_order ×1); signed off by the user
  • Producer: custom, refresh disabled

Sources

InputURLNotes
GeoNames postal exporthttps://download.geonames.org/export/zip/EE.zipThe only input the old builder used. Omniva's official download sits behind a JS modal (2026-09-03 research), so this stays GeoNames-only

Parity against the live zip (2026-10-02)

Rows: 5,398 live and 5,398 fresh, none only on one side, 0 changed cells.

DifferenceCause
row_orderGeoNames reordered place names within some postal codes. With CR stripped, the sorted live and fresh files are byte-identical. Examples: the Kesklinna rows for 10111 and 10129, Lasnamäe for 10112, Põhja-Tallinna for 10133 and 10612 each moved one line.
Line endingsLive used CRLF; fresh uses LF.

The informational sample check against https://postal.datahub.io/ee/ee.csv came back unexplained. It is outside the gate and was not traced.

Decisions

DecisionByBasis
Accept row_orderUser, 2026-10-02 ("agree to all" to the batch 2 sign-off, session 2479b1c9-…)Recorded in docs/parity/p5.md
Remove row, distinct-code, admin3-fill and collision counts from README, descriptor and field descriptions; keep county (15) and parish (71) countsOrchestrator instruction (user's README counts rule)Also dropped the stale licence_status.decision sentence
accuracy wording admits undocumented values such as 3OrchestratorFollow-up commit 5311ad3, reported in the batch 2 summary

Transforms carried over

From build_postal_codes_product.py:

  • County name → ISO 3166-2:EE through a crosswalk of all 15 maakonnad. GeoNames' own admin_code1 (01–21) is unrelated to the ISO codes (37–87).
  • Literal "nan" → empty.
  • accuracy kept as the raw integer string; a float-formatted value is refused.
  • alternative_city_name empty.
  • The old asserts are now ProducerErrors: unmapped county, a county missing from the output, malformed row or wrong country, float accuracy, duplicate (postal_code, place_name). No row-count assert.

Open questions

  • ATTRIBUTION.txt still says "5,398 rows" (twice). It belongs to the end-of-epic README/ATTRIBUTION sweep (pc-hfz).

Provenance

Reconstructed 2026-10-05 from the agent transcript 2479b1c9-c4dd-47e5-be82-34ccf8d49a80/subagents/agent-accb690d49f96d76b.jsonl, the orchestrator session 2479b1c9-…, the commit messages and the bd close reason.