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

# List McDonald's menu categories

`GET /mcdonalds/categories`

## Request

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

Returns one market's McDonald's menu categories -- 13 in the United States at time of writing, including breakfast, burgers, chicken-and-fish-sandwiches, mcnuggets-and-mccrispy-strips, snack-wrap, fries-sides, happy-meal, sweets-treats, mccafe-coffees, drinks, sauces-and-condiments and the two value menus; other markets publish their own, from 6 in Switzerland to 17 in Australia. Each entry's slug is the value GET /mcdonalds/menu takes. Slugs are not portable between markets, so pass the same country back. Eight markets publish a reachable menu, fewer than the ten the restaurant locator covers.

## Query parameters

- `country` 'us' | 'ca' | 'gb' | 'au' | 'ie' | 'nz' | 'ch' | 'se'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- McdonaldsCategoriesResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` McdonaldsCategoriesResponse
    - `categories` McdonaldsCategory[]
      - `name` string
      - `slug` string
      - `url` string
    - `count` integer
    - `country` string: Country echoes the market these slugs belong to. Slugs are NOT portable across markets -- pass the same country back to /mcdonalds/menu.
    - `fetched_at` string
    - `source_url` string
  - `msg` unknown

## Other responses

- `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)
