Open Food Facts Scraper — Barcode, Nutrition & Labels avatar

Open Food Facts Scraper — Barcode, Nutrition & Labels

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Open Food Facts Scraper — Barcode, Nutrition & Labels

Open Food Facts Scraper — Barcode, Nutrition & Labels

Look up food products by barcode, or pull by category or brand, with Nutri-Score, NOVA, Eco-Score, nutrition facts per 100g, ingredients, allergens, labels and image. Powered by Open Food Facts. Keyless, no anti-bot.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

Look up food products by barcode, or pull products by category or brand — and get Nutri-Score, NOVA group, Eco-Score, nutrition facts (per 100g), ingredients, allergens, labels, countries and image. Clean JSON/CSV/Excel.

Powered by Open Food Facts (an open, collaborative food database). Keyless, no anti-bot — built for diet & nutrition apps, e-commerce, health tools and CPG research.


What this Actor does

Give it barcodes, categories and/or brands, and for each product it returns:

  • Identity — barcode, product name, brands, categories, quantity.
  • Scores — Nutri-Score (A–E), NOVA processing group (1–4), Eco-Score (A–E).
  • Nutrition per 100g — energy (kcal), fat, saturated fat, sugars, salt, proteins, fiber.
  • Composition — ingredients text, allergens, labels (organic, vegan, gluten-free…).
  • Context — countries sold in, stores, product image and the Open Food Facts page.

Why use it

  • Barcode → full nutrition. Turn a list of barcodes into a complete nutrition + labels dataset.
  • Health & diet ready. Nutri-Score, NOVA, sugars, salt and allergens — exactly what diet, nutrition and health apps need.
  • Category & brand sweeps. Pull every product in a category or for a brand for market/CPG research.
  • Keyless and open. No API key, no anti-bot — the open Open Food Facts database.
  • Images included. Product image URLs for every item that has one.

Who it's for

  • Diet, nutrition & health app developers needing structured food data.
  • E-commerce & grocery teams enriching product catalogs by barcode.
  • CPG & market researchers analyzing categories and brands.
  • Data & AI builders powering food/nutrition assistants.

Quick start

Run it in the console (no code)

  1. Fill any of the fields:

    Barcodes: 3017620422003
    Brands: lindt, coca-cola
    Categories: breakfast-cereals, sodas
  2. Click Start, then export as JSON, CSV, Excel or HTML.

Leave everything empty for a demo (Nutella barcode).

Run it via API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"barcodes": ["3017620422003"],
"brands": ["lindt"],
"categories": ["chocolates"],
}
run = client.actor("YOUR_USERNAME/openfoodfacts-scraper").call(run_input=run_input)
for p in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{p['productName']} — Nutri {p['nutriscoreGrade'].upper()} — {p['energyKcal']} kcal — sugars {p['sugars']}")

Run it via API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_USERNAME/openfoodfacts-scraper').call({
barcodes: ['3017620422003'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((p) => console.log(`${p.productName}: ${p.nutriscoreGrade} / NOVA ${p.novaGroup}`));

Input

FieldTypeDescription
BarcodesarrayProduct barcodes (EAN/UPC), one per line. Empty-all = demo.
CategoriesarrayEnglish category tags — chocolates, sodas, yogurts, breakfast-cereals.
BrandsarrayBrand tags — lindt, coca-cola, nestle.
Max products per queryintegerCap per category/brand (paginates by 100). Default 100.
Speed (parallel queries)integerQueries at once. Default 5.
Proxy configurationobjectApify Proxy. On by default.

Note on search: Open Food Facts' free-text search is unreliable, so this Actor works by barcode and by category/brand tags (which are robust). For specific products, barcodes are the most precise input.


Output

One record per product:

{
"source": "3017620422003",
"sourceType": "barcode",
"barcode": "3017620422003",
"productName": "Nutella",
"brands": "Nutella, Ferrero",
"categories": "Breakfast, Spreads, Hazelnut spreads, ...",
"quantity": "400 g",
"nutriscoreGrade": "e",
"novaGroup": "4",
"ecoscoreGrade": "unknown",
"energyKcal": "539",
"fat": "30.9",
"saturatedFat": "10.6",
"sugars": "56.3",
"salt": "0.107",
"proteins": "6.3",
"fiber": "",
"ingredientsText": "Sugar, palm oil, hazelnuts 13%, ...",
"allergens": "milk, nuts, soybeans",
"labels": "",
"countries": "France, ...",
"imageUrl": "https://images.openfoodfacts.org/...",
"url": "https://world.openfoodfacts.org/product/3017620422003",
"scrapedAt": "2026-10-10T12:00:00.000Z"
}
FieldDescription
barcode / productName / brands / categories / quantityIdentity.
nutriscoreGradeNutri-Score A–E.
novaGroupNOVA processing group 1–4 (4 = ultra-processed).
ecoscoreGradeEco-Score A–E (when available).
energyKcal / fat / saturatedFat / sugars / salt / proteins / fiberNutrition per 100g.
ingredientsText / allergens / labelsComposition, allergens, labels.
countries / stores / imageUrl / urlContext, image and link.
scrapedAtISO timestamp.

Tips & notes

  • Barcodes are most precise. For specific products, use barcodes; category/brand are best for sweeps.
  • Category tags are English slugs. e.g. breakfast-cereals, carbonated-drinks, plant-based-foods.
  • Data completeness varies. Open Food Facts is crowd-sourced — popular products are rich; some have gaps (that's the underlying data, passed through as-is).
  • Per-100g nutrition. Values are normalized to 100g/100ml for easy comparison.
  • Dedupe. The same product can appear via multiple queries — dedupe on barcode if needed.

Frequently asked questions

Do I need an API key? No — Open Food Facts is a free, open database.

Can I look up specific products? Yes — paste barcodes (EAN/UPC) for precise lookups with full detail.

Can I pull a whole category or brand? Yes — add category or brand tags; the Actor paginates through the matches.

Does it include Nutri-Score and allergens? Yes — Nutri-Score, NOVA, Eco-Score, allergens, labels and per-100g nutrition.

Is free-text search supported? Open Food Facts' free-text search is unreliable, so this Actor uses barcodes and category/brand tags, which are robust.


Export & integrate

Results are available as JSON, CSV, Excel, HTML and via the Apify API. Push to Google Sheets, a webhook, Make, Zapier or your database.

Data from Open Food Facts, a collaborative, free and open database.