Open Food Facts Product Scraper avatar

Open Food Facts Product Scraper

Pricing

from $0.008 / product scraped

Go to Apify Store
Open Food Facts Product Scraper

Open Food Facts Product Scraper

Search Open Food Facts or look up barcodes for food product data: name, brand, categories, Nutri-Score, NOVA, Eco-Score, ingredients, allergens, additives, labels and full per-100g nutrition (energy, fat, sugars, salt, protein, carbs, fibre). For nutrition apps, retail and CPG research. No setup.

Pricing

from $0.008 / product scraped

Rating

0.0

(0)

Developer

hiper soft

hiper soft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Open Food Facts Product Scraper โ€” Nutrition, Nutri-Score, Ingredients & Barcodes

Search Open Food Facts or look up barcodes and get rich food product data back as clean, structured JSON: name, brand, categories, Nutri-Score, NOVA group, Eco-Score, ingredients, allergens, additives, labels and full per-100g nutrition (energy, fat, sugars, salt, protein, carbs, fibre). No account, no API key. Perfect for nutrition apps, retail and CPG research, and food data pipelines.

Open Food Facts Scraper input โ€” search terms, barcodes and country database in the Apify Console

Features

  • ๐Ÿ”Ž Search or barcode โ€” pass searchTerms like oat milk, or exact barcodes (EAN/UPC) for direct product lookups.
  • ๐Ÿฅ— Full nutrition per 100g โ€” energy (kcal), fat, saturated fat, sugars, salt, protein, carbohydrates, fibre and sodium.
  • ๐Ÿ… Health & processing scores โ€” Nutri-Score grade, NOVA group and Eco-Score grade on every product.
  • ๐Ÿงพ Ingredients & safety โ€” ingredients text, allergens and a cleaned additives list (E-numbers without the en: prefix).
  • ๐ŸŒ Country database selection โ€” query the global world DB or a country code like us, uk, fr, de via country.
  • ๐Ÿท๏ธ Always-usable names โ€” a displayName is synthesized from brand + category when a product's own name is missing.
  • ๐Ÿ”‘ No key needed โ€” uses the public Open Food Facts API with polite rate limiting built in.

What you get

Open Food Facts Scraper output example โ€” one product per row with name, brand, Nutri-Score and per-100g nutrition as structured JSON

One flat JSON record per product (a source field records the search term or barcode it came from):

{
"source": "search:oat milk",
"code": "3017620422003",
"productName": "Oat Drink Barista",
"displayName": "Oat Drink Barista",
"brands": "Oatly",
"categories": "Plant-based foods, Beverages, Plant-based milk",
"quantity": "1 l",
"servingSize": "100 ml",
"countries": "United Kingdom, France",
"nutriscoreGrade": "c",
"novaGroup": 4,
"ecoscoreGrade": "b",
"ingredientsText": "Oat base (water, oats 10%), rapeseed oil, ...",
"allergens": "en:gluten",
"additives": ["e340", "e450"],
"labels": "Vegan, No added sugar",
"packaging": "Tetra Pak",
"stores": "Tesco",
"energyKcal100g": 59,
"fat100g": 3.0,
"saturatedFat100g": 0.3,
"sugars100g": 3.3,
"salt100g": 0.09,
"proteins100g": 1.0,
"carbohydrates100g": 6.6,
"fiber100g": 0.8,
"sodium100g": 0.036,
"imageUrl": "https://images.openfoodfacts.org/images/products/oat.jpg",
"url": "https://world.openfoodfacts.org/product/3017620422003"
}

Output schema

FieldTypeDescription
sourcestringThe search term or barcode the record came from.
codestringProduct barcode (EAN/UPC).
productNamestringProduct name as listed on Open Food Facts.
displayNamestringUsable product name, synthesized from brand + category when the name is missing.
brandsstringBrand name(s) for the product.
categoriesstringCategory labels for the product.
quantitystringNet quantity of the product (e.g. "1 l").
servingSizestringServing size the nutrition may reference.
countriesstringCountries where the product is sold.
nutriscoreGradestringNutri-Score health grade (aโ€“e).
novaGroupintegerNOVA food-processing group (1โ€“4).
ecoscoreGradestringEco-Score environmental grade (aโ€“e).
ingredientsTextstringFull ingredients list text.
allergensstringDeclared allergens.
additivesarrayCleaned list of additive E-numbers.
labelsstringProduct labels and certifications (e.g. Vegan, Organic).
packagingstringPackaging description.
storesstringStores where the product is sold.
energyKcal100gintegerEnergy in kcal per 100g.
fat100gnumberFat in grams per 100g.
saturatedFat100gnumberSaturated fat in grams per 100g.
sugars100gintegerSugars in grams per 100g.
salt100gnumberSalt in grams per 100g.
proteins100gnumberProtein in grams per 100g.
carbohydrates100gnumberCarbohydrates in grams per 100g.
fiber100gnumberFibre in grams per 100g.
sodium100gnumberSodium in grams per 100g.
imageUrlstring (URL)Link to the product image.
urlstring (URL)Link to the product page on Open Food Facts.

Input

{
"searchTerms": ["oat milk", "dark chocolate"],
"barcodes": [],
"country": "world",
"maxResultsPerSearch": 50
}
FieldDescription
searchTermsKeywords to search products by (name, brand, ingredient).
barcodesOptional. Look up these EAN/UPC barcodes directly (search terms are ignored when set).
countryWhich OFF database to query: world or a country code like us, uk, fr.
maxResultsPerSearchMaximum products to collect per search term (1โ€“2000).

Use cases

  • Build or enrich a nutrition app with Nutri-Score, NOVA and per-100g macros.
  • Look up a batch of product barcodes for a retail or inventory catalog.
  • Research ingredients, additives and allergens across a food category.
  • Feed clean CPG product data into dashboards or comparison tools.

Pricing

Pay-per-event: you're billed a small amount per run and per product scraped โ€” you only pay for what you get. See the Pricing tab for current rates.

FAQ

Do I need an API key or account? No. The Actor uses the public Open Food Facts API with polite rate limiting built in โ€” no login and no key required.

How many products can I get per run? Up to 2,000 products per search term. Pass multiple searchTerms, or look up exact barcodes (EAN/UPC) directly for pinpoint product records.

How fresh is the data? Products are pulled live from Open Food Facts at run time. Because it's a crowd-sourced database, freshness and completeness depend on community contributions for each product.

Is the data official? The data comes from Open Food Facts, a free, open, crowd-sourced food database โ€” not from manufacturers. This Actor is an independent tool and is not affiliated with or endorsed by Open Food Facts.

What's the output format? Flat JSON, one record per product, with name, brand, categories, Nutri-Score, NOVA group, Eco-Score, ingredients, allergens, additives and full per-100g nutrition. Export as JSON, CSV or Excel.

Can I connect this to other apps and services? The Open Food Facts Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.

More open-data scrapers from the same publisher:

Notes

This Actor uses the public Open Food Facts API (openfoodfacts.org), a free, open, crowd-sourced food database. It is an independent tool and is not affiliated with or endorsed by Open Food Facts; all trademarks belong to their respective owners.