Datenquellen
Unsere Datenbank führt zwei große offene Datenquellen in einem einheitlichen, normalisierten Format zusammen:
Open Food Facts (4,1 Mio. Produkte) — eine von der Community gepflegte, weltweite Datenbank mit starker Abdeckung in Europa. Die Produkte enthalten Barcodes, mehrsprachige Namen und Zutaten, Nutri-Score, NOVA-Klassifizierung, Allergenangaben und Bilder. Lizenziert unter ODbL.
USDA FoodData Central (2,0 Mio. Produkte) — die umfassende Lebensmittel-Zusammensetzungsdatenbank des US-Landwirtschaftsministeriums. Enthält im Labor geprüfte Nährwerte für Markenprodukte, Foundation Foods und ältere Referenzlebensmittel. Gemeinfrei.
Zusammen sind das 6,1 Millionen eindeutige Lebensmittelprodukte — mehr, als eine einzelne Quelle allein bietet.
Wie wir die Daten zusammenführen
Gibt es ein Produkt in beiden Datenbanken (abgeglichen über den Barcode), bevorzugen wir die USDA-Nährwerte (im Labor geprüft) und ergänzen sie um Metadaten von Open Food Facts (Bilder, Allergene, Nutri-Score, mehrsprachige Namen). So bekommst du das Beste aus beiden Welten: genaue Nährwerte mit umfangreichen Produktmetadaten.
Nährstoffstufen
Nicht für jedes Produkt ist jeder Nährstoff gemessen. Wir ordnen die Nährstoffe deshalb nach Datenabdeckung in Stufen ein:
Stufe 1: Kern-Makros (97 %+ Abdeckung)
Für fast jedes Produkt in unserer Datenbank verfügbar:
| Nährstoff | Feld | Einheit |
|---|---|---|
| Energie | energy_kcal, energy_kj | kcal, kJ |
| Eiweiß | proteins_g | g |
| Kohlenhydrate | carbs_g | g |
| Fett | fat_g | g |
| Zucker | sugars_g | g |
| Gesättigte Fettsäuren | saturated_fat_g | g |
| Natrium | sodium_mg | mg |
| Salz | salt_g | g |
| Ballaststoffe | fiber_g | g |
Stufe 2: Häufige Nährstoffe
Für einen großen Teil der Produkte verfügbar — vor allem für im Labor geprüfte Einträge —, aber längst nicht für alle. Die Abdeckung variiert je Nährstoff und wird besser, wenn die Quellen aktualisiert werden:
| Nährstoff | Feld |
|---|---|
| Cholesterin | cholesterol_mg |
| Transfette | trans_fat_g |
| Calcium | calcium_mg |
| Eisen | iron_mg |
| Vitamin C | vitamin_c_mg |
| Kalium | potassium_mg |
| Vitamin A | vitamin_a_iu |
| Zugesetzter Zucker | added_sugars_g |
Stufe 3: Erweiterte Nährstoffe
Für eine kleinere Teilmenge verfügbar, vor allem für im Labor analysierte Lebensmittel:
Vitamin D, Magnesium, Zink, Phosphor, B-Vitamine (B1, B2, B6, B9, B12), Niacin, Pantothensäure, Mangan, Kupfer, Selen, Jod, Alkohol, Stärke, Polyole, einfach ungesättigte Fettsäuren, mehrfach ungesättigte Fettsäuren, Omega-3-Fettsäuren und Omega-6-Fettsäuren.
Mit den Daten arbeiten
Alle Werte pro 100 g
Jeder Nährwert in unserer API ist auf 100 g Produkt normalisiert. Für Werte pro Portion multiplizierst du mit der Portionsgröße:
const perServing = (valuePer100g, servingGrams) => {
return Math.round(valuePer100g * (servingGrams / 100) * 10) / 10;
};
// Example: 42 kcal per 100g, 330ml can
perServing(42, 330); // → 138.6 kcal
Umgang mit null-Werten
Die API gibt null für Nährstoffe zurück, die für ein Produkt nicht vorliegen. Deine App sollte fehlende Werte sauber abfangen — geh nicht davon aus, dass jedes Produkt jedes Feld hat.
const calories = food.nutrition_summary?.energy_kcal ?? "N/A";
Mehrsprachigkeit
Produkte aus Open Food Facts enthalten Namen und Zutaten in mehreren Sprachen. Das Feld name liefert ein Array von {lang, text}-Objekten:
[
{"lang": "main", "text": "Coca-Cola"},
{"lang": "fr", "text": "Coca-Cola en canette"},
{"lang": "de", "text": "Coca-Cola"}
]
Das Feld name_default enthält immer den Text in der Hauptsprache — für schnellen Zugriff, ohne das Array parsen zu müssen.
Datenqualität
In unserer Datenpipeline wenden wir mehrere Qualitätsfilter an:
- Physikalische Obergrenzen für Nährwerte, um unsinnige Daten herauszufiltern (z. B. kann Eiweiß 100 g pro 100 g nicht überschreiten)
- Einheiten-Normalisierung für einheitliche Einheiten über alle Quellen hinweg (g, mg, mcg, IU)
- Deduplizierung über den Barcode, wobei bei überlappenden Produkten die im Labor geprüften Werte Vorrang haben
- Vollständigkeits-Score, damit du bei Bedarf nach Datenqualität filtern kannst
Willst du dir die Daten ansehen, bevor du Code schreibst? Jedes Produkt im Katalog hat eine öffentliche Seite im Produkt-Explorer, die genau die Felder zeigt, die die API zurückgibt — Nährwerttabelle, Zutaten, Allergene, Scores und alles Weitere.
Weitere Beiträge
Bau es mit FoodBase
6,1 Mio. Produkte, über 40 Nährstoffe und KI-Lebensmittelanalyse — kostenlos starten, ohne Kreditkarte.