ParseForge Scrapers

Open Food Facts Scraper

parseforge/open-food-facts-scraper

E-commerceLead generationOther

Scrapes food product records from Open Food Facts by search query or category, returning each item as a flat row with nutritional values, ingredients, and labels.

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

Overview

ParseForge

Open Food Facts Scraper

Scrape food product data from Open Food Facts by search query or category, up to a million items per run. Every product comes with its nutritional values, ingredients, allergens, labels, and packaging details. 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 browsing it manually or using its API can be slow when you need bulk data for analysis. This Actor reads the public product listings directly, filtered by search terms like brand or ingredient, and by category, returning each match in one consistent, flat schema. It is built for researchers, dietitians, and developers who need structured food data at scale without writing their own crawler.

Who uses it What they scrape Open Food Facts for
Nutrition researchers Analyze nutritional composition across thousands of products in a category.
Dietitians and meal-planning apps Build a database of products filtered by allergens, additives, or Nutri-Score.
Grocery price comparison services Collect product names, brands, and packaging details for market analysis.
Open data activists Mirror or audit the Open Food Facts database for regional completeness.

What it does

This Actor collects food product records from Open Food Facts by search query or category and returns each one as a flat row.

  • πŸ” Search by query: Find products by name, brand, or ingredient, like 'coca cola' or 'organic milk'.
  • πŸ“‚ Filter by category: Narrow results to a specific category slug, such as 'beverages', 'cheeses', or 'chocolates'.
  • πŸ“Š Structured output: Every product returns as a flat row with nutritional values, ingredients, labels, and packaging, ready for analysis.

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

What you can do with Open Food Facts data

πŸ₯— Build a diet-specific product database.

A nutrition app developer searches for 'gluten free bread' and filters by the 'breads' category to populate a database of safe products for celiac users.

πŸ“ˆ Compare nutritional profiles across brands.

A public health researcher collects all 'sodas' to compare sugar content, Nutri-Score, and additive prevalence across brands and countries.

🏷️ Audit product labels and certifications.

A consumer watchdog scrapes the 'chocolates' category to verify which products carry Fairtrade, Organic, or Palm Oil Free labels.

πŸ›’ Feed a grocery shopping assistant.

A developer builds a chatbot that answers 'Is this product vegan?' by scraping product data by barcode or name and checking the ingredients list.

Why choose this scraper

What you get
No API key needed Access the public Open Food Facts database directly with no registration or rate limits.
Consistent schema Every product, regardless of category, returns the same flat fields for easy database import.
Scalable collection Collect up to a million products in a single run, filtered as they are read.

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 target food product data.

Feature ParseForge Google Maps Scraper Google Maps Extractor
Scrapes Open Food Facts product data Yes Not listed Not listed
Returns nutritional values per 100g Yes Not listed Not listed
Filters by food category slug Yes Not listed Not listed
Searches by product name or brand Yes Not listed Not listed
Extracts business reviews and contact info Not listed Yes Yes

Configure the run

Drive the Actor with a search query and an optional category slug, and set a maximum number of items to collect. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "search": "coca cola"
}

A larger pull:

{
  "maxItems": 200,
  "search": "coca cola"
}

Pricing

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

Results collected Approximate cost
100 results $8.50
1,000 results $85.00
10,000 results $850.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 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/open-food-facts-scraper"

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

Troubleshooting

Why am I getting no results?

Check your search query or category slug for typos. Try a broader search term first, like a common brand name, to verify the Actor is working. Also ensure the category slug matches exactly what appears in Open Food Facts URLs.

The run stopped before reaching my max items limit.

The Actor stops when there are no more matching products. If your search and category combination is very specific, the total available products may be less than your max items setting.

Some nutritional fields are empty in the output.

Open Food Facts relies on community contributions, so not all products have complete nutritional data. Empty fields mean the information was not available on the product page.

I am getting a timeout error.

Large runs with high max items can take time. Increase the Actor's timeout in the run settings, or reduce the max items and run multiple smaller batches.

The search returns products in a different language than expected.

Open Food Facts is a global database. Try adding a language-specific term to your search query, or filter by countries if you need region-specific results.

FAQ

Question Answer
Do I need an API key to scrape Open Food Facts? No. This Actor reads the public website and its open data feeds directly, so no registration or API key is required.
What data fields does the scraper return? It returns a flat row for each product with fields like product name, brand, ingredients, nutritional values per 100g, allergens, labels, packaging, and Nutri-Score. The exact field list is shown in the sample output.
Can I search for products by barcode? This Actor is designed for search queries and categories. For barcode lookups, you can use the search query field with the barcode number, as Open Food Facts indexes barcodes in its search.
How many products can I scrape in one run? Free users are limited to 10 items for preview. Paid users can set a maximum of up to 1,000,000 items per run.
What is a category slug and where do I find it? A category slug is the URL-friendly name used by Open Food Facts, like 'beverages' or 'dark-chocolates'. You can find them by browsing categories on the Open Food Facts website and copying the last part of the URL.
Can I combine a search query and a category filter? Yes. The Actor applies both filters together, so a search for 'organic' in the 'milk' category returns only organic milk products.
What format is the exported data in? You can export your dataset in CSV, JSON, Excel, or XML formats from the Apify platform.
Does this scraper handle multiple languages? Open Food Facts is a multilingual database. Product names and ingredients appear in the language they were entered. You can search in any language supported by the site.
Is this Actor affiliated with Open Food Facts? No, this is an independent scraper built on Apify. It accesses publicly available data from Open Food Facts, which is an open data project.
Can I schedule this scraper to run daily? Yes, Apify supports scheduling. You can set the Actor to run at regular intervals to keep your product database up to date.

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 Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
search string Search for food products by name, brand, or ingredient (e.g. 'coca cola', 'nutella', 'organic milk'). coca cola
category string Filter by category slug from Open Food Facts (e.g. 'beverages', 'cheeses', 'chocolates'). Leave empty to use search query only. not set

Pricing

from $80.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.08 to $0.085

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~open-food-facts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "maxItems": 3,
    "search": "coca cola"
  }'

Examples

Input that runs as-is.

input.json
{
  "maxItems": 3,
  "search": "coca cola"
}

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 Scraper on Apify All scrapers