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.
| Field | Type | Description |
|---|---|---|
ingredients | string, up to 5000 characters, required | The ingredient list as printed, including any "contains" or "may contain" statement. |
product_type | one of food, cosmetic | food (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
| Field | Description |
|---|---|
summary | One line, e.g. "NOVA 4, 1 additive" or "12 ingredients, 2 to check". |
ingredients[] | The list split into ingredients. |
nova | Food 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. |
allergens | contains and may_contain, each a list of EU allergen ids. may_contain comes from "may contain" or "traces of" wording. |
cosmetic | Cosmetics 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
}