---
title: "List one McDonald's menu category's items"
method: GET
path: "/mcdonalds/menu"
tags: ["McDonalds"]
---

# List one McDonald's menu category's items

`GET /mcdonalds/menu`

## Request

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

Returns the items in one McDonald's menu category: each item's numeric id, name, product page URL and image. The item id is what GET /mcdonalds/item takes for full nutrition. Category slugs come from GET /mcdonalds/categories and must be paired with the country they came from -- both slugs and item ids are market-specific. Prices are not available; McDonald's does not publish them on this surface. A calorie label is included per item where the category page prints one, which is often blank.

## Query parameters

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

## Headers

- `x-api-key` string, required

## Response `200`

OK

- McdonaldsMenuResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` McdonaldsMenuResponse
    - `category` string
    - `count` integer
    - `country` string
    - `fetched_at` string
    - `items` McdonaldsMenuItemSummary[]
      - `calories` string: Calories is McDonald's own per-item calorie label where the category page prints one; often blank.
      - `image_url` string
      - `item_id` string
      - `name` string
      - `product_url` string
    - `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/afac9b012a27?raw)
