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-rs-sample
| Field | Type | Description | Constraints | Title |
|---|---|---|---|---|
| country_code | string | ISO 3166-1 alpha-2 -- always RS | Country Code | |
| postal_code | string | Serbian postal code (5 digits) | { "pattern": "^\\d{5}$" } | Postal Code |
| place_name | string | Locality/place name as GeoNames' postal export records it | Place Name | |
| admin_name1 | string | District (okrug) -- 25/25 covered, resolved via a coordinate-based join against GeoNames' own gazetteer, see ATTRIBUTION.txt | Administrative Name 1 | |
| admin_code1 | string | ISO 3166-2:RS district code | Administrative Code 1 | |
| admin_name2 | string | "Vojvodina" for the 7 Vojvodina districts; empty for the other 18 (incl. Belgrade), which have no parent province in Serbia's own ISO structure | Administrative Name 2 | |
| admin_code2 | string | ISO 3166-2:RS-VO where applicable, else empty | Administrative Code 2 | |
| admin_name3 | string | Not populated -- no sellable source reaches opština (municipality) level | Administrative Name 3 | |
| admin_code3 | string | Not populated | Administrative Code 3 | |
| latitude | number | GeoNames postal-export latitude (WGS84) | Latitude | |
| longitude | number | GeoNames postal-export longitude (WGS84) | Longitude | |
| accuracy | string | AREA throughout -- coarse city/town-level point, shared across all codes in that place | Accuracy | |
| alternative_city_name | string | Not populated in this release | Alternative City Name |
Download
Download sample CSVAbout
About this dataset
Serbia (RS): migration notes
Internal record of the P5 migration. This is a dated record (2026-10-05) and is not shipped in the zip.
- Issue: pc-28e.7.49 (open, stays on live data)
- Producer: none written. The descriptor keeps
pipeline: producer: customwith refresh disabled, and the data stays as harvested from the live zip in09d7c89. - Parity: not run (no producer).
Why it stays on live data
- There are no builder scripts:
scripts/only haspublish_r2.py. Nothing records how the live CSV was built. - Rule (user, 2026-10-03): no producer from scratch for a dataset with no builder scripts.
Decisions
| Decision | By | Basis |
|---|---|---|
| No producer; stay on live data | Standing rule (user, 2026-10-03) | No builder scripts to port |
Open questions
- None for P5. A producer would be new work (a new source and licence check), so it needs a user decision.
Provenance
Written 2026-10-05 from docs/parity/p5.md (batch sign-offs) and the bd notes on pc-28e.7.49.