Kvalitní výživová data českých potravin nejsou nikde volně dostupná. Zahraniční databáze české produkty buď neznají, nebo je vedou pod anglickými názvy, které při hledání nikdo nenapíše. Tahle databáze vznikla pro aplikaci kCalori a je otevřená — je to tatáž data, ze kterých appka počítá, jen bez části, kterou smíme používat, ale ne šířit dál (rozpis níž).

9 098
potravin
92 %
s čárovým kódem
61 %
s českým názvem
2 478
značek

Stažení

curl -s https://data.kcalori.cz/foods-ext.json -o foods.json

Jeden JSON soubor, pole objektů, UTF-8. Bez klíče, bez registrace, bez limitu. Aktualizuje se průběžně, jak databáze roste.

Formát

poletypvýznam
codestringčárový kód (EAN), u 8 % položek prázdný
namestringnázev produktu
brandstringznačka
kcalnumberenergie na 100 g / 100 ml
proteinnumberbílkoviny v gramech na 100 g
carbsnumbersacharidy v gramech na 100 g
fatnumbertuky v gramech na 100 g
servingnumber?velikost porce v gramech, když ji lze určit
liquidboolean?true = hodnoty jsou na 100 ml
iconstringemoji podle druhu potraviny
aliasesstring[]tvary názvu bez diakritiky pro vyhledávání
_odhadboolean?true = hodnoty nejsou z obalu, doplnil je jazykový model

Ukázka záznamu

{
  "code": "8715035110106",
  "name": "Sójová omáčka",
  "brand": "Kikkoman",
  "kcal": 77,
  "protein": 10,
  "carbs": 3.2,
  "fat": 0,
  "icon": "🥫",
  "serving": 10,
  "aliases": [
    "sójová omáčka",
    "sojova omacka",
    "kikkoman"
  ],
  "cat": "omacky",
  "img": "o:871/503/511/0106/front_en.247.400.jpg",
  "sugars": 0.6,
  "bal": 150
}

Odkud data jsou

Tohle není odhad ani zaokrouhlení — je to rozpis toho, co je právě ve staženém souboru, spočítaný při každém generování stránky.

zdrojpoložekpodíljak vznikly hodnoty
OpenFoodFacts 17 461192 % opsané z obalu přispěvateli, ODbL
doplněno modelem _odhad: true 7658 % odhad jazykového modelu u položek, které lidé v databázi nenašli

Každá položka prochází kontrolou: makra musí odpovídat deklarovaným kaloriím (4 kcal/g bílkoviny a sacharidy, 9 kcal/g tuk, tolerance 25 %) a jejich součet nesmí přesáhnout 100 g na 100 g produktu. Ta kontrola ale ověřuje věrohodnost, ne pravdu — proto jsou odhadnuté položky označené polem _odhad, ať si je každý může odfiltrovat.

Co v souboru není

Databáze, ze které počítá aplikace, má 46 640 položek. Ke stažení je jich 9 098. Rozdíl je 45 875 položek z českého maloobchodu: jejich výživové hodnoty smíme v aplikaci používat, ale nepatří nám právo šířit je dál, a nabízet je tady pod otevřenou licencí by znamenalo slíbit něco, co nemůžeme splnit. Ve veřejném souboru proto nejsou vůbec — ne skryté, ne oříznuté. Na čísla, kterými se tahle stránka chlubí, to sahá takhle: položek s čárovým kódem zůstává 92 % (v plné databázi 58 %), položek s českým názvem 61 % (v plné 74 %) a značek 2 478 místo 6 535.

Data nejsou dokonalá. Výživové hodnoty na obalech se liší podle šarže, výrobci je mění a přepis může obsahovat chyby. Pro běžné počítání kalorií to stačí, pro klinické účely ne.

Licence a použití

Databáze je dostupná pod ODbL 1.0, stejně jako zdrojová data OpenFoodFacts. Můžeš ji používat komerčně i nekomerčně, upravovat a šířit dál — s podmínkou, že odvozené databáze zůstanou pod stejnou licencí a uvedeš zdroj.

Atribuce, která stačí:

Data: kCalori (https://kcalori.cz/data), ODbL 1.0

Citace

kCalori (2026). Databáze českých potravin kCalori [datová sada]. https://kcalori.cz/data (ODbL 1.0).

@misc{kcalori_potraviny,
  author       = {kCalori},
  title        = {Databáze českých potravin kCalori},
  year         = {2026},
  howpublished = {\url{https://kcalori.cz/data}},
  note         = {Datová sada, 9 098 položek, licence ODbL 1.0}
}

Totéž je strojově čitelné ve strukturovaných datech stránky (JSON-LD, schema.org/Dataset, pole citation).

Databáze slouží k orientačnímu počítání kalorií. kCalori není zdravotnický prostředek a nenahrazuje odbornou péči.

Kdo to sestavil

Databázi i aplikaci kCalori staví Milan Marek — vývojář z Prahy. Dotazy k datům, opravy položek nebo návrhy na další zdroje: github.com/milanmarekmm nebo LinkedIn.