---
title: "Get one KFC restaurant's full priced menu"
method: GET
path: "/kfc/menu"
tags: ["KFC"]
---

# Get one KFC restaurant's full priced menu

`GET /kfc/menu`

## Request

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

Returns one restaurant's full menu grouped into categories (e.g. "Deals", "Combos", "Tenders"). Every entry is a product, a bundle (a combo or family meal), or a standalone priced variant -- type tells callers which -- and carries a price in USD cents plus a decimal dollar value, and an image when the upstream publishes one. Prices reflect this specific restaurant and order channel, not a national default. channel selects which order channel the menu is priced for (web ordering by default); prices can genuinely differ by channel (e.g. a delivery-marketplace channel vs. web).

## Query parameters

- `store_number` string, required
- `channel` 'WEB' | 'MOBILE' | 'POS' | 'KIOSK' | 'DOORDASH' | 'UBEREATS' | 'GRUBHUB' | 'IOS' | 'ANDROID' | 'DELIVEROO' | 'JUST_EAT' | 'CALL_CENTER'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- KfcMenuResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` KfcMenuResponse
    - `categories` KfcMenuCategory[]
      - `category_code` string
      - `description` string
      - `items` KfcMenuItem[]
        - `code` string
        - `description` string
        - `image_url` string
        - `name` string
        - `price` KfcMoney
          - `amount` number
          - `amount_cents` integer
          - `currency_code` string
        - `type` string
        - `variant_code` string: VariantCode is the specific priced variant this item's Price reflects (present for type=product, whose price comes from its default variant). It is the id GraphQL calls use to select a specific size/ configuration; this family does not currently expose variant-level browsing beyond the default.
      - `name` string
    - `channel` string
    - `currency` string
    - `fetched_at` string
    - `item_count` integer
    - `menu_id` string
    - `source_url` string
    - `store_number` 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)
