Extract Menu Data
AI-generatedSummary
Extract structured menu data from provided restaurant menu content using specified AI models, supporting text, HTML, or image URL inputs.
Inputs
- menuContent (required) — The restaurant menu content to extract data from, which can be plain text, HTML markup, or a URL to an image of the menu.
- contentType (required) — The format of the menu content being provided: 'text', 'html', or 'image' for an image URL.
- aiModel (required) — The AI model to use for extracting the menu data, such as GPT-4 Turbo or Claude 3 variants.
- includeAdditionalFields — Boolean flag indicating whether to extract additional fields like description, allergens, ingredients, and dietary attributes.
- language (required) — The language of the menu content for extraction, influencing the prompt language (e.g., English, Spanish, French).
Output shape
a single JSON object with the extracted menu data structured by restaurant name, categories with items and prices, and extraction metadata
The output object includes keys like 'restaurant_name', 'menu_categories' (each with 'category_name' and 'items'), and 'extraction_metadata' containing counts, extraction date, and confidence score. If the extraction fails to parse, the raw AI response and parse errors may be included instead. Errors from the AI API are surfaced with details. The node processes all input items individually, attaching extracted data or error messages per item.
Examples
Example 1: Extract data from a plain text menu in English using GPT-4 Turbo without additional fields.
Set 'menuContent' to the text, 'contentType' to 'text', 'aiModel' to 'openai/gpt-4-turbo', 'includeAdditionalFields' to false, and language to 'en'. The output JSON will reflect categories and items with only required fields.