---
title: "Get nutrition and allergen detail for a batch of McDonald's items"
method: GET
path: "/mcdonalds/item-list"
tags: ["McDonalds"]
---

# Get nutrition and allergen detail for a batch of McDonald's items

`GET /mcdonalds/item-list`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/mcdonalds/item-list`
- Auth: API key in header `x-api-key`

Returns the same published nutrition detail as GET /mcdonalds/item for up to 20 items in one call, plus the per-component ingredient and allergen breakdown that the single-item endpoint does not expose -- a composite item's overall allergen statement is the union of its parts' (a burger's bun, patty, cheese and condiment each carry their own ingredient statement and allergens), so this is the source to use when the full breakdown matters, not just the item-level summary. Item ids come from GET /mcdonalds/menu and are market-specific, so pass the same country back. The response echoes the requested ids so a caller can tell which ones McDonald's returned nothing for.

## Query parameters

- `item_ids` string, required
- `country` 'us' | 'ca' | 'au' | 'ie' | 'nz' | 'ch' | 'se'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- McdonaldsItemListResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` McdonaldsItemListResponse
    - `count` integer
    - `country` string
    - `fetched_at` string
    - `items` McdonaldsItemListEntry[]
      - `allergens` string
      - `components` McdonaldsItemComponent[]: Components is the per-part ingredient/allergen breakdown -- e.g. a burger's bun, patty, cheese and condiment each carry their own statement. Absent for a single-part item.
        - `allergens` string
        - `ingredients` string
      - `description` string
      - `image_url` string
      - `ingredients` string
      - `item_id` string
      - `name` string
      - `nutrients` McdonaldsNutrient[]
        - `daily_value` string: DailyValue is the percent-daily-value where McDonald's prints one.
        - `key` string: Key is McDonald's stable machine identifier for the nutrient (e.g. "calories"), safer to match on than the display name.
        - `name` string
        - `unit` string
        - `value` string: Value is kept as a string because McDonald's publishes values like "580", "1060" and occasionally non-numeric qualifiers; parsing to a number here would silently drop the latter.
    - `requested` string[]: Requested echoes the id list as asked for, so a caller can tell which ids McDonald's returned nothing for.
    - `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/028417aa35bb?raw)
