Czech geocoder, autocomplete and address database with GPS
Autocomplete, geocoder and reverse geocoder for all 3,022,397 Czech addresses with postal codes. Runs in your PostgreSQL, Meilisearch or Typesense: no paid API, no data sent to a third party.
One-time payment, final price for a personal licence, switch to business at checkout · data as of September 2026


How much work it saves
Address normalisation (diacritics, abbreviations, typos, “Praha 10”, registration numbers written as “č. ev.”, municipalities without streets), search indexes and SQL functions. Tested on 51 hand-written and 500 random queries; median response time in PostgreSQL 0.93 ms.
Measured on our own build
- Lines of code and tests
- 1,184
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.
- Free sample: all tables cut down to the Kutná Hora area, in CSV and Parquet. Download the sample
- Data as of
- September 2026
- Rows
- 3.2m
- Tables
- 3
- Bundle contents
- 3 tables: adresy, mista, slova; plus Meilisearch, Typesense
- Formats
- PostgreSQL, Parquet, CSV, JSON
- Source licence
- CC BY 4.0 (ČÚZK)
What’s inside
Self-hosted address autocomplete, geocoder and reverse geocoder over every address in RÚIAN, the Czech register of addresses, buildings, parcels and territorial units: PostgreSQL functions (PostGIS + pg_trgm), exports for Meilisearch and Typesense, CSV/Parquet/JSON.
| Table | Rows |
|---|---|
adresy | 3,022,397 |
mista | 102,566 |
slova | 29,952 |
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 | 3 | 38 kB |
| ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import. | 3 | 90 MB |
| CSVUTF-8, comma-separated, with a header; large tables as .csv.gz | 3 | 89 MB |
| JSONAn array of objects; large tables as JSON Lines (.jsonl.gz) | 3 | 101 MB |
| Also in the bundle | Files | Size |
|---|---|---|
| MeilisearchJSONL documents and index settings with synonyms | 2 | 91 MB |
| TypesenseJSONL documents, collection schema and synonyms | 3 | 102 MB |
- In preparation Geocoder for MySQL and SQLite: Address autocomplete and validation without PostgreSQL too, with a PHP library.
- In preparation Address autocomplete API: A hosted HTTP API on top of the geocoder, with no database of your own.
- In preparation Shoptet and WooCommerce plugins: Address autocomplete and checking right in the online shop checkout.
- In preparation Postcodes of municipalities and post offices: A list of postcodes with municipality, municipality part and post office, derived from RÚIAN.
Code example
More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.
-- našeptávač (dotaz, limit = 10, obec_kod = NULL)
SELECT * FROM geokoder.naseptej('lidicka 7 brno');
-- adresni_misto_kod | adresa | lat | lon | skore
-- 19173512 | Lidická 694/7, Veveří, 602 00 Brno | 49.200919 | 16.6073906 | 1
-- geokódování jedné adresy: nejlepší shoda + jistota 0..1 + typ shody
SELECT * FROM geokoder.geokoduj('Lázně č.ev. 100, Hlinsko');
-- adresni_misto_kod | adresa | lat | lon | jistota | shoda
-- 5393337 | Lázně č. ev. 100, 539 01 Hlinsko | 49.7453181 | 15.9115943 | 1 | adresaSource and licence
- Sources
- Licence
- CC BY 4.0 (ČÚZK)
- 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.


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.


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.
More datasets
- 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
- ČSÚ code lists
- Population of municipalities 2000–2026
- Free bundle
Addresses with GPS + geocoder for 690 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.