BackResto Allergens API

EU allergen table generator (14 regulated allergens)

Operations 1

POST /api/allergen-table/parse Extract an EU allergen table from menu photos #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/backresto-com:backresto-com-allergens-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

backresto-com-allergens-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BackResto Public Allergens API
  version: 1.0.0
  summary: Free public endpoints of BackResto, the HACCP compliance app for food service professionals.
  description: 'BackResto (https://backresto.com) is a digital HACCP compliance and hygiene tracking app for restaurants, bakeries, caterers, collective catering and hotel kitchens. This specification covers the free, unauthenticated endpoints of the marketing site: the HACCP express audit, the EU allergen table generator, markdown rendering of any page for AI agents, and the health check. The BackResto product app itself (app.backresto.com) has no public API yet. Errors are always structured JSON: `{ "error": string, "code"?: string, "hint"?: string }`. See https://backresto.com/developers for guides and examples.'
  contact:
    name: BackResto
    email: contact@backresto.com
    url: https://www.backresto.com/fr/contact
  termsOfService: https://www.backresto.com/fr/cgu
servers:
- url: https://www.backresto.com
  description: BackResto marketing site
tags:
- name: allergens
  description: EU allergen table generator (14 regulated allergens)
paths:
  /api/allergen-table/parse:
    post:
      operationId: parseAllergenMenu
      tags:
      - allergens
      summary: Extract an EU allergen table from menu photos
      description: Uploads up to 10 menu images (base64) and returns every dish grouped by menu category, with a boolean flag for each of the 14 EU regulated allergens (gluten, crustaceans, eggs, fish, peanuts, soybeans, milk, tree nuts, celery, mustard, sesame, sulphites, lupin, molluscs). Free tool, no authentication required.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllergenParseRequest'
      responses:
        '200':
          description: Parsed menu with allergen flags per dish.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllergenMenu'
        '400':
          description: No files, more than 10 files, or a non-image file type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Menu too large to process in one call — retry with fewer pages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Parsing failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AllergenFlags:
      type: object
      description: One boolean per EU regulated allergen.
      required:
      - gluten
      - crustaceans
      - eggs
      - fish
      - peanuts
      - soybeans
      - milk
      - tree_nuts
      - celery
      - mustard
      - sesame
      - sulphites
      - lupin
      - molluscs
      properties:
        gluten:
          type: boolean
        crustaceans:
          type: boolean
        eggs:
          type: boolean
        fish:
          type: boolean
        peanuts:
          type: boolean
        soybeans:
          type: boolean
        milk:
          type: boolean
        tree_nuts:
          type: boolean
        celery:
          type: boolean
        mustard:
          type: boolean
        sesame:
          type: boolean
        sulphites:
          type: boolean
        lupin:
          type: boolean
        molluscs:
          type: boolean
    Error:
      type: object
      required:
      - error
      description: Structured error returned by every BackResto endpoint on failure.
      properties:
        error:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Stable machine-readable error code (e.g. not_found, invalid_path).
        hint:
          type: string
          description: How to resolve the error or where to look next.
    AllergenMenu:
      type: object
      required:
      - categories
      properties:
        categories:
          type: array
          items:
            type: object
            required:
            - name
            - items
            properties:
              name:
                type: string
                description: Menu section (e.g. Entrées, Plats, Desserts).
              items:
                type: array
                items:
                  type: object
                  required:
                  - name
                  - description
                  - allergens
                  properties:
                    name:
                      type: string
                      description: Dish name as written on the menu.
                    description:
                      type:
                      - string
                      - 'null'
                    allergens:
                      $ref: '#/components/schemas/AllergenFlags'
    AllergenParseRequest:
      type: object
      required:
      - files
      properties:
        files:
          type: array
          minItems: 1
          maxItems: 10
          description: Menu images to parse.
          items:
            type: object
            required:
            - name
            - type
            - base64
            properties:
              name:
                type: string
                description: File name.
              type:
                type: string
                enum:
                - image/jpeg
                - image/png
                - image/webp
                - image/heic
                description: Image MIME type.
              base64:
                type: string
                description: 'Base64-encoded image content (no data: prefix).'