Endpoint Playground
Returns Zaxby's full national reference menu: every category and product, with description, calories, image, and a full recursive customization tree (size/protein/sauce choices, each with its own real price delta). This is national reference data, not store-priced -- most items list cost 0 because real pricing is store-specific and requires a signed-in ordering session this endpoint does not have. Many items price entirely through a required customization selection rather than a base cost, so cost 0 on an item is expected, not a bug.
14 Oct 2026: 15 categories; 7 fields had a value in every checked item.
Sample value profiles: name: “Featured Items” and 14 other values; image: olo-images-live.imgix.net; catering: true in 4 of 15.
curl 'https://api.crawlora.net/api/v1/zaxbys/menu' \
-H "x-api-key: $CRAWLORA_API_KEY"No request parameters
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{
"id": 71357,
"name": "Fingerz™ & Wings Meals",
"image": "https://olo-images-live.imgix.net/dc/example.png",
"catering": false,
"slug": "fingerz-wings-meals",
"spotlight": true,
"products": [
{
"product_id": 113251777,
"title": "Lemon Pepper Wings & Things Meal",
"description": "5 Traditional Wings tossed in our zesty, tangy Lemon Pepper Dry Rub with Ranch, plus 3 Chicken Fingerz™ with Zax Sauce®.",
"calories": "1440 - 1770",
"cost": 0,
"customization_available": true,
"available_now": true,
"groups": [
{
"id": 4157392792,
"name": "Boneless or traditional?",
"options": [
{
"id": 17466794649,
"name": "Boneless",
"cost": 0,
"default": true,
"groups": [
{
"id": 4157392906,
"name": "Sauced or not?",
"options": [
{
"id": 17466794964,
"name": "Regular Fingerz",
"cost": 15,
"default": true
},
{
"id": 17466794963,
"name": "Sauced Fingerz",
"cost": 17,
"default": false
}
]
}
]
}
]
}
]
}
]
}
],
"category_count": 15,
"product_count": 106,
"source_url": "https://zapi.zaxbys.com/v1/menu/generic?includePrimaryModifiers=true",
"fetched_at": "2026-09-05T00:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.