Czech municipality list, classifications and code lists (ČSÚ) with validity over time
List of Czech municipalities, regions, districts and ORP areas with their official codes, plus CZ-NACE, CZ-ISCO, CZ-CPA, CZ-NUTS, legal forms and countries with ISO codes. All versions merged into validity intervals.
One-time payment, final price for a personal licence, switch to business at checkout · data as of 9 November 2026
You are buying the ČSÚ code lists + population bundle. It also includes: Population of municipalities 2000–2026.


How much work it saves
Downloading the exports from iSMS, the metadata system of ČSÚ (the Czech Statistical Office), version by version, merging them into validity intervals and converting the ČSÚ territorial codes to the codes of RÚIAN, the Czech register of addresses, buildings, parcels and territorial units. Check against RÚIAN: 6,258 municipalities, 0 differences.
Measured on our own build
- Lines of code and tests
- 742
- Machine time per build
- 8 mins
We measured AI agent usage on 6 other datasets: the first working version of the code took 10m to 40m tokens and 21–62 mins of agent run time. Build including source downloads, measured on Apple M5 (10 cores, 24 GB RAM).
- Free sample: all tables cut down to the Kutná Hora area, in CSV and Parquet. Download the sample
- Data as of
- 9 November 2026
- Rows
- 63,292
- Tables
- 22
- Formats
- PostgreSQL, Parquet, CSV, JSON
- Source licence
- CC BY 4.0 (ČSÚ)
What’s inside
Classifications and code lists of ČSÚ with validity over time: CZ-NACE, CZ-ISCO, CZ-CPA, CZ-CISS, CZ-COFOG, CZ-NUTS, legal forms, employee count categories, countries with ISO codes, and regions, districts, ORP (municipalities with extended powers), POU (authorised municipal offices) and municipalities with RÚIAN codes.
| Table | Rows |
|---|---|
cz_nace_2008CZ-NACE classification of economic activities (2008, valid until 31 December 2024) | 1,717 |
cz_nace_2025CZ-NACE 2025 classification of economic activities (from 1 January 2025) | 1,803 |
cz_cpa_2015CZ-CPA 2015 classification of products | 5,522 |
cz_cpa_2025CZ-CPA 2025 classification of products | 5,967 |
cz_iscoCZ-ISCO classification of occupations (all versions since 2011) | 2,134 |
cz_cissCZ-CISS classification of institutional sectors and subsectors (ESA 2010) | 64 |
cz_cofogCZ-COFOG classification of the functions of government | 188 |
cz_nutsCZ-NUTS classification of territorial units for statistics (all versions since 2008) | 30 |
pravni_formaLegal form of an organisation (code list 56, used by RES, the ČSÚ register of economic entities) | 118 |
pravni_forma_rosLegal form in the register of persons (code list 149, used by ROS) | 116 |
Show all 22 tables
| Table | Rows |
|---|---|
kategorie_poctu_zamestnancuEmployee count categories (code list 579, used by RES) | 20 |
statyCountries and territories (CZEM) with ISO 3166-1 codes | 439 |
krajeRegions | 14 |
okresyDistricts | 92 |
orpORP administrative districts | 206 |
pouPOU administrative districts | 397 |
obceMunicipalities and military training areas | 6,287 |
spravni_obvody_prahaAdministrative districts of the City of Prague | 22 |
mestske_castiCity districts | 157 |
obce_prislusnostAffiliation of municipalities to higher units over time | 12,704 |
vsechnyAll code lists of the dataset in one long table | 25,275 |
prehledOverview of the dataset’s tables | 20 |
Downloads
Every format contains the same data. Download only the one you need; verify its integrity with the SHA256SUMS file.
| Format | Files | Size |
|---|---|---|
| PostgreSQLschema.sql with types, keys, indexes and comments, and import.sh, which loads the data from CSV | 2 | 31 kB |
| ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import. | 22 | 1.7 MB |
| CSVUTF-8, comma-separated, with a header; large tables as .csv.gz | 22 | 7.4 MB |
| JSONAn array of objects; large tables as JSON Lines (.jsonl.gz) | 22 | 16 MB |
Code example
More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.
-- do kterého ORP patřila obec 1. 1. 2005
SELECT o.nazev, p.* FROM csu_ciselniky.obce_prislusnost p
JOIN csu_ciselniky.orp o ON o.kod = p.orp_kod AND o.platnost_do IS NULL
WHERE p.obec_kod = 582786 AND DATE '2005-01-01' BETWEEN p.platnost_od AND COALESCE(p.platnost_do, 'infinity');import fs from "node:fs";
const formy = JSON.parse(fs.readFileSync("json/pravni_forma.json", "utf8"));
const nazevFormy = Object.fromEntries(formy.filter(f => !f.platnost_do).map(f => [f.kod, f.nazev]));
console.log(nazevFormy["112"]); // Společnost s ručením omezenýmSource and licence
- Sources
- Licence
- CC BY 4.0 (ČSÚ terms)
- Processed by
- czechdatasets.com. The data is modified and is not an official output of the authority; the required attribution is in LICENCE.txt.
Joins with
Datasets share RÚIAN codes and IČO, so one JOIN connects them.


Companies and organisations (RES)
Czech companies and organisations by IČO (the company ID), from the register of economic entities (RES): legal form, CZ-NACE activities, size and registered office address with GPS. No natural persons.


Population of municipalities 2000–2026
Population of every Czech municipality as of 1 January 2026 and every 1 January since 2000, by sex and age group. Plus regions, districts, ORP areas and city districts, all with national (RÚIAN) codes.


RÚIAN with history
Complete RÚIAN data: Czech parcels, buildings, addresses, streets and territorial units for the whole country. The current state and every version since August 2015, month by month.
More datasets
- Address geocoder and autocomplete
- Address risks
- Job vacancies
- Data boxes
- Medicinal products (SÚKL)
- Medicine shortages and availability
- Pharmacies with opening hours and GPS
- Healthcare facilities (NRPZS)
- Schools and school facilities
- Election results 1996–2026
- Municipalities in numbers 2000–2025
- Wages by region and industry
- Free bundle
ČSÚ code lists + population for 190 CZK.
One-time payment, download right after paying, no account and no subscription. Updates to the dataset are included in the price. All 15 paid datasets together cost 2,490 CZK, 3,510 CZK less than buying them one by one.