Open Food Facts Scraper avatar

Open Food Facts Scraper

Pricing

from $1.95 / 1,000 food product results

Go to Apify Store
Open Food Facts Scraper

Open Food Facts Scraper

Search Open Food Facts by product name or look up any EAN barcode. Returns nutrition facts, Nutri-Score, NOVA group, Eco-Score, ingredients, and categories — one flat typed row per product.

Pricing

from $1.95 / 1,000 food product results

Rating

0.0

(0)

Developer

Leonardo Santos

Leonardo Santos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search the Open Food Facts database by product name or look up a product by its EAN barcode. Returns structured nutrition facts, Nutri-Score, NOVA group, Eco-Score, ingredients, and categories — one row per product, ready for LLM/MCP consumption.

Why this actor?

  • Clean, structured output — flat JSON with typed nullable fields, no raw HTML to parse. Nutri-Score, NOVA group, and Eco-Score are extracted and normalized.
  • Dual-API resilience — tries world.openfoodfacts.org first, silently falls back to fr.openfoodfacts.org on transport failures so your automation keeps running.
  • Predictable billing — pay per delivered product row. Error items (product not found, upstream failures) are always free.
  • Agent-ready — every row carries a scraped_at ISO timestamp, productUrl for traceability, and flat nullable fields that LLMs consume without confusion.

Input

{
"mode": "search",
"query": "chocolate",
"maxResults": 10,
"country": "world"
}
FieldTypeDefaultDescription
mode"search" or "barcode""search"Search by name or look up a specific barcode.
querystringProduct name or keyword (required in search mode).
barcodestringEAN-13 barcode (required in barcode mode).
maxResults1–10010Max products to return (search mode only).
country"world" or "fr""world"OFF instance to query. Falls back to the other on failure.

Output

One item per product:

{
"input": "chocolate",
"code": "3017620422003",
"productName": "Nutella",
"brand": "Ferrero",
"quantity": "400 g",
"categories": ["spreads", "sweet spreads", "hazelnut spreads", "chocolate spreads"],
"nutriscore": "e",
"novaGroup": 4,
"ecoscore": "d",
"ingredientsText": "Sugar, palm oil, hazelnuts (13%), ...",
"imageUrl": "https://images.openfoodfacts.org/images/products/301/762/042/2003/front_en.123.400.jpg",
"productUrl": "https://world.openfoodfacts.org/product/3017620422003",
"error": null,
"scraped_at": "2026-07-17T00:00:00.000Z"
}

Error items have error set to a non-null message and are never charged.

Pricing

Pay per event, and the platform usage is on us — the price you see is the price you pay, with no compute bill on top.

EventPriceWhat one charge buys
Food Product Result$0.003One product row delivered. Error items (product not found, upstream failures) are never charged.
Actor Start$0.002One run, whatever it returns.

Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).

Use cases

  • Nutrition monitoring — track Nutri-Score and NOVA group for a portfolio of products over time.
  • Grocery data enrichment — resolve barcodes to full nutrition and ingredient profiles.
  • Product discovery — search for products by keyword and compare nutrition scores across brands.
  • LLM pipelines — feed structured food data into agent tool calls, RAG, or analytics dashboards.

FAQ

Where does the data come from? The Open Food Facts database — a collaborative, free, and open database of food products from around the world.

What barcode formats are supported? EAN-13, EAN-8, UPC-A, and UPC-E barcodes are supported by the Open Food Facts API.


This Actor is an independent tool and is not affiliated with or endorsed by Open Food Facts.