---
title: "List one Chipotle restaurant's preset meals with prices"
method: GET
path: "/chipotle/restaurant/meals"
tags: ["Chipotle"]
---

# List one Chipotle restaurant's preset meals with prices

`GET /chipotle/restaurant/meals`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/chipotle/restaurant/meals`
- Auth: API key in header `x-api-key`

Returns the preset meals one Chipotle restaurant sells -- group Build-Your-Own packs, the High Protein line and limited-time Influencer meals -- each with its dine-in and delivery price at that restaurant, calorie label, dietary and macro tags, the components that make it up, merchandising tags and images. Prices are genuinely restaurant-specific: the same Build-Your-Own Chicken pack is priced differently from one location to another, so this is the endpoint to use for real pricing rather than /chipotle/meals, which lists the national meal definitions with no prices at all. Calorie labels are a range for build-your-own meals and a single figure for fixed ones, so they are returned as strings. Restaurant numbers come from GET /chipotle/restaurants.

## Query parameters

- `restaurant_number` string, required
- `meal_type` 'BuildYourOwn' | 'HighProtein' | 'Influencer'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ChipotleRestaurantMealsResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` ChipotleRestaurantMealsResponse
    - `count` integer
    - `fetched_at` string
    - `meal_type` string: MealType echoes the filter applied, empty when none was.
    - `meals` ChipotleRestaurantMeal[]
      - `calories` string: Calories is Chipotle's own label. It is a RANGE for build-your-own meals ("520 - 1220") and a single figure for fixed ones, so it stays a string rather than being forced into a number.
      - `components` ChipotleMealComponent[]
        - `available` boolean
        - `customization_name` string: CustomizationName is set when the component is a chosen customization rather than a fixed part of the meal.
        - `item_id` string
        - `name` string
        - `pricing` ChipotleMoney
          - `delivery_price` number
          - `price` number
        - `quantity` integer
      - `description` string
      - `dietary_tags` string[]: DietaryTags carries Chipotle's own labels: serving size ("Serves 4-6 people") and, for the high-protein presets, macro callouts such as "46g Protein | 14g Fiber | GLP-1 Friendly".
      - `drinks` ChipotleMealComponent[]
        - `available` boolean
        - `customization_name` string: CustomizationName is set when the component is a chosen customization rather than a fixed part of the meal.
        - `item_id` string
        - `name` string
        - `pricing` ChipotleMoney
          - `delivery_price` number
          - `price` number
        - `quantity` integer
      - `entree_available` boolean
      - `entree_item_id` string
      - `entree_name` string: Entree is the meal's headline item and its components.
      - `images` ChipotleMealImage[]
        - `category` string
        - `url` string
      - `marketing_copy` string
      - `meal_id` string
      - `meal_tags` ChipotleMealTag[]: MealTags are typed merchandising tags, e.g. type "rewards" with value "Exclusive". They are objects upstream, not plain strings.
        - `type` string
        - `value` string
      - `name` string
      - `pricing` ChipotleMoney
        - `delivery_price` number
        - `price` number
      - `sides` ChipotleMealComponent[]
        - `available` boolean
        - `customization_name` string: CustomizationName is set when the component is a chosen customization rather than a fixed part of the meal.
        - `item_id` string
        - `name` string
        - `pricing` ChipotleMoney
          - `delivery_price` number
          - `price` number
        - `quantity` integer
      - `sort_order` integer
      - `type` string
    - `restaurant_number` integer
    - `source_url` string
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
