Nutrition Food Lookup
Pricing
from $2.99 / 1,000 results
Go to Apify Store
Nutrition Food Lookup
Search Open Food Facts by keyword or barcode — nutrition, Nutri-Score, ingredients.
Look up packaged foods from Open Food Facts by keyword or barcode. Get nutrition-per-100g, Nutri-Score, NOVA group, Eco-Score, ingredients, allergens, and product images as structured Dataset rows — ideal for meal apps, retail enrichment, and research pipelines.
Features
- Search mode — keyword queries across the global Open Food Facts catalog
- Barcode mode — exact GTIN / EAN / UPC product codes
- Nutrition macros per 100g (energy, fat, carbs, sugars, fiber, protein, salt, sodium)
- Nutri-Score, NOVA, Eco-Score when the source provides them
- Ingredients text, allergens, traces, brands, categories, countries
- Light pacing between requests; no API key required
Modes
| Mode | Input | Behavior |
|---|---|---|
search | queries[] | Keyword search, capped by maxItems |
barcode | barcodes[] | One product per code (or error row) |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search or barcode |
queries | array | — | Keywords for search mode |
barcodes | array | — | Product barcodes for barcode mode |
maxItems | integer | 20 | Max products to return (1–100) |
Search example
{"mode": "search","queries": ["oat milk", "greek yogurt"],"maxItems": 20}
Barcode example
{"mode": "barcode","barcodes": ["3017620422003", "5000112586404"]}
Output
One Dataset item per product:
| Field | Description |
|---|---|
code | Barcode / product code |
productName | Display name |
brands / quantity / categories / labels | Catalog metadata |
countries | Markets / countries tags |
ingredientsText | Ingredients blurb |
allergens / traces | Allergen information |
nutriscoreGrade / novaGroup / ecoscoreGrade | Score fields when present |
imageUrl / url | Image and product page |
energyKcal100g | Calories per 100g |
fat100g / saturatedFat100g | Fat macros |
carbohydrates100g / sugars100g / fiber100g | Carb macros |
proteins100g / salt100g / sodium100g | Protein and salt |
sourceQuery | Query or barcode that produced the row |
error | Present when a barcode / search failed |
scrapedAt | ISO timestamp |
Example shape
{"kind": "product","code": "5010029200014","productName": "Oat Drink","brands": "Example Brand","nutriscoreGrade": "a","novaGroup": 1,"energyKcal100g": 46,"fat100g": 1.5,"carbohydrates100g": 6.6,"sugars100g": 4.1,"proteins100g": 1.0,"salt100g": 0.09,"url": "https://world.openfoodfacts.org/product/5010029200014","sourceQuery": "oat milk"}
Use cases
- Enrich grocery SKUs with Nutri-Score and macros
- Power barcode scanners in consumer apps
- Research category nutrition distributions from open data
Scope notes
- Coverage is strongest for packaged foods; restaurant dishes and fresh produce are sparse.
- Score fields (
nutriscoreGrade,novaGroup,ecoscoreGrade) are missing for many products — treat null as “unknown”, not “healthy”. - Upstream availability can vary by region; failed searches return an error row instead of crashing the run.
Tips
- Start with one query and
maxItems: 5to inspect field quality for your category. - Prefer barcode mode when you already have GTINs — results are more precise.
- Keep batches moderate; the Actor already inserts short delays between requests.