Endpoint Playground
Returns one restaurant's menu grouped into categories (e.g. "Big Box", "Chicken Wraps"). Every entry is an item, a combo, a picker (a variant-choice product such as "choose your side") or a bundle, and carries a price reflecting this specific restaurant when Popeyes reports one for that exact entry -- a missing price does not mean the item is free, it means this restaurant's pricing call did not cover that entry. Some menu entries are published directly at the top level outside any named section; these are grouped into a synthetic "Featured" category (featured true). Entries of type ITEM also carry published nutrition facts and allergen data when Popeyes reports them for that item; COMBO/PICKER/BUNDLE entries do not carry their own nutrition/allergen data.
14 Oct 2026: 16 categories; 2 fields had a value in every checked item and 2 varied between items.
Sample value profiles: name: “Limited Time Items” and 15 other values; featured: true in 1 of 1; items: median 3 entries.
curl 'https://api.crawlora.net/api/v1/popeyes/menu?store_id=14156' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| store_id | string | Yes | 14156 | Popeyes' numeric store id, from /popeyes/locations |
| market | string | No | Restaurant market: `US` (default) or `CA` |
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "14156",
"currency": "USD",
"categories": [
{
"id": "c17aefeb-aabe-4c21-ae57-137eb724f565",
"name": "Limited Time Items",
"items": [
{
"id": "item_103182",
"type": "ITEM",
"name": "Cheese Bites",
"image_url": "https://cdn.sanity.io/images/czqk28jt/prod_plk_us/5030d73a5159ee07173fd5de0495fe9d089513c3-888x570.png",
"price": {
"default_cents": 399,
"default": 3.99,
"min_cents": 199,
"min": 1.99,
"max_cents": 399,
"max": 3.99
},
"nutrition": {
"calories": 560,
"fat_g": 44,
"trans_fat_g": 1,
"cholesterol_mg": 75,
"sodium_mg": 1470,
"carbohydrates_g": 23,
"fiber_g": 2,
"sugar_g": 2,
"proteins_g": 17
}
}
]
}
],
"item_count": 98,
"source_url": "https://czqk28jt.apicdn.sanity.io/v1/graphql/prod_plk_us/default",
"fetched_at": "2026-09-02T00:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.