Czech medicines database (SÚKL) with dispensing and price history
The complete Czech medicines database (SÚKL) in clean UTF-8 tables: packs, ATC tree, substances and composition. Plus monthly dispensing and average prices from pharmacies since May 2020.
One-time payment, final price for a personal licence, switch to business at checkout · data as of 1 November 2026
You are buying the Medicines, medicine shortages, pharmacies and healthcare providers bundle. It also includes: Healthcare facilities (NRPZS), Medicine shortages and availability, Pharmacies with opening hours and GPS.


How much work it saves
Converting the database from cp1250, expanding its code lists into text, building the ATC hierarchy and joining 78 monthly LEK-13 pharmacy reports into one time series.
Measured on our own build
- Lines of code and tests
- 877
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
- 1 November 2026
- Rows
- 2.4m
- Tables
- 10
- Formats
- PostgreSQL, Parquet, CSV, JSON
- Source licence
- SÚKL terms, commercial use allowed
What’s inside
The Database of Medicinal Products (Databáze léčivých přípravků, DLP) of SÚKL, the Czech medicines agency, converted into clean UTF-8 tables: products (one row per SÚKL code) with code lists expanded, the ATC hierarchy, substances and composition, organisations, and the monthly history of dispensing and average prices from the LEK-13 pharmacy reports (2020-05 to 2026-10).
| Table | Rows |
|---|---|
lecivaMedicinal products and foods for special medical purposes (PZLÚ) from the SÚKL database: one row per SÚKL code (a specific pack) | 70,032 |
atcATC classification (Anatomical Therapeutic Chemical) with its tree hierarchy | 6,999 |
latkySubstances (active and excipient). Codes -1 (OR / NEBO) and 0 (CORRESPONDING TO / ODPOVÍDÁ) are helper rows used in the composition | 21,587 |
latky_synonymaSynonyms and alternative names of substances (useful for full-text search) | 273,219 |
latky_soliLink from a base substance → its salt | 3,020 |
slozeniComposition of products: row = a substance in a product (active and excipient, including the helper rows) | 811,168 |
organizaceMarketing authorisation holders and manufacturers (identified by kod + zeme_kod). For natural persons (je_fyzicka_osoba) the name, which is the person’s name, is not published | 3,606 |
ciselnikyAll DLP code lists in one table (pharmaceutical form, route of administration, packaging, registration status, dispensing, …) | 1,821 |
ceny_historieMonthly summaries of dispensing from pharmacies (SÚKL LEK-13): number of packs dispensed and weighted average prices | 1,190,390 |
hrazeni_historieIntervals when a product had / did not have a reimbursement set from public health insurance, derived from the monthly LEK-13 reports (consecutive months with the same status) | 56,018 |
Official maximum prices and reimbursement amounts (SCAU) are not in the dataset: SÚKL does not publish them as open data. The prices in ceny_historie are weighted averages from pharmacy reports.
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 | 22 kB |
| ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import. | 10 | 25 MB |
| CSVUTF-8, comma-separated, with a header; large tables as .csv.gz | 10 | 56 MB |
| JSONAn array of objects; large tables as JSON Lines (.jsonl.gz) | 10 | 89 MB |
Code example
More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.
-- přípravky s ibuprofenem na volný prodej, s textovým názvem formy
SELECT l.kod_sukl, l.nazev, l.doplnek, l.forma, l.drzitel
FROM sukl_leciva.leciva l
WHERE l.atc_kod = 'M01AE01' AND l.vydej_kod = 'F' AND l.stav_registrace_kod = 'R';-- vývoj průměrné ceny a počtu vydaných balení jednoho přípravku
SELECT obdobi, sum(pocet_baleni) baleni,
round(sum(konecna_cena_s_dph * pocet_baleni) / nullif(sum(pocet_baleni) FILTER (WHERE konecna_cena_s_dph IS NOT NULL), 0), 2) cena
FROM sukl_leciva.ceny_historie WHERE kod_sukl = '0047863' GROUP BY obdobi ORDER BY obdobi;Source and licence
- Sources
- 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.
More datasets
- RÚIAN with history
- Address geocoder and autocomplete
- Address risks
- Companies and organisations (RES)
- Job vacancies
- Data boxes
- Medicine shortages and availability
- Pharmacies with opening hours and GPS
- 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
Medicines, medicine shortages, pharmacies and healthcare providers for 490 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.

