v3

latestOpenAPI 3.0.0raw.githubusercontent.com2026-03-0936575.8 KB
Insight Management

List insights

Return insights based on various filters. The results can be filtered by insight type, barcode, annotation status, and more. The insight_types parameter is a comma-separated list of insight types to filter by. If no insight_types are provided, insights of all types are returned.

get/insights

Query parameters

insight_typesstring
Example:brand,label

Comma-separated list, filter by insight types

barcodeinteger
Example:5410041040807

Filter by barcode value

annotatedboolean
Example:true

Filter by annotation status of the insight. A true value (1, true) means we only return annotated insights, a false value (0, false) only non-annotated insights. If the parameter is not provided, both annotated and non-annotated insights are returned.

annotationinteger
Example:1

Filter by annotation value of the insight. If not provided, all insights are returned. This works in conjunction with the annotated parameter.

value_tagstring

Filter by value tag, i.e the value that is going to be sent to Product Opener

brandsstring
Example:carrefour,ferrero

Comma-separated list, filter by brands

countriesstring

Comma separated list, filter by country value (2-letter code)

server_type'off' | 'obf' | 'opff' | 'opf' | 'off_pro'

The server type (=project) to use, such as 'off' (Open Food Facts), 'obf' (Open Beauty Facts),...

predictorstring
Example:universal-logo-detector

Filter by predictor value A predictor refers to the model/method that was used to generate the prediction.

order_by'random' | 'popularity'
Example:popularity

How to order by insight results. By default, results are not ordered. Possible values are:

  • random: insights are ordered randomly
  • popularity: insights are returned by decreasing popularity, using the number of scans as proxy
countinteger

The number of items to return

pageinteger

Page index to return (starting at 1)

campaignsstring
Example:agribalyse-category

Filter by annotation campaigns (the insight must have all the campaigns) An annotation campaign allows to only retrieve questions or insights based on arbitrary criteria defined during insight import.

lcstring
Example:en,fr,de

Comma-separated list of language codes to filter insights by language

Response

List of insights matching the criteria

status'no_insights' | 'found'
countinteger

The total number of results with the provided filters

Example response

{
  "insights": [
    {
      "id": "3cd5aecd-edcc-4237-87d0-6595fc4e53c9",
      "type": "label",
      "barcode": 9782012805866,
      "countries": [
        "en:france",
        "en:united-kingdom"
      ]
    }
  ],
  "status": "found",
  "count": 10
}