Catalog/food-product-search

Data

Search food products by name + shelf health profile API

Searches Open Food Facts by product or brand name and returns the top-N matches normalized (barcode, brand, Nutri-Score, NOVA group), PLUS a DERIVED aggregate health profile over the result set: the Nutri-Score (A-E) and NOVA (1-4) distributions and a single 0-100 'shelf healthfulness' index. The MORE over a raw search: an agent gets a comparable, scored shortlist in one call instead of N barcode lookups. Distinct from data-food / data-openfoodfacts (single-barcode). Answers 'find products named X', 'search food by brand', 'how healthy are the top results for X', 'compare Greek yogurts'.

Price$0.01per request
MethodPOST
Route/v1/data/food-product-search
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache86400s public
datafoodsearchopenfoodfactsnutri-scorenovaproducthealth-profile
API URLhttps://x402.hexl.dev/v1/data/food-product-search
Integration docs
Example request
{
  "query": "greek yogurt",
  "limit": 5
}
Example response
{
  "query": "greek yogurt",
  "totalMatches": 5691,
  "returned": 5,
  "healthProfile": {
    "productCount": 5,
    "healthIndex": 85,
    "scoredCount": 5,
    "nutriScoreDistribution": {
      "A": 2,
      "B": 1,
      "C": 2,
      "D": 0,
      "E": 0
    },
    "nutriScoreGradedCount": 5,
    "novaDistribution": {
      "1": 4,
      "2": 0,
      "3": 0,
      "4": 0
    },
    "novaGradedCount": 4
  },
  "products": [
    {
      "barcode": "20047559",
      "name": "Yogurt Greek Style",
      "brand": "Pilos",
      "quantity": "1000 gram",
      "nutriScore": "C",
      "novaGroup": 1
    },
    {
      "barcode": "20416690",
      "name": "Greek Style Natural Light 2% fat",
      "brand": "Milbona",
      "quantity": "1000 gram",
      "nutriScore": "A",
      "novaGroup": 1
    },
    {
      "barcode": "4056489148739",
      "name": "Creamy Greek Style Natural Yogurt",
      "brand": "Milbona",
      "quantity": "1kg",
      "nutriScore": "C",
      "novaGroup": 1
    },
    {
      "barcode": "4088600060941",
      "name": "Greek 0% Fat Authentic Greek Yogurt",
      "brand": "Brooklea",
      "quantity": "500g",
      "nutriScore": "A",
      "novaGroup": 1
    },
    {
      "barcode": "5201054017432",
      "name": "Total 5% Fat Greek Yogurt",
      "brand": "FAGE",
      "quantity": "450 g",
      "nutriScore": "B",
      "novaGroup": null
    }
  ]
}
Input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Product or brand name, e.g. 'greek yogurt'."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10,
      "description": "Max products to return (1-25)."
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}