Ingredient list check

POST /v1/label/ingredients · $0.001 a call

Send an ingredient list as text, for example from your own product catalog or OCR. Food lists get the NOVA processing group, additives with EFSA risk levels and the 14 EU allergens, split into what the product contains and what it may contain. Cosmetic lists are checked against EU-regulated and commonly avoided ingredients. Uses the same rules as POST /v1/label, with no model involved.

For grocery catalogs, allergy apps, clean-beauty apps.

Request

Send these fields as a JSON body (or form fields) on POST /v1/label/ingredients. No photo is needed.

FieldTypeDescription
ingredientsstring, up to 5000 characters, requiredThe ingredient list as printed, including any "contains" or "may contain" statement.
product_typeone of food, cosmeticfood (default) or cosmetic. Cosmetics get ingredient flags instead of NOVA and additives.

Photo tips. No photo. Paste the full ingredient list, including any allergen statements.

curl https://truelens.keronlabs.com/v1/label/ingredients \
  -H "Authorization: Bearer $TRUELENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ingredients":"Sugar, palm oil, hazelnuts 13%, skimmed milk powder, emulsifier: lecithins (soya), vanillin. May contain traces of peanuts."}'

Response

FieldDescription
summaryOne line, e.g. "NOVA 4, 1 additive" or "12 ingredients, 2 to check".
ingredients[]The list split into ingredients.
novaFood only: group 1 to 4, the ingredients that set it, and a one-line basis.
additives[]Food only: e_number, name, classes, efsa_overexposure_risk (high, moderate or null), note.
allergenscontains and may_contain, each a list of EU allergen ids. may_contain comes from "may contain" or "traces of" wording.
cosmeticCosmetics only: flags (ingredient, category, level info|caution|restricted, reason) and ingredient_count.

Example

Output of this API’s own code on the sample request above.

{
  "metadata": {
    "id": "req_9cf4da08fe7f40dab71a",
    "engine": "label/ingredients",
    "status": "success",
    "cached": false,
    "credits_used": 0.1,
    "created_at": "2026-10-19T09:30:00.000Z",
    "processing_ms": 40
  },
  "summary": "NOVA 4, 1 additive",
  "product_type": "food",
  "ingredients": [
    "Sugar",
    "palm oil",
    "hazelnuts 13%",
    "skimmed milk powder",
    "emulsifier: lecithins (soya)",
    "vanillin"
  ],
  "nova": {
    "group": 4,
    "markers": [
      {
        "ingredient": "emulsifier: lecithins (soya)",
        "marker": "Emulsifier",
        "group": 4
      },
      {
        "ingredient": "E322 Lecithin",
        "marker": "lecithin",
        "group": 4
      },
      {
        "ingredient": "Sugar",
        "marker": "sugar",
        "group": 3
      },
      {
        "ingredient": "skimmed milk powder",
        "marker": "milk powder",
        "group": 3
      }
    ],
    "basis": "Contains ingredients or additives typical of ultra-processed foods."
  },
  "additives": [
    {
      "e_number": "E322",
      "name": "Lecithin",
      "classes": [
        "antioxidant",
        "emulsifier"
      ],
      "efsa_overexposure_risk": null,
      "note": null
    }
  ],
  "allergens": {
    "contains": [
      "soybeans",
      "milk",
      "nuts"
    ],
    "may_contain": [
      "peanuts"
    ]
  },
  "cosmetic": null
}