For a calorie counter, a meal planner or a family recipe app, a missing allergen is not a small data gap. It is a safety risk. Yet allergen and nutrition information is scattered across thousands of supermarket product pages, restaurant menus and recipe sites, each written in its own format.
In 2026 Food Data Scrape received a cluster of related requests: a UAE food-tech team asking for "recipes, nutrition and allergens", a researcher wanting nutrition-label data for Hong Kong supermarket and convenience-store items in a fixed Excel format, and a healthy-restaurant platform that needed nutritional details by outlet. This guide explains how Allergen Data Scraping works, which fields to collect, and how to handle the accuracy questions that come with food-safety data.
Why food apps need structured allergen and nutrition data
- Filtering. Users want to hide every recipe or product that contains peanuts, gluten or milk.
- Personalisation. Apps adjust meal plans to calorie, protein or sodium targets.
- Compliance support. Restaurant and catering platforms need allergen information to help partners meet labelling rules.
- Search. "High-protein vegetarian snacks under 200 kcal" is only possible with structured nutrition fields.
The main sources
| Source type | What is available | Typical format |
|---|---|---|
| Supermarket product pages | Ingredients, allergen statements, nutrition panel, dietary badges | Text blocks and tables, often per 100 g and per serving |
| Restaurant and QSR websites | Allergen matrices, calorie counts, nutrition PDFs | Tables, downloadable PDFs |
| Food delivery platforms | Dish descriptions, dietary tags, sometimes calories | Short text and tags |
| Recipe sites | Ingredients with quantities, steps, servings, sometimes nutrition | Structured recipe markup or free text |
| Brand websites | Full product specifications | Product pages and PDFs |
Allergen rules differ by region
Allergen lists are defined by law, and they differ between markets. A good dataset records allergens using the list that applies where the product is sold.
| Region | Basis | Number of major allergens |
|---|---|---|
| European Union and UK | EU Food Information to Consumers rules (and UK retained law) | 14 |
| United States | Major food allergens under US law, including sesame since 2023 | 9 |
| GCC countries | GSO labelling standards | Based on Codex list, adapted locally |
| Australia and New Zealand | Food Standards Code | Defined list including several tree nuts named individually |
Food Data Scrape stores each allergen as a separate field with a value of "contains", "may contain" or "not declared", plus the original text from the page. "Not declared" is never converted to "free from", because absence of a statement is not proof of absence.
How allergen data scraping works
Step 1: Collect the raw text and tables
For each product, dish or recipe, collect the ingredient list, allergen statement, "may contain" warnings, nutrition panel and any dietary badges such as vegan, vegetarian, halal or gluten free.
Step 2: Parse the nutrition panel
Nutrition tables are parsed into standard fields: energy (kJ and kcal), fat, saturated fat, carbohydrate, sugars, fibre, protein and salt or sodium. Each value keeps its basis (per 100 g, per 100 ml or per serving) and serving size.
Step 3: Extract allergens
Allergens are extracted from three places: the allergen statement, bold or capitalised words in the ingredient list (a common labelling practice in the UK and EU), and precautionary "may contain" text.
Step 4: Normalise units and languages
Values are converted to standard units, and ingredient lists in Arabic, Chinese or other languages are kept in the original language with an English translation field for search.
Step 5: Validate
Automatic checks catch impossible values, such as more sugar than total carbohydrate or energy that does not match the macronutrients.
Sample record
The record below is illustrative.
{
"source_type": "supermarket",
"retailer": "Example Mart HK",
"market": "Hong Kong",
"product_name": "Wholegrain Crackers",
"brand": "Sample Brand",
"pack_size": "200 g",
"ingredients_original": "Wholegrain WHEAT flour (60%), vegetable oil, SESAME seeds, salt",
"allergens": {
"cereals_containing_gluten": "contains",
"sesame": "contains",
"milk": "may_contain",
"peanuts": "not_declared"
},
"allergen_text_original": "Contains wheat and sesame. May contain milk.",
"nutrition_basis": "per_100g",
"nutrition": {
"energy_kcal": 452,
"fat_g": 16.0,
"saturated_fat_g": 2.1,
"carbohydrate_g": 64.0,
"sugars_g": 3.2,
"fibre_g": 8.5,
"protein_g": 10.4,
"sodium_mg": 620
},
"dietary_badges": ["vegetarian"],
"product_url": "https://www.example.com/p/12345"
}
Recipes: a different structure
Recipe data needs extra fields: servings, ingredient quantities, preparation and cooking time, steps and cuisine. Many recipe pages use structured recipe markup, which makes extraction more reliable. Where nutrition is not published, apps often calculate it by matching each ingredient to a nutrition reference database. If you do this, store calculated values separately from published values so users know which is which.
| Field | Example |
|---|---|
| Recipe name | Chicken and Vegetable Stir-Fry |
| Servings | 4 |
| Ingredients | 400 g chicken breast; 2 tbsp soy sauce; 1 red pepper |
| Total time | 25 minutes |
| Cuisine | Asian |
| Allergens (derived from ingredients) | Soya, cereals containing gluten |
| Nutrition basis | Published per serving, or calculated |
Restaurant menus and allergen matrices
Many chains publish an allergen matrix: a table of dishes against allergens. These are often PDFs. Allergen data scraping extracts each matrix into rows of dish, allergen and status, and re-checks the PDF regularly because menus change. For delivery platforms, dish descriptions and tags give partial information only, so they should be treated as a supplement, not a replacement for official menus.
Building filters users can trust
The real value of allergen data scraping appears in the app's filters. A few design rules make filters both useful and safe:
| Filter design rule | Why it matters |
|---|---|
| Separate "contains" and "may contain" filters | Users with severe allergies often avoid both; others only avoid "contains" |
| Show the source text on tap | Lets users verify the claim themselves |
| Label calculated nutrition | Users should know when values are estimates |
| Show the date checked | Recipes and suppliers change |
| Exclude unknowns by default for strict filters | A product with no allergen statement should not appear in a "nut-free" filter |
Market notes: GCC, Hong Kong and the UK
GCC. Supermarket apps in the UAE and Saudi Arabia often show bilingual labels. Halal status and country of origin are frequently requested alongside allergens. Ingredient text may be in Arabic only for imported products relabelled locally.
Hong Kong. Nutrition labelling is mandatory for most prepackaged foods, and labels follow a "1+7" format (energy plus seven core nutrients). Product pages may show Chinese and English text, and imported products can carry their origin-country label image rather than text, which requires image-based reading.
United Kingdom. UK rules require allergens to be emphasised in ingredient lists, and full ingredient labelling applies to prepacked-for-direct-sale foods. Supermarket websites are generally rich in structured nutrition data, which makes the UK a good starting market.
Accuracy and responsibility
Food-safety data deserves careful handling:
- Keep the source text next to every parsed value so it can be reviewed.
- Record the collection date, because recipes and suppliers change.
- Show "may contain" separately from "contains".
- Never infer "free from" when an allergen is simply not mentioned.
- Advise users to check the pack, especially for severe allergies.
Food Data Scrape provides data as published by retailers, restaurants and recipe sites. It does not certify products as safe for any individual.
Questions
Frequently Asked Questions
Yes. Data is collected in the original language, with English fields added for search and filtering.
Yes. Many clients provide a template; the dataset is mapped to their columns exactly.
Monthly is common for supermarkets. Restaurant allergen matrices should be checked whenever menus change, typically monthly or quarterly.
Image URLs can be included for reference. Licensing of images for commercial reuse is the responsibility of the app owner.
Key takeaways
- Allergen and nutrition data is spread across supermarkets, menus and recipe sites in many formats.
- Allergen data scraping must follow the right regional allergen list and keep "contains", "may contain" and "not declared" separate.
- Parsed nutrition values need units, basis and validation checks.
- Source text and dates make the data reviewable and trustworthy.
Get a sample allergen and nutrition dataset
Food Data Scrape collects allergen, nutrition, ingredient and recipe data for food apps across the UK, GCC, Asia-Pacific and the US. Share your markets, sources and template, and we will return a sample dataset for review.
Get a Free Food Data Sample in 48 Hours.
Tell us your platforms, target markets and required fields — we'll map exactly what's possible with food data scraping, recommend the right approach, and send a working sample so you can verify quality before any commitment.
Request a strategy call
Thanks — our data team will reach out within 48 hours with your sample.

