Spoonacular Menu Items API

The Menu Items API from Spoonacular — 8 operation(s) for menu items.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

spoonacular-menu-items-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: spoonacular Ingredients Menu Items API
  description: 'The spoonacular Nutrition, Recipe, and Food API allows you to access over thousands of recipes, thousands of ingredients, 800,000 food products, over 100,000 menu items, and restaurants. Our food ontology and semantic recipe search engine makes it possible to search for recipes using natural language queries, such as "gluten free brownies without sugar" or "low fat vegan cupcakes." You can automatically calculate the nutritional information for any recipe, analyze recipe costs, visualize ingredient lists, find recipes for what''s in your fridge, find recipes based on special diets, nutritional requirements, or favorite ingredients, classify recipes into types and cuisines, convert ingredient amounts, or even compute an entire meal plan. With our powerful API, you can create many kinds of food and especially nutrition apps.


    Special diets/dietary requirements currently available include: vegan, vegetarian, pescetarian, gluten free, grain free, dairy free, high protein, whole 30, low sodium, low carb, Paleo, ketogenic, FODMAP, and Primal.'
  contact:
    name: David Urbansky
    email: mail@spoonacular.com
    url: https://spoonacular.com/contact
  version: 2.0.2
  x-codegen-settings:
    Nullify404: false
    GenerateAsyncCode: true
    UseMethodPrefix: true
    UseModelPostfix: false
    UseControllerPrefix: true
    UseEnumPostfix: true
    CollectParameters: false
    UseConstructorsForConfig: true
    UseCommonSDKLibrary: false
    iOSUseAppInfoPlist: true
    AndroidUseAppManifest: true
    BodySerialization: 0
    EnableAdditionalModelProperties: false
    PreserveParameterOrder: false
    AppendContentHeaders: true
    iOSGenerateCoreData: false
    GenerateInterfaces: false
    NodeHttpClient: NODE_REQUEST
    ValidateRequiredParameters: false
    JavaUsePropertiesConfig: false
    Timeout: 0
    StoreTimezoneInformation: false
    EnablePHPComposerVersionString: false
    EnableLogging: false
    ArraySerialization: Indexed
    ModelSerializationScheme: Json
    UseExceptionPrefix: true
    RunscopeEnabled: false
    JavaHttpClient: JAVA_OK
    ParameterArrayFormat: ParamArrayWithIndex
    SecurityProtocols:
    - Ssl3
    - Tls
    GenerateTravisConfig: false
    GenerateCircleConfig: false
    GenerateAppveyorConfig: false
    GenerateJenkinsConfig: false
    EnableHttpCache: false
    Retries: 0
    RetryInterval: 1
    GenerateAdvancedDocs: false
    UnderscoreNumbers: true
    UseSingletonPattern: true
    DisableLinting: false
    ApplyCustomizations: []
    SortResources: false
    AllowSkippingSSLCertVerification: false
    DoNotSplitWords: []
    EnableGlobalUserAgent: true
    ReturnCompleteHttpResponse: false
    GenerateModels: true
    GenerateExceptions: true
    IgnoreIfNullJson: false
    DisableDocs: false
    LiftParameterDescriptionFromCustomType: false
    ThrowForHttpErrorStatusCodes: true
    ResponseMapping:
      Type: Simple
    ForceKeywordArgsInRuby: false
    SymbolizeHashKeysInRuby: false
  x-server-configuration:
    default-environment: production
    default-server: default
    environments:
    - name: production
      servers:
      - name: default
        url: https://api.spoonacular.com
    parameters: []
  license:
    name: spoonacular API Terms
    url: https://spoonacular.com/food-api/terms
  termsOfService: https://spoonacular.com/food-api/terms
  x-apis-json-aid: spoonacular
  x-spec-source: https://github.com/ddsky/spoonacular-api-clients/blob/master/spoonacular-openapi-3.json
  x-last-validated: '2026-06-03'
  x-providerName: spoonacular.com
servers:
- url: https://api.spoonacular.com
  variables: {}
security:
- apiKeyScheme: []
tags:
- name: Menu Items
paths:
  /food/menuItems/suggest:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  results:
                    type: array
                    uniqueItems: true
                    minItems: 0
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        title:
                          type: string
                          minLength: 1
                      required:
                      - id
                      - title
                required:
                - results
              examples:
                example-1:
                  value:
                    results:
                    - id: 253419
                      title: pei wei asian diner thai chicken lettuce wraps
                    - id: 380722
                      title: camille's chicken caesar salad includes 2 oz. caesar dressing
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: query
        description: The (partial) search query.
        schema:
          type: string
          example: chicke
        required: true
        style: form
        explode: false
        in: query
        example: chicke
      - name: number
        description: The number of results to return (between 1 and 25).
        schema:
          type: integer
          example: 10
          minimum: 1
          maximum: 25
        required: false
        style: form
        explode: false
        in: query
        example: 10
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Autocomplete-Menu-Item-Search
      summary: Autocomplete Menu Item Search
      description: Generate suggestions for menu items based on a (partial) query. The matches will be found by looking in the title only.
      operationId: autocompleteMenuItemSearch
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/search:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  menuItems:
                    type: array
                    uniqueItems: true
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/MenuItem'
                  totalMenuItems:
                    type: integer
                  type:
                    type: string
                    minLength: 1
                  offset:
                    type: integer
                  number:
                    type: integer
                required:
                - menuItems
                - totalMenuItems
                - type
                - offset
                - number
              examples:
                example-1:
                  value:
                    menuItems:
                    - id: 419357
                      title: Burger Sliders
                      restaurantChain: Hooters
                      image: https://images.spoonacular.com/file/wximages/419357-312x231.png
                      imageType: png
                      servings:
                        number: 1
                        size: 2
                        unit: oz
                    - id: 424571
                      title: Bacon King Burger
                      restaurantChain: Burger King
                      image: https://images.spoonacular.com/file/wximages/424571-312x231.png
                      imageType: png
                      servings:
                        number: 1
                        size: 2
                        unit: oz
                    totalMenuItems: 6749
                    type: menuItem
                    offset: 0
                    number: 2
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - $ref: '#/components/parameters/query'
        example: example
      - name: minCalories
        description: The minimum amount of calories the menu item must have.
        schema:
          type: number
          example: 50
        required: false
        style: form
        explode: false
        in: query
        example: 50
      - name: maxCalories
        description: The maximum amount of calories the menu item can have.
        schema:
          type: number
          example: 800
        required: false
        style: form
        explode: false
        in: query
        example: 800
      - name: minCarbs
        description: The minimum amount of carbohydrates in grams the menu item must have.
        schema:
          type: number
          example: 10
        required: false
        style: form
        explode: false
        in: query
        example: 10
      - name: maxCarbs
        description: The maximum amount of carbohydrates in grams the menu item can have.
        schema:
          type: number
          example: 100
        required: false
        style: form
        explode: false
        in: query
        example: 100
      - name: minProtein
        description: The minimum amount of protein in grams the menu item must have.
        schema:
          type: number
          example: 10
        required: false
        style: form
        explode: false
        in: query
        example: 10
      - name: maxProtein
        description: The maximum amount of protein in grams the menu item can have.
        schema:
          type: number
          example: 100
        required: false
        style: form
        explode: false
        in: query
        example: 100
      - name: minFat
        description: The minimum amount of fat in grams the menu item must have.
        schema:
          type: number
          example: 1
        required: false
        style: form
        explode: false
        in: query
        example: 1
      - name: maxFat
        description: The maximum amount of fat in grams the menu item can have.
        schema:
          type: number
          example: 100
        required: false
        style: form
        explode: false
        in: query
        example: 100
      - schema:
          type: boolean
          example: true
          enum:
          - false
          - true
        required: false
        in: query
        name: addMenuItemInformation
        description: If set to true, you get more information about the menu items returned.
        example: true
      - $ref: '#/components/parameters/offset'
        example: example
      - $ref: '#/components/parameters/number'
        example: example
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Search-Menu-Items
      summary: Search Menu Items
      description: Search over 115,000 menu items from over 800 fast food and chain restaurants. For example, McDonald's Big Mac or Starbucks Mocha.
      operationId: searchMenuItems
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/{id}:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MenuItem'
              examples:
                GetMenuItemInformation200Example:
                  summary: Default getMenuItemInformation 200 response
                  x-microcks-default: true
                  value:
                    id: 424571
                    title: Bacon King Burger
                    restaurantChain: Burger King
                    nutrition:
                      nutrients:
                      - name: Fat
                        amount: 69
                        unit: g
                        percentOfDailyNeeds: 30
                      - name: Protein
                        amount: 57
                        unit: g
                        percentOfDailyNeeds: 35
                      - name: Calories
                        amount: 1040
                        unit: cal
                        percentOfDailyNeeds: 50
                      - name: Carbohydrates
                        amount: 48
                        unit: g
                        percentOfDailyNeeds: 35
                      caloricBreakdown:
                        percentProtein: 35
                        percentFat: 30
                        percentCarbs: 35
                    badges: []
                    breadcrumbs:
                    - burger
                    - main course
                    - food product category
                    generatedText: ''
                    imageType: png
                    likes: 0
                    servings:
                      number: 1
                      size: 2
                      unit: oz
                    price: 2.35
                    spoonacularScore: 12.5
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: id
        description: The menu item id.
        schema:
          type: integer
          example: 424571
        required: true
        style: simple
        explode: false
        in: path
        example: 424571
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Get-Menu-Item-Information
      summary: Get Menu Item Information
      description: Use a menu item id to get all available information about a menu item, such as nutrition.
      operationId: getMenuItemInformation
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/{id}/nutritionWidget:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            text/html:
              schema:
                type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: id
        description: The menu item id.
        schema:
          type: integer
          example: 1003464
        required: true
        style: simple
        explode: false
        in: path
        example: 1003464
      - $ref: '#/components/parameters/defaultCss'
        example: example
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Menu-Item-Nutrition-by-ID-Widget
      summary: Menu Item Nutrition by ID Widget
      description: Visualize a menu item's nutritional information as HTML including CSS.
      operationId: visualizeMenuItemNutritionByID
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/{id}/nutritionWidget.png:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            image/png:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: id
        description: The menu item id.
        schema:
          type: integer
          example: 424571
        required: true
        style: simple
        explode: false
        in: path
        example: 424571
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Menu-Item-Nutrition-by-ID-Image
      summary: Menu Item Nutrition by ID Image
      description: Visualize a menu item's nutritional information as HTML including CSS.
      operationId: menuItemNutritionByIDImage
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/{id}/nutritionLabel:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            text/html:
              schema:
                type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: id
        description: The menu item id.
        schema:
          type: integer
          example: 342313
        required: true
        style: simple
        explode: false
        in: path
        example: 342313
      - $ref: '#/components/parameters/defaultCss'
        example: example
      - name: showOptionalNutrients
        description: Whether to show optional nutrients.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      - name: showZeroValues
        description: Whether to show zero values.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      - name: showIngredients
        description: Whether to show a list of ingredients.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Menu-Item-Nutrition-Label-Widget
      summary: Menu Item Nutrition Label Widget
      description: Visualize a menu item's nutritional label information as HTML including CSS.
      operationId: menuItemNutritionLabelWidget
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/menuItems/{id}/nutritionLabel.png:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            image/png:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: id
        description: The menu item id.
        schema:
          type: integer
          example: 342313
        required: true
        style: simple
        explode: false
        in: path
        example: 342313
      - name: showOptionalNutrients
        description: Whether to show optional nutrients.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      - name: showZeroValues
        description: Whether to show zero values.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      - name: showIngredients
        description: Whether to show a list of ingredients.
        schema:
          type: boolean
          example: false
        required: false
        style: form
        explode: false
        in: query
        example: false
      externalDocs:
        description: Read entire docs
        url: https://spoonacular.com/food-api/docs#Menu-Item-Nutrition-Label-Image
      summary: Menu Item Nutrition Label Image
      description: Visualize a menu item's nutritional label information as an image.
      operationId: menuItemNutritionLabelImage
      deprecated: false
      tags:
      - Menu Items
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /food/restaurants/search:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  restaurants:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                        name:
                          type: string
                        phone_number:
                          type: integer
                        address:
                          type: object
                          properties:
                            street_addr:
                              type: string
                            city:
                              type: string
                            state:
                              type: string
                            zipcode:
                              type: string
                            country:
                              type: string
                            lat:
                              type: number
                            lon:
                              type: number
                            street_addr_2:
                              type: string
                            latitude:
                              type: number
                            longitude:
                              type: number
                        type:
                          type: string
                        description:
                          type: string
                        local_hours:
                          type: object
                          properties:
                            operational:
                              type: object
                              properties:
                                Monday:
                                  type: string
                                Tuesday:
                                  type: string
                                Wednesday:
                                  type: string
                                Thursday:
                                  type: string
                                Friday:
                                  type: string
                                Saturday:
                                  type: string
                                Sunday:
                                  type: string
                            delivery:
                              type: object
                              properties:
                                Monday:
                                  type: string
                                Tuesday:
                                  type: string
                                Wednesday:
                                  type: string
                                Thursday:
                                  type: string
                                Friday:
                                  type: string
                                Saturday:
                                  type: string
                                Sunday:
                                  type: string
                            pickup:
                              type: object
                              properties:
                                Monday:
                                  type: string
                                Tuesday:
                                  type: string
                                Wednesday:
                                  type: string
                                Thursday:
                                  type: string
                                Friday:
                                  type: string
                                Saturday:
                                  type: string
                                Sunday:
                                  type: string
                            dine_in:
                              type: object
                              properties:
                                Monday:
                                  type: string
                                Tuesday:
                                  type: string
                                Wednesday:
                                  type: string
                                Thursday:
                                  type: string
                                Friday:
                                  type: string
                                Saturday:
                                  type: string
                                Sunday:
                                  type: string
                        cuisines:
                          type: array
                          items:
                            type: string
                        food_photos:
                          type: array
                          items:
                            type: string
                        logo_photos:
                          type: array
                          items:
                            type: string
                        store_photos:
                          type: array
                          items:
                            type: string
                        dollar_signs:
                          type: integer
                        pickup_enabled:
                          type: boolean
                        delivery_enabled:
                          type: boolean
                        is_open:
                          type: boolean
                        offers_first_party_delivery:
                          type: boolean
                        offers_third_party_delivery:
                          type: boolean
                        miles:
                          type: number
                        weighted_rating_value:
                          type: number
                        aggregated_rating_count:
                          type: integer
              examples:
                Example 1:
                  value:
                    restaurants:
                    - _id: a8b49c84-a92d-4f06-802e-467af49feaf0
                      name: South Beach Cafe
                      phone_number: 14159741115
                      address:
                        street_addr: 800 The Embarcadero
                        city: San Francisco
                        state: CA
                        zipcode: '94107'
                        country: US
                        lat: 37.78129959
                        lon: -122.38869477
                        street_addr_2: ''
                        latitude: 37.78129959
                        longitude: -122.38869477
                      type: restaurant
                      description: Italian, Pizza
                      local_hours:
                        operational:
                          Monday: 07:00AM - 09:00PM
                          Tuesday: 07:00AM - 09:00PM
                          Wednesday: 07:00AM - 09:00PM
                          Thursday: 07:00AM - 09:00PM
                          Friday: 07:00AM - 09:00PM
                          Saturday: 08:00AM - 09:00PM
                          Sunday: 08:00AM - 09:00PM
                        delivery:
                          Monday: 07:00AM - 09:00PM
                          Tuesday: 07:00AM - 09:00PM
                          Wednesday: 07:00AM - 09:00PM
                          Thursday: 07:00AM - 09:00PM
                          Friday: 07:00AM - 09:00PM
                          Saturday: 08:00AM - 09:00PM
                          Sunday: 08:00AM - 09:00PM
                        pickup:
                          Monday: 07:00AM - 09:00PM
                          Tuesday: 07:00AM - 09:00PM
                          Wednesday: 07:00AM - 09:00PM
                          Thursday: 07:00AM - 09:00PM
                          Friday: 07:00AM - 09:00PM
                          Saturday: 08:00AM - 09:00PM
                          Sunday: 08:00AM - 09:00PM
                        dine_in:
                          Monday: 07:00AM - 09:00PM
                          Tuesday: 07:00AM - 09:00PM
                          Wednesday: 07:00AM - 09:00PM
                          Thursday: 07:00AM - 09:00PM
                          Friday: 07:00AM - 09:00PM
                          Saturday: 08:00AM - 09:00PM
                          Sunday: 08:00AM - 09:00PM
                      cuisines:
                      - Breakfast
                      - Dinner
                      - Italian
                      - Lunch
                      - Pickup
                      - Pizza
                      - Salads
                      - Sandwich
                      - Sandwiches
                      - Takeout
                      food_photos:
                      - https://cdn-img.mealme.ai/f3d0e396f1b552927092bafa65ef2cc4e8b57c22/68747470733a2f2f6d656469612d63646e2e677275626875622e636f6d2f696d6167652f75706c6f61642f62657462706b3570747a37756a306279616b6a672e6a7067
                      logo_photos:
                      - https://cdn-img.mealme.ai/25b450d4e72eea47dccd744c326e49e23343bd0d/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f677275626875622f696d6167652f75706c6f61642f76313531383830323236382f63686a6a356173716f6766696e726f7671376f732e706e67
                      store_photos: []
                      dollar_signs: 2
                      pickup_enabled: true
                      delivery_enabled: true
                      is_open: false
                      offers_first_party_delivery: false
                      offers_third_party_delivery: true
                      miles: 0.2508434381960197
                      weighted_rating_value: 4.725654450261779
                      aggregated_rating_count: 191
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      parameters:
      - name: query
        description: The search query.
        schema:
          type: string
          example: beach cafe
        required: false
        style: form
        explode: false
        in: query
        example: beach cafe
      - name: lat
        description: The latitude of the user's location.
        schema:
          type: number
          example: 37.7786357
        required: false
        style: form
        explode: false
        in: query
        example: 37.7786357
      - name: lng
        description: The longitude of the user's location.".
        schema:
          type: number
          example: -122.3918135
        required: false
        style: form
        explode: false
        in: query
        example: -122.3918135
      - name: distance
        description: The distance around the location in miles.
        schema:
          type: number
          example: 2
        required: false
        style: form
        explode: false
        in: query
        example: 2
      - name: budget
        description: The user's budget for a meal in USD.
        schema:
          type: number
          example: 20
        required: false
        style: form
        explode: false
        in: query
        example: 20
      - name: cuisine
        description: The cuisine of the restaurant.
        schema:
          type: string
          example: italian
        required: false
        style: form
        explode: false
        in: query
        example: italian
      - name: min-rating
        description: The minimum rating of the restaurant between 0 and 5.
        schema:
          type: number
          example: 4.4
        required: false
        style: form
        explode: false
        in: query
        example: 4.4
      - name: is-open
        description: Whether the restaurant must be open at the time of search.
        schema:
          type: boolean
          example: true
        required: false
        style: form
        explode: false
        in: query
        example: true
      - name: sort
        description: How to sort the results, one of the following 'cheapest', 'fastest', 'rating', 'distance' or the default 'relevance'.
        schema:
          type: string
          example: distance
        required: false
        style: form
        explode: false
        in

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spoonacular/refs/heads/main/openapi/spoonacular-menu-items-api-openapi.yml