Consumer Products · Schema

NutritionFacts

Nutrition facts panel data for a consumer food or beverage product, aligned with US FDA Nutrition Facts and Open Food Facts conventions.

Consumer ProductsCPGProduct DataRetailGTINBarcodeProduct CatalogPIMSyndicationSchema.org Product

Properties

Name Type Description
servingSize object Manufacturer-declared serving size.
servingsPerContainer number Servings per container as printed on the panel.
energyKcal number Calories per serving (kcal).
energyKj number Energy per serving in kilojoules.
totalFatG number Total fat per serving in grams.
saturatedFatG number Saturated fat per serving in grams.
transFatG number Trans fat per serving in grams.
cholesterolMg number Cholesterol per serving in milligrams.
sodiumMg number Sodium per serving in milligrams.
totalCarbohydrateG number Total carbohydrate per serving in grams.
dietaryFiberG number Dietary fiber per serving in grams.
totalSugarsG number Total sugars per serving in grams.
addedSugarsG number Added sugars per serving in grams.
proteinG number Protein per serving in grams.
nutriScore string Nutri-Score nutritional grade.
novaGroup integer NOVA classification of food processing level (1 = unprocessed, 4 = ultra-processed).
View JSON Schema on GitHub

JSON Schema

nutrition-facts-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/consumer-products/refs/heads/main/json-schema/nutrition-facts-schema.json",
  "title": "NutritionFacts",
  "description": "Nutrition facts panel data for a consumer food or beverage product, aligned with US FDA Nutrition Facts and Open Food Facts conventions.",
  "type": "object",
  "properties": {
    "servingSize": {
      "type": "object",
      "description": "Manufacturer-declared serving size.",
      "properties": {
        "value": { "type": "number", "example": 30 },
        "unit": { "type": "string", "example": "g" },
        "description": {
          "type": "string",
          "description": "Free-text serving description (e.g. '2 tbsp (30 g)').",
          "example": "2 tbsp (30 g)"
        }
      },
      "required": ["value", "unit"]
    },
    "servingsPerContainer": {
      "type": "number",
      "description": "Servings per container as printed on the panel.",
      "example": 8
    },
    "energyKcal": {
      "type": "number",
      "description": "Calories per serving (kcal).",
      "example": 150
    },
    "energyKj": {
      "type": "number",
      "description": "Energy per serving in kilojoules.",
      "example": 628
    },
    "totalFatG": {
      "type": "number",
      "description": "Total fat per serving in grams.",
      "example": 8
    },
    "saturatedFatG": {
      "type": "number",
      "description": "Saturated fat per serving in grams.",
      "example": 1.5
    },
    "transFatG": {
      "type": "number",
      "description": "Trans fat per serving in grams.",
      "example": 0
    },
    "cholesterolMg": {
      "type": "number",
      "description": "Cholesterol per serving in milligrams.",
      "example": 0
    },
    "sodiumMg": {
      "type": "number",
      "description": "Sodium per serving in milligrams.",
      "example": 95
    },
    "totalCarbohydrateG": {
      "type": "number",
      "description": "Total carbohydrate per serving in grams.",
      "example": 16
    },
    "dietaryFiberG": {
      "type": "number",
      "description": "Dietary fiber per serving in grams.",
      "example": 1
    },
    "totalSugarsG": {
      "type": "number",
      "description": "Total sugars per serving in grams.",
      "example": 2
    },
    "addedSugarsG": {
      "type": "number",
      "description": "Added sugars per serving in grams.",
      "example": 1
    },
    "proteinG": {
      "type": "number",
      "description": "Protein per serving in grams.",
      "example": 2
    },
    "nutriScore": {
      "type": "string",
      "description": "Nutri-Score nutritional grade.",
      "enum": ["A", "B", "C", "D", "E"],
      "example": "B"
    },
    "novaGroup": {
      "type": "integer",
      "description": "NOVA classification of food processing level (1 = unprocessed, 4 = ultra-processed).",
      "enum": [1, 2, 3, 4],
      "example": 3
    }
  },
  "required": ["servingSize", "energyKcal"]
}