Kostenlose Makronährstoff-Referenztabellen: Vollständige Nährwertdaten im CSV- und JSON-Format herunterladen
Laden Sie kostenlose Makronährstoff-Referenztabellen mit vollständigen Nährwertdaten für über 500 gängige Lebensmittel im CSV- und JSON-Format herunter. Enthält Protein, Kohlenhydrate, Fett, Ballaststoffe und Kalorien, geordnet nach Lebensmittelkategorie.
Ob Sie eine Ernährungs-App entwickeln, eine Forschungsstudie durchführen, Klienten coachen oder einfach ein zuverlässiges Nachschlageblatt auf Ihrem Schreibtisch haben möchten — Sie brauchen saubere Makronährstoffdaten in einem Format, mit dem Sie tatsächlich arbeiten können. Staatliche Datenbanken existieren zwar, aber sie sind unübersichtlich, inkonsistent und eher für Bürokraten als für Entwickler formatiert.
Wir haben eine Reihe kostenloser Makronährstoff-Referenztabellen zusammengestellt, die über 500 gängige Lebensmittel mit vollständigen Makronährstoff-Aufschlüsselungen abdecken. Die Daten sind sowohl im CSV- als auch im JSON-Format verfügbar und können direkt in eine Tabellenkalkulation, eine Datenbank, ein Skript oder eine Anwendung eingefügt werden. Jeder Eintrag wurde anhand von Primärquellen überprüft, und die Dateien sind so strukturiert, dass Sie sie sofort ohne Bereinigung oder Transformation verwenden können.
Diese Seite beschreibt genau, was in den Tabellen enthalten ist, wie die Daten strukturiert sind, wie Sie sie programmatisch laden können und wie Sie Korrekturen einreichen können, falls Sie etwas Aktualisierungsbedürftiges finden.
Was enthalten ist
Die Makronährstoff-Referenztabellen enthalten über 500 der am häufigsten konsumierten Lebensmittel in sieben Hauptkategorien. Für jedes Lebensmittel erhalten Sie:
- Lebensmittelname — der englische Standardname, der in der Ernährungswissenschaft verwendet wird
- Kategorie — eine von sieben übergeordneten Kategorien (mehr dazu weiter unten)
- Unterkategorie — eine spezifischere Gruppierung innerhalb der übergeordneten Kategorie
- Portionsgrößenbeschreibung — eine verständliche Portionsgröße (z. B. „1 mittlere Banane", „1 Tasse gekocht")
- Portionsgewicht in Gramm — das Grammäquivalent dieser Portionsgröße
- Kalorien — Gesamtenergie in Kilokalorien (kcal)
- Protein — Gramm Protein pro Portion
- Gesamtfett — Gramm Gesamtfett pro Portion
- Gesättigtes Fett — Gramm gesättigtes Fett pro Portion
- Gesamtkohlenhydrate — Gramm Gesamtkohlenhydrate pro Portion
- Ballaststoffe — Gramm Ballaststoffe pro Portion
- Zucker — Gramm Gesamtzucker pro Portion
- Natrium — Milligramm Natrium pro Portion
Alle Werte beziehen sich auf die angegebene Portionsgröße, nicht auf 100 Gramm. Wir haben diesen Ansatz gewählt, weil portionsbasierte Daten das sind, was die meisten Menschen tatsächlich benötigen, wenn sie Mahlzeiten verfolgen, Ernährungspläne erstellen oder Nährwertinformationen in einer Benutzeroberfläche anzeigen. Wenn Sie Werte pro 100 g benötigen, teilen Sie einfach durch das Portionsgewicht und multiplizieren Sie mit 100.
Die Tabellen enthalten keine Mikronährstoffe über Natrium und Ballaststoffe hinaus. Für vollständige Mikronährstoffprofile (Vitamine, Mineralstoffe, Aminosäuren) lesen Sie den Abschnitt über die Nutrola API am Ende dieses Artikels — dort befinden sich die detaillierten Daten.
Datenformat-Spezifikationen
CSV-Format
Die CSV-Datei verwendet UTF-8-Kodierung mit einer Kopfzeile. Felder sind kommagetrennt und Textfelder sind in Anführungszeichen gesetzt. So sieht die Struktur aus:
food_name,category,subcategory,serving_description,serving_weight_g,calories_kcal,protein_g,total_fat_g,saturated_fat_g,total_carbs_g,fiber_g,sugar_g,sodium_mg
"Chicken Breast, boneless skinless, cooked","Proteins","Poultry","1 breast (170g)",170,284,53.4,6.2,1.7,0.0,0.0,0.0,126
"Atlantic Salmon, cooked","Proteins","Fish & Seafood","1 fillet (154g)",154,280,39.3,12.4,2.5,0.0,0.0,0.0,109
"Brown Rice, cooked","Grains & Starches","Whole Grains","1 cup (195g)",195,216,5.0,1.8,0.4,44.8,3.5,0.7,10
"Banana, raw","Fruits","Tropical Fruits","1 medium (118g)",118,105,1.3,0.4,0.1,27.0,3.1,14.4,1
Die CSV-Datei ist kompatibel mit Microsoft Excel, Google Sheets, LibreOffice Calc, Apple Numbers und jeder Programmiersprache mit CSV-Parsing-Unterstützung. Es ist keine spezielle Konfiguration erforderlich — öffnen Sie die Datei und sie wird korrekt geparst.
JSON-Format
Die JSON-Datei enthält ein Array von Objekten, eines pro Lebensmittel. Die Struktur entspricht den CSV-Feldern:
{
"version": "1.4.0",
"generated": "2026-03-12",
"source": "Nutrola Macro Reference Tables",
"record_count": 527,
"foods": [
{
"food_name": "Chicken Breast, boneless skinless, cooked",
"category": "Proteins",
"subcategory": "Poultry",
"serving_description": "1 breast (170g)",
"serving_weight_g": 170,
"nutrients": {
"calories_kcal": 284,
"protein_g": 53.4,
"total_fat_g": 6.2,
"saturated_fat_g": 1.7,
"total_carbs_g": 0.0,
"fiber_g": 0.0,
"sugar_g": 0.0,
"sodium_mg": 126
}
}
]
}
Die JSON-Datei enthält Metadatenfelder auf der obersten Ebene: einen Versionsstring zur Nachverfolgung von Aktualisierungen, das Erstellungsdatum, den Quellennamen und die Gesamtanzahl der Datensätze. Dies erleichtert die Überprüfung, ob Sie die neueste Version haben, und ermöglicht es Ihnen, eine Aktualisierungsprüfungslogik in Ihre Anwendungen einzubauen.
Numerische Werte werden als Zahlen gespeichert, nicht als Strings. Null-Werte kommen nicht vor — wenn ein Nährstoffwert unbekannt ist, wird das Lebensmittel aus dem Datensatz ausgeschlossen, anstatt mit fehlenden Daten aufgenommen zu werden. Dies war eine bewusste Entscheidung, um die Daten sauber zu halten und stille Fehler in Berechnungen zu vermeiden.
Feldbeschreibungen
Hier ist eine detaillierte Aufschlüsselung jedes Feldes, einschließlich Einheiten, erwarteter Bereiche und Sonderfälle:
| Feld | Typ | Einheit | Beschreibung |
|---|---|---|---|
| food_name | string | — | Englischer Standardname. Enthält die Zubereitungsmethode, wo relevant (z. B. „cooked", „raw", „dried"). |
| category | string | — | Eine von sieben übergeordneten Kategorien. Siehe den Abschnitt Kategorien unten. |
| subcategory | string | — | Eine spezifischere Gruppierung. Zum Beispiel finden Sie innerhalb von „Proteins" die Untergruppen „Poultry", „Red Meat", „Fish & Seafood", „Legumes" und „Eggs". |
| serving_description | string | — | Eine verständliche Portionsgröße. Enthält immer das Grammgewicht in Klammern. |
| serving_weight_g | number | Gramm | Das numerische Grammgewicht der Portion. Ganzzahlige Werte für die meisten Artikel, eine Dezimalstelle für Artikel, bei denen Präzision wichtig ist. |
| calories_kcal | number | kcal | Gesamtenergie. Berechnet nach dem Atwater-System (4 kcal/g Protein, 4 kcal/g Kohlenhydrate, 9 kcal/g Fett). |
| protein_g | number | Gramm | Gesamtprotein. Präzision auf eine Dezimalstelle. |
| total_fat_g | number | Gramm | Gesamtfett einschließlich gesättigter, einfach ungesättigter und mehrfach ungesättigter Fettsäuren. |
| saturated_fat_g | number | Gramm | Nur gesättigte Fettsäuren. |
| total_carbs_g | number | Gramm | Gesamtkohlenhydrate einschließlich Ballaststoffe und Zucker. |
| fiber_g | number | Gramm | Gesamte Ballaststoffe (löslich + unlöslich). |
| sugar_g | number | Gramm | Gesamtzucker (natürlich vorkommend + zugesetzt). Der Datensatz unterscheidet nicht zwischen zugesetztem und natürlichem Zucker. |
| sodium_mg | number | Milligramm | Natriumgehalt. Beachten Sie, dass dies Milligramm sind, nicht Gramm, im Gegensatz zu den anderen Nährstofffeldern. |
Einige Anmerkungen zur Präzision: Alle Nährstoffwerte sind auf eine Dezimalstelle gerundet. Dies entspricht dem Präzisionsniveau der zugrunde liegenden Quelldaten. Mehr Dezimalstellen anzugeben würde eine falsche Genauigkeit suggerieren — die Lebensmittelzusammensetzung variiert natürlicherweise um 5-15 %, abhängig von Anbaubedingungen, Tierrasse und Zubereitungsmethoden.
Lebensmittelkategorien
Die über 500 Lebensmittel sind in sieben übergeordnete Kategorien mit jeweils mehreren Unterkategorien gegliedert:
Proteine
Ungefähr 95 Einträge, die Geflügel (Hähnchenbrust, Schenkel, Truthahn, Truthahnhackfleisch), rotes Fleisch (Rinderfilet, Rinderhackfleisch in verschiedenen Magergraden, Schweinelende, Lamm), Fisch und Meeresfrüchte (Lachs, Thunfisch, Garnelen, Kabeljau, Tilapia, Sardinen), Eier (ganz, Eiweiß, Rührei) und pflanzliche Proteine (Tofu, Tempeh, Seitan, Edamame) abdecken. Hülsenfrüchte wie Linsen, Kichererbsen und schwarze Bohnen sind hier und nicht bei Getreide eingeordnet, da ihre primäre ernährungsphysiologische Rolle die Proteinlieferung ist.
Getreide und Stärke
Ungefähr 80 Einträge, die Vollkornprodukte (Naturreis, Haferflocken, Quinoa, Gerste, Bulgur), raffiniertes Getreide (weißer Reis, Weißbrot, Nudeln), stärkehaltige Gemüse (Kartoffeln, Süßkartoffeln, Mais) und gängige Getreideprodukte (Tortillas, Bagels, Cracker, Couscous) abdecken. Sowohl gekochte als auch trockene Werte werden für Getreide angegeben, wo die Unterscheidung relevant ist.
Obst
Ungefähr 65 Einträge, die gängiges frisches Obst (Äpfel, Bananen, Orangen, Erdbeeren, Blaubeeren, Trauben), tropische Früchte (Mangos, Ananas, Papaya, Kiwi), Trockenfrüchte (Rosinen, Datteln, getrocknete Aprikosen, Cranberries) und Tiefkühlobst abdecken. Alle Einträge für frisches Obst beziehen sich auf den rohen, essbaren Anteil — Kerne, Schalen und Steine sind vom Portionsgewicht ausgeschlossen, wo zutreffend.
Gemüse
Ungefähr 85 Einträge, die Blattgemüse (Spinat, Grünkohl, Römersalat, Rucola), Kreuzblütlergemüse (Brokkoli, Blumenkohl, Rosenkohl, Kohl), Wurzelgemüse (Karotten, Rote Bete, Steckrüben, Radieschen), Lauchgemüse (Zwiebeln, Knoblauch), Nachtschattengewächse (Tomaten, Paprika, Aubergine) und anderes gängiges Gemüse (Gurke, Sellerie, Zucchini, Pilze, Spargel) abdecken. Sowohl rohe als auch gekochte Werte werden für Gemüse angegeben, bei dem das Kochen die Nährstoffdichte pro Portion deutlich verändert.
Milchprodukte und Alternativen
Ungefähr 70 Einträge, die Milch (Vollmilch, 2 %, Magermilch und pflanzliche Milch), Joghurt (Griechisch, normal, aromatisiert, pflanzlich), Käse (Cheddar, Mozzarella, Feta, Hüttenkäse, Frischkäse, Parmesan), Butter, Sahne und gängige Milchalternativen (Mandelmilch, Hafermilch, Sojamilch, Kokosjoghurt) abdecken. Pflanzliche Milch und Joghurts sind hier gruppiert und nicht in einer separaten Kategorie, da die Nutzer sie typischerweise als direkte Ersatzprodukte verwenden.
Snacks und verarbeitete Lebensmittel
Ungefähr 75 Einträge, die Nüsse und Samen (Mandeln, Walnüsse, Erdnüsse, Chiasamen, Leinsamen, Sonnenblumenkerne), Nussbutter (Erdnussbutter, Mandelbutter), gängige Snackprodukte (Brezeln, Popcorn, Müsliriegel, Proteinriegel, Studentenfutter, Chips, dunkle Schokolade), Aufstriche und Gewürze (Hummus, Guacamole, Salsa, Mayonnaise, Olivenöl, Honig) und andere häufig erfasste Artikel wie Proteinpulver und Energiebällchen abdecken.
Getränke
Ungefähr 60 Einträge, die Säfte (Orangensaft, Apfelsaft, Cranberrysaft), Erfrischungsgetränke (Cola, Zitronenlimonade, Ginger Ale), Sport- und Energiegetränke, Kaffeegetränke (schwarzer Kaffee, Latte, Cappuccino, Mokka mit verschiedenen Milchsorten), Smoothie-Basen, alkoholische Getränke (Bier, Wein, Spirituosen) und gängige Zusätze (Sahne, Zucker, aromatisierte Sirupe) abdecken. Wasser ist nicht enthalten, da es keinen Makronährstoffgehalt hat.
Programmatische Nutzung der Daten
Der gesamte Zweck der Bereitstellung von CSV- und JSON-Formaten besteht darin, dass Sie diese Daten direkt in Ihren Code laden können. Hier sind funktionierende Beispiele in Python und JavaScript.
Python: CSV laden
import csv
def load_macro_table(filepath):
foods = []
with open(filepath, newline='', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
# Convert numeric fields from strings
for key in ['serving_weight_g', 'calories_kcal', 'protein_g',
'total_fat_g', 'saturated_fat_g', 'total_carbs_g',
'fiber_g', 'sugar_g', 'sodium_mg']:
row[key] = float(row[key])
foods.append(row)
return foods
foods = load_macro_table('macro_reference_table.csv')
# Find all foods in a category
proteins = [f for f in foods if f['category'] == 'Proteins']
print(f"Found {len(proteins)} protein sources")
# Find the highest protein foods per calorie
foods_sorted = sorted(foods, key=lambda f: f['protein_g'] / max(f['calories_kcal'], 1), reverse=True)
print("\nTop 10 foods by protein density (g protein per kcal):")
for f in foods_sorted[:10]:
ratio = f['protein_g'] / f['calories_kcal']
print(f" {f['food_name']}: {ratio:.3f} g/kcal ({f['protein_g']}g protein, {f['calories_kcal']} kcal)")
Python: JSON laden
import json
def load_macro_json(filepath):
with open(filepath, encoding='utf-8') as f:
data = json.load(f)
print(f"Loaded {data['record_count']} foods (version {data['version']})")
return data['foods']
foods = load_macro_json('macro_reference_table.json')
# Build a lookup dictionary by food name
lookup = {f['food_name'].lower(): f for f in foods}
# Quick lookup
chicken = lookup.get('chicken breast, boneless skinless, cooked')
if chicken:
n = chicken['nutrients']
print(f"Chicken breast per serving ({chicken['serving_description']}):")
print(f" Calories: {n['calories_kcal']} kcal")
print(f" Protein: {n['protein_g']}g")
print(f" Fat: {n['total_fat_g']}g")
print(f" Carbs: {n['total_carbs_g']}g")
JavaScript: JSON laden
// Node.js
const fs = require('fs');
function loadMacroTable(filepath) {
const raw = fs.readFileSync(filepath, 'utf-8');
const data = JSON.parse(raw);
console.log(`Loaded ${data.record_count} foods (version ${data.version})`);
return data.foods;
}
const foods = loadMacroTable('macro_reference_table.json');
// Group foods by category
const byCategory = {};
for (const food of foods) {
if (!byCategory[food.category]) {
byCategory[food.category] = [];
}
byCategory[food.category].push(food);
}
// Print summary
for (const [category, items] of Object.entries(byCategory)) {
console.log(`${category}: ${items.length} foods`);
}
// Find low-calorie, high-fiber foods
const highFiber = foods
.filter(f => f.nutrients.fiber_g >= 5 && f.nutrients.calories_kcal <= 200)
.sort((a, b) => b.nutrients.fiber_g - a.nutrients.fiber_g);
console.log('\nHigh-fiber, low-calorie foods:');
highFiber.slice(0, 10).forEach(f => {
console.log(` ${f.food_name}: ${f.nutrients.fiber_g}g fiber, ${f.nutrients.calories_kcal} kcal`);
});
JavaScript: CSV im Browser laden
// Browser-based CSV parsing (no dependencies)
async function loadMacroCSV(url) {
const response = await fetch(url);
const text = await response.text();
const lines = text.split('\n').filter(line => line.trim());
const headers = parseCSVLine(lines[0]);
return lines.slice(1).map(line => {
const values = parseCSVLine(line);
const obj = {};
headers.forEach((header, i) => {
obj[header] = isNaN(values[i]) ? values[i] : parseFloat(values[i]);
});
return obj;
});
}
function parseCSVLine(line) {
const result = [];
let current = '';
let inQuotes = false;
for (const char of line) {
if (char === '"') { inQuotes = !inQuotes; }
else if (char === ',' && !inQuotes) { result.push(current.trim()); current = ''; }
else { current += char; }
}
result.push(current.trim());
return result;
}
// Usage
const foods = await loadMacroCSV('/data/macro_reference_table.csv');
console.log(`Loaded ${foods.length} foods`);
Diese Beispiele demonstrieren die häufigsten Operationen: Daten laden, suchen und filtern, nach Kategorie gruppieren und nach Nährstoffdichte sortieren. Die Datenstrukturen sind absichtlich einfach gehalten, sodass Sie keine speziellen Bibliotheken benötigen, um mit ihnen zu arbeiten.
Datenquellen
Die Makronährstoff-Referenztabellen werden aus folgenden Primärquellen zusammengestellt:
USDA SR Legacy Database. Die USDA Standard Reference Legacy-Datenbank ist der grundlegende Datensatz für die US-amerikanische Lebensmittelzusammensetzung. Sie enthält laboranalysierte Nährstoffdaten für über 7.600 Lebensmittel. Unsere Tabellen verwenden SR Legacy als Primärquelle für generische/markenlose Lebensmittel. Wir haben SR Legacy der neueren FoodData Central FNDDS vorgezogen, da die SR Legacy-Werte breiter validiert und in der Ernährungsforschung häufiger zitiert werden.
USDA FoodData Central. Für Lebensmittel, die in SR Legacy nicht enthalten sind, insbesondere neuere Lebensmittel und aktualisierte Werte, referenzieren wir die Foundation Foods- und Survey Foods-Datensätze von FoodData Central.
Internationale Lebensmittelzusammensetzungsdatenbanken. Für Lebensmittel, die weltweit konsumiert werden, aber möglicherweise nicht in US-Datenbanken erscheinen, gleichen wir die Daten ab mit den McCance and Widdowson-Zusammensetzungstabellen von Public Health England, Food Standards Australia New Zealand (FSANZ) NUTTAB, dem Canadian Nutrient File (CNF) und der dänischen Lebensmittelzusammensetzungsdatenbank (Frida). Dies ist besonders relevant für tropische Früchte, regionale Getreidesorten und Zubereitungsmethoden, die außerhalb der USA üblich sind.
Herstellerdaten. Für verarbeitete und Markenprodukte in den Kategorien Snacks und Getränke referenzieren wir die von den Herstellern bereitgestellten Nährwertangaben. Wenn Herstellerdaten mit Laboranalysen in Konflikt stehen, vermerken wir die Diskrepanz und verwenden standardmäßig die Laborwerte.
Alle Werte wurden mit mindestens zwei unabhängigen Quellen abgeglichen. Bei Abweichungen von mehr als 10 % zwischen den Quellen haben wir die Ursache untersucht (meist unterschiedliche Zubereitungsmethoden oder Sortenunterschiede) und den Wert ausgewählt, der am repräsentativsten für den typischen Verzehr des Lebensmittels ist.
Der Datensatz ist versioniert. Die aktuelle Version ist 1.4.0, zuletzt aktualisiert im März 2026. Wir aktualisieren die Tabellen ungefähr vierteljährlich, um Korrekturen einzuarbeiten, angeforderte Lebensmittel hinzuzufügen und signifikante Änderungen in den Quelldatenbanken zu berücksichtigen.
So reichen Sie Korrekturen ein
Nährwertdaten sind von Natur aus nicht perfekt. Die Lebensmittelzusammensetzung variiert je nach Region, Jahreszeit, Sorte und Zubereitungsmethode. Wenn Sie einen Fehler finden oder eine Korrektur haben, die durch eine zuverlässige Quelle gestützt wird, möchten wir davon erfahren.
Es gibt drei Möglichkeiten, Korrekturen einzureichen:
GitHub Issues. Die Makronährstoff-Referenztabellen werden in einem öffentlichen GitHub-Repository gehostet. Eröffnen Sie ein Issue mit dem Lebensmittelnamen, dem Feld, das Ihrer Meinung nach falsch ist, dem aktuellen Wert, dem Wert, den Sie für korrekt halten, und einem Link zu Ihrer Quelle. Wir überprüfen Issues wöchentlich.
E-Mail. Senden Sie Korrekturen an data@nutrola.com mit den gleichen Informationen: Lebensmittelname, Feld, aktueller Wert, vorgeschlagener Wert und Quelle. Wir antworten innerhalb von fünf Werktagen.
Pull Requests. Wenn Sie mit Git vertraut sind, können Sie das Repository forken, die CSV- oder JSON-Datei direkt bearbeiten und einen Pull Request einreichen. Geben Sie Ihre Quelle in der PR-Beschreibung an. Wir überprüfen und mergen Korrekturen, die durch zuverlässige Daten gestützt werden.
Wir akzeptieren über diesen Prozess keine Einreichungen für Marken- oder proprietäre Produkte. Diese werden über die Hauptdatenbank-Pipeline von Nutrola verarbeitet, die einen eigenen Verifizierungsworkflow hat.
Integration mit der Nutrola API für Echtzeitdaten
Die herunterladbaren Makronährstoff-Referenztabellen sind ein statischer Snapshot — ideal für die Offline-Nutzung, eingebettete Anwendungen, Lehrmaterialien und schnelle Nachschlagewerke. Wenn Sie jedoch Echtzeit-Nährwertdaten im großen Maßstab benötigen, bietet die Nutrola Nutrition Data API alles, was in diesen Tabellen enthalten ist, und noch viel mehr.
Die API umfasst über 3 Millionen Lebensmitteleinträge (im Vergleich zu über 500 in den Referenztabellen), enthält vollständige Mikronährstoffprofile mit über 70 Nährstoffen pro Eintrag, unterstützt Barcode-Scanning, Textsuche und Autocomplete und liefert Daten für Markenprodukte aus 47 Ländern. Es sind dieselben Daten, die die Nutrola-App nutzt, die täglich von über 2 Millionen Menschen verwendet wird.
Für Entwickler: Die API ist RESTful, liefert JSON und bietet eine kostenlose Stufe mit 500 Anfragen pro Tag — ausreichend für Prototyping und persönliche Projekte. Bezahlte Stufen skalieren auf Millionen von Anfragen. Die vollständige Dokumentation finden Sie unter api.nutrola.com/docs.
Für Forscher und Institutionen: Wir bieten akademische Lizenzen mit erhöhten Rate Limits und Massenexport-Funktionen. Kontaktieren Sie research@nutrola.com für Details.
Die Makronährstoff-Referenztabellen und die API ergänzen sich gegenseitig. Verwenden Sie die Tabellen für Offline-Arbeit, eingebettete Datensätze und Situationen, in denen Sie eine eigenständige Datei benötigen. Verwenden Sie die API, wenn Sie Breite, Tiefe, Echtzeit-Updates und Suchfunktionalität benötigen.
Häufig gestellte Fragen
Wie oft werden die Makronährstoff-Referenztabellen aktualisiert?
Wir aktualisieren die Tabellen ungefähr vierteljährlich. Jede Veröffentlichung erhält eine neue Versionsnummer (die aktuelle Version ist 1.4.0). Updates umfassen von Nutzern eingereichte Korrekturen, Ergänzungen häufig angefragter Lebensmittel und Anpassungen, wenn unsere Quelldatenbanken überarbeitete Werte veröffentlichen. Die JSON-Datei enthält die Version und das Erstellungsdatum in ihren Metadaten, sodass Sie programmatisch prüfen können, ob Sie die neueste Version haben.
Kann ich diese Daten in meiner kommerziellen Anwendung verwenden?
Ja. Die Makronährstoff-Referenztabellen werden unter einer Creative Commons Attribution 4.0 (CC BY 4.0) Lizenz veröffentlicht. Sie können die Daten in persönlichen und kommerziellen Projekten verwenden, modifizieren und weiterverbreiten, solange Sie eine Quellenangabe machen. Ein Link zu nutrola.com oder eine Erwähnung der „Nutrola Macro Reference Tables" in Ihren Datenhinweisen ist ausreichend. Sie müssen keine Genehmigung einholen oder eine Gebühr zahlen.
Warum nur 500+ Lebensmittel und nicht die gesamte Nutrola-Datenbank?
Die Referenztabellen sind als praktische, qualitativ hochwertige Teilmenge der am häufigsten konsumierten Lebensmittel konzipiert. Die Abdeckung von über 500 Artikeln in sieben Kategorien deckt etwa 90 % dessen ab, was Menschen in den meisten Ländern täglich essen. Eine Erweiterung auf 3 Millionen Einträge würde die Dateien für viele Anwendungsfälle unhandlich machen (die vollständige Datenbank überschreitet 2 GB). Wenn Sie den vollständigen Datensatz benötigen, bietet die Nutrola API Zugang zu allem.
Beziehen sich die Werte auf eine Portion oder auf 100 Gramm?
Pro Portion. Jeder Eintrag enthält eine Portionsbeschreibung (z. B. „1 medium apple (182g)") und das entsprechende Grammgewicht, sodass Sie die Werte leicht in pro-100g-Werte umrechnen können, indem Sie jeden Nährstoffwert durch das Portionsgewicht teilen und mit 100 multiplizieren. Wir haben uns für Portionswerte entschieden, weil sie für Mahlzeitenverfolgung, Ernährungsplanung und kundenorientierte Anwendungen unmittelbar nützlicher sind.
Wie konvertiere ich die Daten in pro-100g-Werte?
Multiplizieren Sie jeden Nährstoffwert mit 100 und teilen Sie durch das Feld serving_weight_g. Wenn beispielsweise eine Hähnchenbrust-Portion von 170 g 53,4 g Protein enthält, beträgt der pro-100g-Proteinwert (53,4 * 100) / 170 = 31,4 g. Hier ist eine kurze Python-Funktion:
def per_100g(food, nutrient_field):
"""Convert a per-serving nutrient value to per-100g."""
serving_weight = food['serving_weight_g']
if serving_weight == 0:
return 0
return round(food[nutrient_field] * 100 / serving_weight, 1)
Was soll ich tun, wenn ein Lebensmittel, das ich brauche, nicht in der Tabelle ist?
Überprüfen Sie zunächst, ob ein ähnliches Lebensmittel unter einem anderen Namen existiert — verwenden Sie die Suchfunktion Ihres Texteditors oder ein einfaches Skript, um das Feld food_name zu durchsuchen. Wenn das Lebensmittel tatsächlich nicht enthalten ist, haben Sie zwei Möglichkeiten: Reichen Sie eine Anfrage über unser GitHub-Repository ein (wir priorisieren Ergänzungen basierend auf der Nachfrage), oder verwenden Sie die Nutrola API, die über 3 Millionen Lebensmittel abdeckt und mit weit größerer Wahrscheinlichkeit das hat, was Sie brauchen. Für einzelne Nachschlagevorgänge können Sie mit der Nutrola-App die vollständige Datenbank kostenlos durchsuchen.
Bereit, Ihr Ernährungstracking zu transformieren?
Schließen Sie sich Tausenden an, die ihre Gesundheitsreise mit Nutrola transformiert haben!