GET/shakeshack/locationsapiKey2 credits/request
Returns one page of Shake Shack's store index, parsed off the single, fully server-rendered /locations page. That page carries two independent sections: an interactive map (coordinates, no structured address) and an accessible "Full List of Locations" text index (structured address, no coordinates). Each entry's source field says which section it came from -- "map" or "list" -- not a business classification; both round-trip through GET /shakeshack/store by path, which always returns full structured address and coordinates regardless of source.
Optional: page, page_size.
Sampled 14 Oct 2026: 40 items. Filled in every item: name, path, latitude, longitude, source. In the sample: name: “14th Street Logan Circle Kiosk (X)” and 39 other values; path: “node/51711” and 39 other values.
Open in Playground
GET/shakeshack/menuapiKey1 credit/request
Returns one Shake Shack location's full menu as a category tree: every category and its products, with name, description, base calories, allergens, a promotional/dietary badge when published (e.g. "LIMITED TIME ONLY", "VEGETARIAN"), image, and a full customization tree (size, additions, removals, allergen flags), each choice carrying its own price and calorie delta. location_id comes from GET /shakeshack/nearby. Many items, most notably burgers, price entirely through a required size selection rather than a base price, so price is commonly 0 for those items -- the real price lives on the size modifier's own choices.
Required: location_id.
Sampled 14 Oct 2026: 12 items. Filled in every item: name. Not in every item: products (11). In the sample: name: “Limited Time Only” and 11 other values; products: median 8 entries.
Open in Playground
GET/shakeshack/nearbyapiKey2 credits/request
Returns Shake Shack locations within a radius of a coordinate, nearest first, using Shake Shack's own Olo-backed ordering API (a separate source from GET /shakeshack/locations, which reads the main site's store directory instead). Each result carries location_id, real-time weekly hours, which fulfillment modes are currently enabled (dine-in, pickup, delivery, curbside, drive-thru, walk-up, drive-up), and Shake Shack's own delivery fee schedule. Pass location_id to GET /shakeshack/menu for that location's full menu.
Required: latitude, longitude. Optional: radius, limit.
Sampled 14 Oct 2026: 10 items. Filled in every item: location_id, name, address, phone_number, latitude, longitude, distance_miles, timezone and 3 more. Not in every item: delivery_fees (8). In the sample: distance_miles: 0.19 to 0.75, median 0.49; name: “Theater District” and 9 other values; is_online_ordering_available: true in 9 of 10; hours: median 7 entries; fulfillment_modes: median 2 entries; delivery_fees: median 3 entries.
Open in Playground
GET/shakeshack/storeapiKey1 credit/request
Returns one Shake Shack store: postal address, coordinates, phone (when published), a Monday-first week of opening hours (omitted for a location that publishes no schedule, seen on venue/kiosk-shaped locations such as inside a stadium), and the order types Shake Shack publishes for it, e.g. "Dine In", "Delivery". Store paths come from GET /shakeshack/locations, either the aliased "location/<slug>" form or the legacy "node/<id>" form -- both resolve to the same record, and the response's own path field always reports the canonical alias. A path with neither shape, or one that does not resolve to a real store page, returns a 404.
Required: path.
Sampled 14 Oct 2026: 7 items. Filled in every item: day_of_week, closed, opens, closes. In the sample: closes: 23:00 (5), 00:00 (2); day_of_week: “Monday” and 6 other values; closed: true in 0 of 7.
Open in Playground