Food Allergen Label Checker: US, EU & AU avatar

Food Allergen Label Checker: US, EU & AU

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Food Allergen Label Checker: US, EU & AU

Food Allergen Label Checker: US, EU & AU

Check grocery and food product ingredient lists against the 'Contains' allergen statement: US 9 major allergens (incl. sesame), EU/UK 14 allergens and Australia PEAL. Flags missing allergens, unnamed tree nuts or fish species, free-from claims that conflict, and skips false friends like coconut.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Ultimate Foresight Inc

Ultimate Foresight Inc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Check grocery and food product ingredient lists against their "Contains" allergen statements for US (FALCPA and the FASTER Act, 9 major allergens including sesame), EU/UK (14 allergens, Regulation 1169/2011) or Australia and New Zealand (FSANZ Plain English Allergen Labelling) rules. The Food Allergen Label Checker finds allergens in ingredients that the statement leaves out, tree nuts or fish without the specific name, "free-from" claims that conflict with the ingredients or a "may contain" warning, and coconut listed as a major allergen after FDA's 2025 update. It knows the false friends, such as coconut, nutmeg, butternut squash, water chestnut, buckwheat, cocoa butter and oat milk. Click Start with the prefilled example to see it work.

This is automated keyword screening of label text, not a determination that a label complies or that a food is safe for anyone with an allergy. It can't detect cross-contact or allergens missing from the text supplied. Not legal or medical advice; every row carries this disclaimer and a timestamp.

What does the Food Allergen Label Checker do?

  • ✅ Allergen missing from the Contains statement (US) or summary statement (Australia/NZ PEAL): for example whey or butter in the ingredients but no milk declared.
  • ✅ Allergen source not named (US, no Contains statement): ingredients like casein without "(milk)" next to them.
  • ✅ Tree nut type or fish species not named: FDA requires "almonds" or "cod", not just "tree nuts" or "fish".
  • ✅ Coconut in the Contains statement: removed from FDA's tree nut list in its January 2025 guidance (Edition 5).
  • ✅ Free-from conflicts: "dairy-free" with milk ingredients, or "nut-free" next to "may contain nuts".
  • ✅ EU/UK emphasis: when ingredient lists include HTML bold tags, allergens that aren't emphasised are flagged (Regulation 1169/2011 Art. 21).
  • ✅ False friends skipped: coconut, nutmeg, butternut squash, water chestnut, buckwheat, cocoa/shea/peanut butter, cream of tartar, lactic acid, milk thistle, oyster mushroom and plant milks.
  • ✅ Output per product: region, allergensFound, allergenTerms, declaredAllergens, mayContain, riskLevel, issues (ruleId, severity, allergen, matchedTerms, message, sourceUrl, fixHint), checkedAt and a disclaimer.

Who is it for?

  • Food brands and private-label teams reviewing label copy before print or listing.
  • Grocery retailers and online marketplaces auditing product data from suppliers.
  • Allergy apps, nutrition databases and data teams cleaning scraped grocery data (Woolworths, Coles, Tesco, Walmart, Instacart, Open Food Facts).
  • Food safety consultants running a first pass over large catalogs.

How to check food labels for allergen gaps

  1. Click Start with the prefilled example (four products showing common gaps and a clean label).
  2. Replace Products with your own: ingredients, contains, optional mayContain, claims, title and region.
  3. Or enter a Dataset ID from a grocery scraper. Common fields are detected automatically; use Field map with dotted paths for nested ones.
  4. Choose Allergen rules (US, EU, UK, AU or NZ) for rows without their own region.
  5. Turn on Only save rows with findings, then export as CSV, Excel or JSON.

Input example

This is the prefilled input:

{
"products": [
{
"id": "EXAMPLE-COOKIES",
"title": "Example chocolate chip cookies",
"ingredients": "Enriched wheat flour, sugar, chocolate chips (sugar, cocoa butter, milk fat), butter, eggs, pecans, salt, soy lecithin.",
"contains": "Contains: wheat, milk, egg, soy."
},
{
"id": "EXAMPLE-GRANOLA",
"title": "Example nut-free granola",
"claims": "Nut-free",
"ingredients": "Rolled oats, honey, sunflower seeds, coconut. May contain peanuts and tree nuts."
},
{
"id": "EXAMPLE-CURRY",
"title": "Example coconut curry sauce",
"ingredients": "Coconut milk, water, onion, nutmeg, butternut squash, salt, spices.",
"contains": "Contains: coconut."
},
{
"id": "EXAMPLE-CRACKERS",
"title": "Example sesame crackers",
"ingredients": "Wheat flour, sesame seeds, olive oil, salt.",
"contains": "Contains: wheat, sesame."
}
]
}

Dataset mode:

{"datasetId": "YOUR_DATASET_ID", "fieldMap": {"ingredients": "AdditionalAttributes.ingredients", "contains": "AdditionalAttributes.allergystatement", "title": "DisplayName"}, "region": "AU", "onlyFlagged": true}

Output example

Real output from a run of the prefilled input on 2026-10-31 (long finding lists are shortened here; the run returns all of them):

[
{
"itemNo": 1,
"productId": "EXAMPLE-COOKIES",
"title": "Example chocolate chip cookies",
"region": "US",
"allergensFound": [
"egg",
"milk",
"soy",
"tree nuts",
"wheat"
],
"allergenTerms": {
"milk": [
"milk",
"butter",
"milk fat"
],
"egg": [
"eggs"
],
"tree nuts": [
"pecans"
],
"wheat": [
"wheat"
],
"soy": [
"soy"
]
},
"containsStatement": "Contains: wheat, milk, egg, soy.",
"declaredAllergens": [
"egg",
"milk",
"soy",
"wheat"
],
"mayContain": [],
"riskLevel": "high",
"issueCount": 1,
"categoriesFlagged": [
"allergen_missing_from_contains"
],
"issues": [
{
"ruleId": "allergen_missing_from_contains",
"severity": "high",
"allergen": "tree nuts",
"matchedTerms": [
"pecans"
],
"message": "Ingredients include pecans (tree nuts), but the 'Contains' statement doesn't list it. Under FALCPA, a Contains statement must name all major food allergens in the food.",
"sourceUrl": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-industry-questions-and-answers-regarding-food-allergen-labeling-edition-5",
"fixHint": "Add tree nuts to the Contains statement."
}
],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the ingredient, allergen and claim text supplied, against..."
},
{
"itemNo": 2,
"productId": "EXAMPLE-GRANOLA",
"title": "Example nut-free granola",
"region": "US",
"allergensFound": [],
"allergenTerms": {},
"containsStatement": null,
"declaredAllergens": [],
"mayContain": [
"peanuts",
"tree nuts"
],
"riskLevel": "medium",
"issueCount": 2,
"categoriesFlagged": [
"free_from_with_may_contain"
],
"issues": [
{
"ruleId": "free_from_with_may_contain",
"severity": "medium",
"allergen": "tree nuts",
"matchedTerms": null,
"message": "Claim 'Nut-free' sits next to a precautionary 'may contain tree nuts' statement. FDA says a free-from claim shouldn't be paired with an advisory statement for the same allergen.",
"sourceUrl": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-industry-questions-and-answers-regarding-food-allergen-labeling-edition-5",
"fixHint": "Drop either the free-from claim or the precautionary statement after checking cross-contact controls."
},
{
"ruleId": "free_from_with_may_contain",
"severity": "medium",
"allergen": "peanuts",
"matchedTerms": null,
"message": "Claim 'Nut-free' sits next to a precautionary 'may contain peanuts' statement. FDA says a free-from claim shouldn't be paired with an advisory statement for the same allergen.",
"sourceUrl": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-industry-questions-and-answers-regarding-food-allergen-labeling-edition-5",
"fixHint": "Drop either the free-from claim or the precautionary statement after checking cross-contact controls."
}
],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the ingredient, allergen and claim text supplied, against..."
},
{
"itemNo": 3,
"productId": "EXAMPLE-CURRY",
"title": "Example coconut curry sauce",
"region": "US",
"allergensFound": [],
"allergenTerms": {},
"containsStatement": "Contains: coconut.",
"declaredAllergens": [],
"mayContain": [],
"riskLevel": "low",
"issueCount": 1,
"categoriesFlagged": [
"coconut_in_contains"
],
"issues": [
{
"ruleId": "coconut_in_contains",
"severity": "low",
"allergen": null,
"matchedTerms": null,
"message": "The Contains statement lists coconut. Since FDA's January 2025 guidance (Edition 5), coconut is not a major food allergen and shouldn't appear in the Contains statement; keep it in the ingredient list.",
"sourceUrl": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-industry-questions-and-answers-regarding-food-allergen-labeling-edition-5",
"fixHint": "Remove coconut from the Contains statement."
}
],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the ingredient, allergen and claim text supplied, against..."
},
{
"itemNo": 4,
"productId": "EXAMPLE-CRACKERS",
"title": "Example sesame crackers",
"region": "US",
"allergensFound": [
"sesame",
"wheat"
],
"allergenTerms": {
"wheat": [
"wheat"
],
"sesame": [
"sesame"
]
},
"containsStatement": "Contains: wheat, sesame.",
"declaredAllergens": [
"sesame",
"wheat"
],
"mayContain": [],
"riskLevel": "none found",
"issueCount": 0,
"categoriesFlagged": [],
"issues": [],
"url": null,
"checkedAt": "2026-10-31T18:43:38+00:00",
"disclaimer": "Automated keyword screening of the ingredient, allergen and claim text supplied, against..."
}
]

How much does it cost to check food labels?

This Actor uses pay-per-event pricing: $0.002 per product saved plus a $0.00005 start fee per run, plus small platform usage paid by you (a few hundredths of a cent for small runs). That's about $2.00 for 1,000 products and $20.00 for 10,000 plus usage. With Only save rows with findings on, rows without findings aren't saved or charged. You can set a maximum cost per run in the run options.

Use it through the API, integrations or AI agents

  • Run it and get results in one call: https://api.apify.com/v2/acts/ultimatemc~food-allergen-label-checker/run-sync-get-dataset-items
  • Use it from AI agents through the Apify MCP server: https://mcp.apify.com?tools=ultimatemc/food-allergen-label-checker
  • Schedule it after a daily scraper run, send flagged rows to Slack or email with webhooks, or connect it to Make, Zapier, n8n or Google Sheets.
  • Chain it after a grocery scraper by passing the scraper's dataset ID.

How it works

Each allergen has a list of ingredient names (for example whey, casein, ghee and paneer for milk). False friends are removed first, then matches are compared with the words in the Contains or allergen statement. Lists were written from FDA, EU and FSANZ sources checked on 2026-10-31. No AI and no external calls, so the same input always gives the same result.

Sources:

FAQ

Which allergens are checked?

US: milk, egg, fish, crustacean shellfish, tree nuts, peanuts, wheat, soy and sesame. EU/UK: the 14 Annex II allergens. Australia/NZ: the PEAL list, including molluscs, lupin and sulphites.

Is coconut a tree nut?

Not any more in the US. FDA's January 2025 guidance removed coconut, shea and several others from its tree nut list, so coconut isn't flagged as an allergen.

Why isn't 'may contain' required?

Precautionary statements are voluntary in the US, EU and Australia. The checker only flags them when they conflict with a free-from claim.

Does it check bold text in the EU?

Yes, when your ingredient text has HTML bold tags. Without them, allergens are listed as info so you can confirm emphasis on pack.

Is it AI?

No. It's a fixed set of word lists and rules, so results are repeatable.

Limitations

  • Keyword matching can miss unusual ingredient names or wrongly match rare ones.
  • It can't detect cross-contact or allergens that aren't in the text supplied.
  • Gluten-containing cereals are checked for EU/UK and AU/NZ; US rules cover wheat only.
  • Other label rules (nutrition panels, font sizes) aren't checked.

Other tools by Ultimate Foresight

Found a false positive? Open an issue on the Issues tab with the ingredient text and what you expected, and we'll review the rule.