Openfoodfacts product lookup
Skill Alfredvc/openfoodfacts-cli/skills/openfoodfacts-product-lookup
Look up food products by barcode or search with filters. Find products by category, nutrition grade, eco-score, label, ingredient, or allergen. Use when you have a barcode or need to find products matching specific criteria.From its SKILL.md
npx -y skills add Alfredvc/openfoodfacts-cli --skill openfoodfacts-product-lookupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `openfoodfacts --json products get <barcode>` and 7 more.
SKILL.md
2.8 KB, 673 tokens by cl100k_base, as published. Nobody here has run it
openfoodfacts-product-lookup
Workflow for finding food product data from the Open Food Facts database.
Look Up a Product by Barcode
openfoodfacts --json products get <barcode>
Example (Nutella):
openfoodfacts --json products get 3017624010701
Use --fields to return only what you need:
openfoodfacts --json --fields product_name,brands,nutriscore_grade,ecoscore_grade,ingredients_text_en products get 3017624010701
If the product is not found, the CLI exits 1 with {"error": "product not found: <barcode>"}.
Search by Filters
Filter-only search (no full-text query) uses the v2 API:
openfoodfacts --json products search --category en:chocolates --nutrition-grade a
Available filter flags:
| Flag | Description | Example |
|---|---|---|
--category <tag> | Category tag | en:chocolates |
--nutrition-grade <a-e> | Nutri-Score | a |
--ecoscore-grade <a-e> | Eco-Score | b |
--label <tag> | Label tag | en:organic |
--ingredient <tag> | Ingredient tag | en:salt |
--allergen <tag> | Allergen tag | en:gluten |
Combine filters freely — all are ANDed:
openfoodfacts --json products search --category en:biscuits-and-cakes --nutrition-grade a --label en:organic
Full-Text Search
Use --query for keyword search (routes to the v1 search endpoint):
openfoodfacts --json products search --query "organic olive oil"
Combine with filters:
openfoodfacts --json products search --query "dark chocolate" --nutrition-grade b --label en:fair-trade
Pagination
Default: 20 results per page. The response envelope tells you how many pages exist:
{"count": 4821, "page": 1, "page_count": 242, "page_size": 20, "products": [...]}
Fetch a specific page:
openfoodfacts --json products search --category en:chocolates --page 3 --page-size 50
Fetch all pages at once (returns flat array — use with care on large result sets):
openfoodfacts --json products search --category en:chocolates --nutrition-grade a --all
Tips
- Tag values are always prefixed with a language code:
en:chocolates, notchocolates. Usefacets listto discover valid tags. - Use
--fields code,product_name,nutriscore_gradeon search results to keep response sizes small. --allcan trigger many API calls. Checkpage_countin a regular search first.- Rate limit for search is 10 req/min — avoid tight loops.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.