openfoodfacts-product-lookup — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited openfoodfacts-product-lookup (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Workflow for finding food product data from the Open Food Facts database.
openfoodfacts --json products get <barcode>Example (Nutella):
openfoodfacts --json products get 3017624010701Use --fields to return only what you need:
openfoodfacts --json --fields product_name,brands,nutriscore_grade,ecoscore_grade,ingredients_text_en products get 3017624010701If the product is not found, the CLI exits 1 with {"error": "product not found: <barcode>"}.
Filter-only search (no full-text query) uses the v2 API:
openfoodfacts --json products search --category en:chocolates --nutrition-grade aAvailable 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:organicUse --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-tradeDefault: 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 50Fetch all pages at once (returns flat array — use with care on large result sets):
openfoodfacts --json products search --category en:chocolates --nutrition-grade a --allen:chocolates, not chocolates. Use facets list to discover valid tags.--fields code,product_name,nutriscore_grade on search results to keep response sizes small.--all can trigger many API calls. Check page_count in a regular search first.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.