ParseForge Scrapers

Open Food Facts Product Scraper

parseforge/openfoodfacts-product-scraper

E-commerceLead generationOther

Scrapes product data from Open Food Facts by category, brand, country, or barcode. Returns nutritional values, ingredients, allergens, and eco-scores as a flat row.

Run this scraper See the API call
Total users
2
Monthly active
0
Total runs
100
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Open Food Facts Product Scraper

Scrape product data from Open Food Facts by category, brand, country, or barcode, up to a million items per run. Each product comes with its nutritional values, ingredients, allergens, packaging, and eco-score. No API key required. Export to CSV, JSON, Excel, or XML.

Open Food Facts is the world's largest open database of food products, but querying its API still requires pagination logic and rate-limit handling. This Actor reads the public product feeds directly, filtered by category tag, brand, or country, and returns each match in one fixed schema. You can also look up specific products by their barcode.

Who uses it What they scrape Open Food Facts for
Nutrition researchers Comparing the nutritional profiles of entire product categories across different countries.
App developers Building a food diary or barcode scanning app that needs a clean, local dataset of product metadata.
E-commerce analysts Auditing a brand's product portfolio for nutritional claims and ingredient trends.
Data journalists Investigating the prevalence of additives or allergens in a specific food segment.

What it does

This Actor collects Open Food Facts products by search filters or barcode lookup and returns each one as a flat row.

  • πŸ”Ž Search by filters: Combine category tag, brand, and country to narrow down the product list.
  • πŸ“Š Barcode lookup: Provide a list of EAN or UPC codes to fetch exact product records.
  • 🌱 Eco-score and Nutri-Score: Each product includes its computed environmental and nutritional scores.
  • πŸ“‹ Flat row output: Every product is returned as a single, predictable row for easy analysis.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Open Food Facts data

πŸ₯£ Analyze a product category.

A nutritionist scrapes all breakfast cereals in the United States to compare sugar content and identify the healthiest options for a blog post.

🏷️ Audit a brand's portfolio.

A market analyst looks up every product from a major brand to track changes in ingredient lists and packaging claims over time.

πŸ“± Populate a food app database.

A developer scrapes all products with a specific category and country to seed a local database for a barcode scanning mobile app.

🌍 Compare markets by country.

A researcher collects the same product category across France, Germany, and Japan to study regional differences in nutritional formulation.

Why choose this scraper

What you get
No API key Access the full Open Food Facts database without registration or rate limits.
Flexible input Search by category, brand, and country, or look up specific barcodes.
Rich nutritional data Get energy, fat, sugars, proteins, and more per 100g or per serving.
Computed scores Includes Nutri-Score, Eco-Score, and Nova group classification.

How it compares

This Actor is purpose-built for the Open Food Facts database, while the competitors below are general Google Maps scrapers that do not access food product data.

Feature ParseForge Google Maps Scraper Google Maps Extractor
Scrapes Open Food Facts database Yes Not listed Not listed
Returns nutritional values per 100g Yes Not listed Not listed
Barcode (EAN/UPC) lookup Yes Not listed Not listed
Filters by food category tag Yes Not listed Not listed
Includes Nutri-Score and Eco-Score Yes Not listed Not listed

Configure the run

Drive the Actor from category tags, brand slugs, and country codes, alone or together, and filters run as each product is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "mode": "search",
  "categoryTag": "breakfast-cereals"
}

A larger pull:

{
  "maxItems": 200,
  "mode": "search",
  "categoryTag": "breakfast-cereals"
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Open Food Facts Product Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Open Food Facts through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/openfoodfacts-product-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your category tag, brand slug, or country code is spelled correctly and uses the exact slug format from Open Food Facts. Try a broader search with fewer filters to verify the connection.

The barcode lookup is returning an empty dataset for some codes.

The barcode may not exist in the Open Food Facts database. Verify the code on the Open Food Facts website. If it is a new product, a community member may not have added it yet.

The run is taking a long time.

A large number of products or a very broad search can take time. Reduce the maxItems or add more specific filters like a brand or country to narrow the search.

Some nutritional fields are missing or zero.

Open Food Facts data is community-contributed. Not every product has a complete nutritional panel. Missing values will appear as null or zero in the output.

FAQ

Question Answer
Do I need an API key to use this scraper? No. This Actor reads the public Open Food Facts database directly and does not require any registration or API key.
What is a category tag and where can I find them? A category tag is a URL-friendly slug used by Open Food Facts, like 'breakfast-cereals' or 'chocolates'. You can find them by browsing categories on the Open Food Facts website and looking at the URL.
Can I scrape products from multiple countries at once? You can specify one country slug per run. To collect data from multiple countries, run the Actor multiple times with different country inputs.
How do I look up a product by its barcode? Switch the mode to 'Look up by barcode' and provide a list of EAN or UPC codes in the barcodes field. The Actor will fetch the exact product record for each code.
What nutritional information is included in the output? The output includes standard nutritional values per 100g and per serving, such as energy, fat, saturated fat, carbohydrates, sugars, fiber, proteins, and salt, along with the Nutri-Score and Nova group.
Does this scraper get the product images? Yes, the dataset includes URLs for the product front image, nutrition table image, and ingredients image where available.
Can I filter by Nutri-Score or Eco-Score? The input filters are based on category, brand, and country. Nutri-Score and Eco-Score are returned in the output data, so you can filter them after the run in your spreadsheet or database.
What is the maximum number of products I can scrape? You can set the maximum up to 1,000,000 products per run. The actual number collected will depend on how many products match your filters.
Is the data in English? Open Food Facts is a multilingual database. Product names and ingredient lists are often in the language of the product's country of sale, but many fields are standardized.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Open Food Facts. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many products to collect per run. 10
mode string (2 options) Search by filters, or look up specific products by barcode. search
categoryTag string Open Food Facts category slug (e.g. breakfast-cereals, snacks, beverages, dairies, cheeses, chocolates). breakfast-cereals
brandTag string Brand slug (e.g. nestle, kelloggs, quaker, danone). Lowercase, hyphen-separated. not set
country string Country slug to limit products available in that market (e.g. united-states, france, germany, japan). not set
barcodes array Used when Mode = Lookup. List of product barcodes (EAN/UPC codes), e.g. 3168930010265. not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~openfoodfacts-product-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Open Food Facts Product Scraper on Apify All scrapers