Tous les articles
guide data

Comprendre les données nutritionnelles

Plongée dans nos sources de données, la couverture des nutriments et la façon de travailler avec plus de 40 nutriments par produit.

mis à jour le 24 juillet 2026 FoodBase Team 3 min de lecture

Sources de données

Notre base fusionne deux grandes sources de données ouvertes dans un format unifié et normalisé :

Open Food Facts (4,1 M de produits) — une base mondiale maintenue par la communauté, avec une forte couverture européenne. Les produits incluent codes-barres, noms/ingrédients multilingues, notes Nutri-Score, classification NOVA, données d’allergènes et images. Sous licence ODbL.

USDA FoodData Central (2,0 M de produits) — la base complète de composition des aliments du département de l’Agriculture des États-Unis. Elle contient des valeurs nutritionnelles vérifiées en laboratoire pour les produits de marque, les aliments de base (foundation) et les aliments de référence historiques (legacy). Domaine public.

Ensemble, cela représente 6,1 millions de produits alimentaires uniques — plus que ce qu’une seule source fournit seule.

Comment nous fusionnons les données

Quand un produit existe dans les deux bases (rapprochées par code-barres), nous privilégions les valeurs nutritionnelles de l’USDA (vérifiées en laboratoire) et les complétons avec les métadonnées d’Open Food Facts (images, allergènes, Nutri-Score, noms multilingues). Vous obtenez le meilleur des deux mondes : des données nutritionnelles précises avec des métadonnées produit riches.

Niveaux de nutriments

Tous les produits n’ont pas tous les nutriments mesurés. Nous organisons les nutriments en niveaux selon leur couverture :

Niveau 1 : macronutriments de base (97 %+ de couverture)

Disponibles pour presque tous les produits de notre base :

NutrimentChampUnité
Énergieenergy_kcal, energy_kjkcal, kJ
Protéinesproteins_gg
Glucidescarbs_gg
Lipidesfat_gg
Sucressugars_gg
Acides gras saturéssaturated_fat_gg
Sodiumsodium_mgmg
Selsalt_gg
Fibresfiber_gg

Niveau 2 : nutriments courants

Disponibles pour une grande part des produits — surtout les fiches vérifiées en laboratoire — mais loin d’être tous. La couverture varie selon le nutriment et s’améliore au fil des mises à jour des sources :

NutrimentChamp
Cholestérolcholesterol_mg
Acides gras transtrans_fat_g
Calciumcalcium_mg
Feriron_mg
Vitamine Cvitamin_c_mg
Potassiumpotassium_mg
Vitamine Avitamin_a_iu
Sucres ajoutésadded_sugars_g

Niveau 3 : nutriments étendus

Disponibles pour un sous-ensemble plus restreint, principalement des aliments analysés en laboratoire :

Vitamine D, magnésium, zinc, phosphore, vitamines B (B1, B2, B6, B9, B12), niacine, acide pantothénique, manganèse, cuivre, sélénium, iode, alcool, amidon, polyols, acides gras mono-insaturés, acides gras polyinsaturés, acides gras oméga-3 et acides gras oméga-6.

Travailler avec les données

Toutes les valeurs sont pour 100 g

Chaque valeur nutritionnelle de notre API est normalisée pour 100 g de produit. Pour calculer les valeurs par portion, multipliez par la taille de la portion :

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

Gérer les valeurs null

L’API renvoie null pour les nutriments non disponibles pour un produit donné. Votre application doit gérer proprement les valeurs manquantes — ne supposez pas que chaque produit possède chaque champ.

const calories = food.nutrition_summary?.energy_kcal ?? "N/A";

Prise en charge multilingue

Les produits d’Open Food Facts contiennent des noms et des ingrédients dans plusieurs langues. Le champ name renvoie un tableau d’objets {lang, text} :

[
  {"lang": "main", "text": "Coca-Cola"},
  {"lang": "fr", "text": "Coca-Cola en canette"},
  {"lang": "de", "text": "Coca-Cola"}
]

Le champ name_default contient toujours le texte dans la langue principale, pour un accès rapide sans parcourir le tableau.

Qualité des données

Nous appliquons plusieurs filtres de qualité dans notre pipeline de données :

  • Plafonds physiques sur les valeurs nutritionnelles pour écarter les données aberrantes (par exemple, les protéines ne peuvent pas dépasser 100 g pour 100 g)
  • Normalisation des unités pour garantir des unités cohérentes entre les sources (g, mg, mcg, UI)
  • Déduplication par code-barres, avec priorité aux valeurs vérifiées en laboratoire pour les produits en double
  • Score de complétude pour vous aider à filtrer selon la qualité des données si nécessaire

Envie de regarder les données avant d’écrire du code ? Chaque produit du catalogue a une page publique dans l’explorateur de produits qui montre exactement les champs renvoyés par l’API — tableau nutritionnel, ingrédients, allergènes, scores et le reste.

Construisez-le avec FoodBase

6,1 M de produits, plus de 40 nutriments et l'analyse alimentaire par IA — gratuit pour commencer, sans carte bancaire.