openfoodfacts-data-exploration — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited openfoodfacts-data-exploration (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 exploring the Open Food Facts database when you don't know which tags to filter by.
Facets show you the valid tag values for each filter dimension, along with how many products use each tag.
Valid facet types: categories, labels, ingredients, brands, countries, additives, allergens, packaging
openfoodfacts --json facets list categoriesResponse shape:
[
{"id": "en:beverages", "name": "Beverages", "products": 182043},
{"id": "en:dairies", "name": "Dairies", "products": 97612},
{"id": "en:cereals-and-their-products", "name": "Cereals and their products", "products": 74801}
]The id field is the tag value to use in products search.
Use --fields to reduce output, then filter with jq:
openfoodfacts --json --fields id,name,products facets list categories | jq '[.[] | select(.name | test("chocolate"; "i"))]'Or sort by product count to find the most-used tags:
openfoodfacts --json facets list categories | jq 'sort_by(-.products) | .[:20]'Once you have the tag ID:
openfoodfacts --json products search --category en:chocolatesCombine multiple dimensions:
openfoodfacts --json products search --category en:chocolates --label en:organic --nutrition-grade a# List all allergen tags
openfoodfacts --json facets list allergens
# Then find products without a specific allergen (note: allergen filter matches products CONTAINING the allergen)
openfoodfacts --json products search --category en:biscuits-and-cakes --allergen en:glutenopenfoodfacts --json facets list labels | jq '[.[] | select(.products > 1000)] | sort_by(-.products)'# Check how many products a brand has
openfoodfacts --json --fields id,name,products facets list brands | jq '[.[] | select(.name | test("ferrero"; "i"))]'Facet endpoints are limited to 2 req/min. Cache results if you need to query multiple dimensions — the facet data changes slowly.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.