Data
Top products in a food category + shelf health profile API
Lists the most-scanned products in an Open Food Facts category (e.g. 'breakfast-cereals', 'chocolate-spreads'), normalized, PLUS the same DERIVED aggregate health profile (Nutri-Score & NOVA distribution and a 0-100 index) so an agent can size up an entire shelf at once. The MORE: a ranked, scored category snapshot rather than a raw facet dump. Answers 'most popular products in category X', 'how healthy is the chocolate-spread category', 'compare a food category', 'top breakfast cereals'.
Price$0.01per request
MethodPOST
Route/v1/data/food-category-products
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache86400s public
datafoodcategoryopenfoodfactsnutri-scorenovarankinghealth-profile
API URL
Integration docshttps://x402.hexl.dev/v1/data/food-category-productsExample request
{
"category": "chocolate-spreads",
"limit": 5
}Example response
{
"category": "chocolate-spreads",
"totalInCategory": 3747,
"returned": 5,
"sortedBy": "popularity (unique scans)",
"healthProfile": {
"productCount": 5,
"healthIndex": 0,
"scoredCount": 5,
"nutriScoreDistribution": {
"A": 0,
"B": 0,
"C": 0,
"D": 0,
"E": 5
},
"nutriScoreGradedCount": 5,
"novaDistribution": {
"1": 0,
"2": 0,
"3": 0,
"4": 5
},
"novaGradedCount": 5
},
"products": [
{
"barcode": "8052575090254",
"name": "Rigoni di Asiago - Nocciolata bio",
"brand": "Rigoni di Asiago",
"quantity": "650 g",
"nutriScore": "E",
"novaGroup": 4
},
{
"barcode": "8052575090230",
"name": "Nocciolata",
"brand": "Rigoni Di Asiago",
"quantity": "250 g",
"nutriScore": "E",
"novaGroup": 4
},
{
"barcode": "3608580065340",
"name": "Pâte à tartiner noisettes et cacao",
"brand": "Bonne Maman",
"quantity": "360 g",
"nutriScore": "E",
"novaGroup": 4
},
{
"barcode": "3017620429484",
"name": "Nutella",
"brand": "Ferrero, Nutella",
"quantity": "825 g",
"nutriScore": "E",
"novaGroup": 4
},
{
"barcode": "8000500426494",
"name": "Nutella Plant-Based",
"brand": "Ferrero, nutella",
"quantity": "350 g",
"nutriScore": "E",
"novaGroup": 4
}
]
}Input schema
{
"type": "object",
"required": [
"category"
],
"properties": {
"category": {
"type": "string",
"minLength": 2,
"description": "OFF category slug, e.g. 'chocolate-spreads'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}