Endpoint Playground
Returns one Subway store's bundle and combo categories with the price ranges they advertise -- min_bundled_price (cheapest as a bundle) and a_la_carte_price (cheapest bought separately). Unlike GET /subway/menu, which is US-only, this works in other markets: confirmed against US, GB and DE stores. It is NOT an itemised menu -- the upstream route behind it carries categories and prices only, with no individual products, no nutrition panels and no allergen disclosures. Use GET /subway/menu for a full itemised menu where it is available. A store with no bundles configured returns an empty categories array, which is a valid answer rather than an error. Store IDs come from a GET /subway/store or GET /subway/nearby result's store_id field.
14 Oct 2026: 6 categories; 5 fields had a value in every checked item and 1 varied between items.
Sample value profiles: sort_order: 1 to 30, median 3; name: “Sub Meal Deal (App)” and 5 other values; min_bundled_price: 3.79 to 8.19, median 7.29.
curl 'https://api.crawlora.net/api/v1/subway/combos?store_id=50916-0' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| store_id | string | Yes | 50916-0 | Store ID from a /subway/store or /subway/nearby result's store_id |
| culture | string | No | Preferred translation culture for display names, e.g. en-US, en-GB, de-DE. Falls back to the category's default name. |
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "50916-0",
"categories": [
{
"id": "6",
"name": "Sub Meal Deal (App)",
"sort_order": 36,
"min_bundled_price": 9.99,
"a_la_carte_price": 12.97
}
],
"count": 1,
"source_url": "https://www.subway.com/api/fresh-menu/50916-0",
"fetched_at": "2026-09-06T01:15:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.