Food Product Scraper: Nutrition, Allergens & Nutri-Score avatar

Food Product Scraper: Nutrition, Allergens & Nutri-Score

Pricing

from $1.00 / 1,000 products

Go to Apify Store
Food Product Scraper: Nutrition, Allergens & Nutri-Score

Food Product Scraper: Nutrition, Allergens & Nutri-Score

Look up any packaged food by barcode, brand or category: ingredients, allergens, additives, nutrition per 100 g, Nutri-Score, NOVA processing group and Eco-Score. Open crowd-sourced data from Open Food Facts, no key.

Pricing

from $1.00 / 1,000 products

Rating

0.0

(0)

Developer

Daniel Meshulam

Daniel Meshulam

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Any packaged food, by barcode or by brand.

{ "barcodes": ["737628064502", "3017620422003"] }

Open Food Facts data: 3M+ products, crowd-sourced, open licence, no API key.

What each row gives you

Identitybarcode, product name, brand, pack size, serving size
Ingredientsfull text, ingredient count, additives (E-numbers)
Safetyallergens and traces, as clean tags
Nutrition per 100 genergy kcal, fat, saturated fat, carbs, sugars, fibre, protein, salt, sodium
ScoresNutri-Score A-E, NOVA processing group 1-4, Eco-Score
Contextcategories, labels (organic, vegan, gluten-free), countries sold in, packaging

Two honest notes about the data

Grades that mean "we don't know" come back as null. Open Food Facts writes unknown and not-applicable into the Nutri-Score and Eco-Score fields for products nobody has scored. Passing those through as strings lets you sort a column by a value that is not a value. They are emptied instead.

Search is less reliable than barcode lookup, and that is measured, not guessed. Open Food Facts runs on donated non-profit infrastructure, and its search index sheds load. Testing both paths six times each:

succeeded
barcode lookup6 / 6
search3 / 6 (rest were 503)

So barcode lookup is the default here, and search retries hard against the 503s rather than pretending they don't happen. If a search comes back empty you get an error row that says exactly this, instead of an empty dataset you have to diagnose.

Searching instead of listing barcodes

{ "brand": "nutella", "maxSearchResults": 50 }
{ "category": "Breakfast cereals", "country": "United States", "maxSearchResults": 200 }

Combine brand, category, nameContains and country freely.

Use cases

  • Nutrition and health apps: barcode scan to a full nutrition panel
  • Allergen checking: allergens and traces as structured tags, not prose
  • Retail and category analysis: every product in a category with its scores
  • Private-label benchmarking: compare your product against the shelf
  • Research: NOVA processing group across a category, at scale
  • Clean-label sourcing: filter on additive count and label tags

Pricing

Charged per product returned. An unknown barcode or a search that Open Food Facts fails to serve produces an error row and costs $0.00.

The Open Food Facts API, without the parts that break

This reads the official Open Food Facts API v2 at world.openfoodfacts.org. No key, no quota page, no sign-up. What the Actor adds is the handling around it:

Barcode lookup/api/v2/product/<code>.json, the reliable path
Keyword and brand search/api/v2/search, which returns 503 under load often enough to matter
Rate limitingthe project asks callers to go easy; this paces and retries rather than hammering
Field selectiononly the fields you get are requested, so a lookup is one small response

Barcode lookup is the path to prefer. Measured across the same probe set, barcode lookups succeeded 6 of 6 while search succeeded 3 of 6, because the two are served by different infrastructure and only one of them falls over. If you have the EAN or UPC, use barcodes.

Per product you get name, brands, quantity, categories, ingredients, allergens and traces, nutrition per 100 g or 100 ml, Nutri-Score A to E, NOVA processing group 1 to 4, Eco-Score, packaging, labels, countries sold in, and the image URLs.

Filtering by country uses the country input, so a UK or French or German catalogue slice comes back on its own. Coverage is genuinely uneven by market, which the note below is about, so filtering by country is also how you find out what the data is like where you actually sell.

Notes

  • Open Food Facts is crowd-sourced. Coverage is excellent in France and Western Europe, good in North America, patchier elsewhere, and any single field may be missing on any product. Nothing is inferred to fill a gap.
  • Data is published under the Open Database License (ODbL). Attribution is your responsibility when republishing.
  • Nutrition values are per 100 g or 100 ml as published, so products are directly comparable without converting pack sizes.

FAQ

Do I need an Open Food Facts API key?

No. Open Food Facts is an open, crowd-sourced database with no key and no quota.

Can I look up a product by barcode?

That is the primary mode, and the most reliable one: barcodes: ["737628064502"]. Both EAN-13 and UPC-A codes work. Measured over six attempts each, barcode lookup succeeded 6/6 while search succeeded 3/6, so barcode is the default for a reason.

What does a null Nutri-Score mean?

That nobody has scored the product. Open Food Facts writes unknown or not-applicable into that field, and passing those through as text would let you sort a column by a value that is not a value, so they come back as null instead. A null is an absence, not a bad grade.

Are allergens reliable enough to depend on?

Treat them as a strong signal, not a guarantee. The data is crowd-sourced and any field can be missing on any product. For anything safety-critical, verify against the physical label. Nothing here is inferred to fill a gap.

Can I get every product in a category or brand?

Yes. brand, category, nameContains and country can be combined freely. Be aware the search index runs on donated non-profit infrastructure and sheds load under pressure; a search that Open Food Facts fails to serve comes back as an error row saying so, and costs nothing.

Is nutrition data comparable across products?

Yes. Values are per 100 g or 100 ml exactly as published, so you can compare products directly without converting pack sizes.

How good is coverage outside Europe?

Excellent in France and Western Europe, good in North America, patchier elsewhere. Coverage is whatever contributors have added.

Can I use this data commercially?

Open Food Facts data is published under the Open Database License (ODbL). Attribution is your responsibility when republishing.