Endpoint Playground
Test Crawlora's Panera Bread Item Options API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/panera/item-options?cafe_id=<cafe_id>&item_id=<item_id>" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| cafe_id | integer | Yes | Panera cafe id, from /panera/locations | |
| item_id | integer | Yes | Menu item id, from /panera/menu |
{
"code": 200,
"msg": "OK",
"data": {
"cafe_id": 601447,
"item_id": 643423,
"groups": [
{
"group_id": 20964,
"min_allowed": 4,
"max_allowed": 4,
"options": [
{
"item_id": 649379,
"image_key": "chipotle-chicken-avo-melt-half-bt",
"is_default": true,
"default_qty": 2,
"allergens": {
"contains": [
{
"id": "EGG",
"name": "Egg"
},
{
"id": "MILK",
"name": "Milk"
},
{
"id": "WHEAT",
"name": "Wheat"
}
],
"may_contain": [
{
"id": "MAYSESAME",
"name": "Sesame"
}
]
},
"variants": [
{
"item_id": 649379,
"variant_type": "Regular",
"price": 0
}
]
}
]
}
],
"source_url": "https://www-api.panerabread.com/www-api/public/menu/customizations/601447/version/109855/643423/0",
"fetched_at": "2026-09-02T12:00:00Z"
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Returns one item's selectable option groups: for a combo, each group is a slot to fill (for example "pick 4 sandwiches", "pick 1 soup"), listing every eligible choice; for a single customizable item, each group is one topping/add-in/amount choice (for example No, Light, Regular, Extra). Each group has min_allowed and max_allowed (how many selections it requires). Each option is one selectable choice, with its own selectable variants (amount tiers) each carrying an item_id and price -- price 0 for a variant included at no extra charge. Panera does not publish a resolved display name for options or groups on this surface, so each option carries its raw upstream image_key as the caller-facing identifier instead of a name. An item that is not customizable, or an unknown item id, returns an empty groups list rather than an error -- Panera's own API does not distinguish the two cases. Item ids come from GET /panera/menu.
{
"code": 200,
"msg": "OK",
"data": {
"cafe_id": 601447,
"item_id": 643423,
"groups": [
{
"group_id": 20964,
"min_allowed": 4,
"max_allowed": 4,
"options": [
{
"item_id": 649379,
"image_key": "chipotle-chicken-avo-melt-half-bt",
"is_default": true,
"default_qty": 2,
"allergens": {
"contains": [
{
"id": "EGG",
"name": "Egg"
},
{
"id": "MILK",
"name": "Milk"
},
{
"id": "WHEAT",
"name": "Wheat"
}
],
"may_contain": [
{
"id": "MAYSESAME",
"name": "Sesame"
}
]
},
"variants": [
{
"item_id": 649379,
"variant_type": "Regular",
"price": 0
}
]
}
]
}
],
"source_url": "https://www-api.panerabread.com/www-api/public/menu/customizations/601447/version/109855/643423/0",
"fetched_at": "2026-09-02T12:00:00Z"
}
}curl "https://api.crawlora.net/api/v1/panera/item-options?cafe_id=<cafe_id>&item_id=<item_id>" \
-H "x-api-key: $CRAWLORA_API_KEY"