Endpoint Playground
Returns one deal/combo's full choice-builder tree -- every named slot it offers (e.g. "1st Pizza", "Wings or Fries", "1st Dip") and every product variant a caller can pick to fill that slot, each with the real price delta selecting it adds over the bundle's base price (zero for a variant already covered by the deal, positive for an upgrade such as a larger size or a specialty pizza). This is a different structure from /pizzahut/modifiers -- that endpoint customizes toppings/sauces on one product variant, while this endpoint swaps whole product variants in and out of a multi-item combo. bundle_code comes from /pizzahut/menu's code field on a type=bundle item.
14 Oct 2026: 3 choices; 5 fields had a value in every checked item.
Sample value profiles: min_allowed_selections: 0 to 1, median 1; name: “MHB Entree” and 2 other values; variants: median 21 entries.
curl 'https://api.crawlora.net/api/v1/pizzahut/bundle-choices?store_number=040937&bundle_code=MEAL501BD&channel=WEB' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| store_number | string | Yes | 040937 | Pizza Hut's store number, from /pizzahut/stores |
| bundle_code | string | Yes | MEAL501BD | A deal/combo's bundle code, from /pizzahut/menu's code field on a type=bundle item |
| channel | string | No | WEB | Order channel the deal and pricing reflect (default WEB) |
{
"code": 200,
"msg": "OK",
"data": {
"store_number": "040937",
"bundle_code": "MEALB18HT",
"name": "My Hut Box",
"description": "Choice of entrée: 2-top. Personal Pan Pizza, full or half melt, or 6 wings. Choice of side: fries or 4 wings. Wings are boneless or bone-in. Melt dipping sauce incl. Addt'l charge for extra cheese/toppings.",
"channel": "WEB",
"price": {
"amount_cents": 999,
"amount": 9.99,
"currency_code": "USD"
},
"choices": [
{
"choice_code": "742",
"name": "MHB Entree",
"min_allowed_selections": 1,
"max_allowed_selections": 1,
"variants": [
{
"variant_code": "variant_CLSS001_010BCYO2T_SIZE964MH_BASE015P",
"name": "My Hut Box Personal Pan® Create Your Own 2-Top Pizza",
"upcharge": {
"amount_cents": 0,
"amount": 0,
"currency_code": "USD"
}
}
]
},
{
"choice_code": "286",
"name": "Wings or Fries",
"min_allowed_selections": 1,
"max_allowed_selections": 1,
"variants": []
},
{
"choice_code": "657",
"name": "MHB Drink",
"min_allowed_selections": 1,
"max_allowed_selections": 1,
"variants": []
}
],
"choice_count": 3,
"source_url": "https://www.pizzahut.com/v1/tarmor/ph_us/storefront/graphql",
"fetched_at": "2026-09-06T00:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.