GET/mcdonalds/categoriesapiKey1 credit/request
Returns one market's McDonald's menu categories -- 13 in the United States at time of writing, including breakfast, burgers, chicken-and-fish-sandwiches, mcnuggets-and-mccrispy-strips, snack-wrap, fries-sides, happy-meal, sweets-treats, mccafe-coffees, drinks, sauces-and-condiments and the two value menus; other markets publish their own, from 6 in Switzerland to 17 in Australia. Each entry's slug is the value GET /mcdonalds/menu takes. Slugs are not portable between markets, so pass the same country back. Eight markets publish a reachable menu, fewer than the ten the restaurant locator covers.
Optional: country (8 allowed values: us, ca, gb, au, ie, nz, ch, se).
Sampled 14 Oct 2026: 17 items. Filled in every item: slug, name, url. In the sample: name: “World Menu Heist” and 16 other values; url: mcdonalds.com.
Open in Playground
GET/mcdonalds/item-listapiKey1 credit/request
Returns the same published nutrition detail as GET /mcdonalds/item for up to 20 items in one call, plus the per-component ingredient and allergen breakdown that the single-item endpoint does not expose -- a composite item's overall allergen statement is the union of its parts' (a burger's bun, patty, cheese and condiment each carry their own ingredient statement and allergens), so this is the source to use when the full breakdown matters, not just the item-level summary. Item ids come from GET /mcdonalds/menu and are market-specific, so pass the same country back. The response echoes the requested ids so a caller can tell which ones McDonald's returned nothing for.
Required: item_ids. Optional: country (7 allowed values: us, ca, au, ie, nz, ch, se).
Sampled 14 Oct 2026: 2 items. Filled in every item: item_id, name, description, nutrients, allergens, ingredients, components, image_url. In the sample: name: “Big Mac” and 1 other value; image_url: s7d1.scene7.com; description: median 857 characters; nutrients: median 21 entries; allergens: “Wheat, Sesame., Beef Patty Ingredients: 100% Pure Usda Insp…” and 1 other value; ingredients: median 819 characters; components: median 7 entries.
Open in Playground
GET/mcdonalds/itemapiKey1 credit/request
Returns one McDonald's item's published nutrition detail: the full per-serving nutrient list (calories, protein, carbohydrates, total and saturated fat, trans fat, cholesterol, sodium, fibre, sugars, vitamins and minerals -- 21 values for a Big Mac), each with a stable machine key, a unit and a percent-daily-value where McDonald's prints one; plus the item's marketing description, allergen statement, full ingredient statement and image. Item ids come from GET /mcdonalds/menu and are market-specific, so pass the same country back. Seven markets serve this endpoint, fewer than the eight publishing a menu -- Great Britain has a menu but no nutrition surface. Combo meals legitimately carry no nutrient list. Prices are not available on this surface.
Required: item_id. Optional: country (7 allowed values: us, ca, au, ie, nz, ch, se).
Sampled 14 Oct 2026: 21 items. Filled in every item: name, key, value, unit. Not in every item: daily_value (14). In the sample: unit: grams (9), milligrams (8), Cal. (2) and 2 more; value: 0 to 2,430, median 11; name: “Calories” and 20 other values; daily_value: 0 to 56, median 10.
Open in Playground
GET/mcdonalds/menuapiKey1 credit/request
Returns the items in one McDonald's menu category: each item's numeric id, name, product page URL and image. The item id is what GET /mcdonalds/item takes for full nutrition. Category slugs come from GET /mcdonalds/categories and must be paired with the country they came from -- both slugs and item ids are market-specific. Prices are not available; McDonald's does not publish them on this surface. A calorie label is included per item where the category page prints one, which is often blank.
Required: category. Optional: country (8 allowed values: us, ca, gb, au, ie, nz, ch, se).
Sampled 14 Oct 2026: 32 items. Filled in every item: item_id, name, product_url, image_url. In the sample: name: “Bacon, Egg & Cheese Biscuit” and 31 other values; product_url: mcdonalds.com; image_url: s7d1.scene7.com.
Open in Playground
GET/mcdonalds/restaurant-menuapiKey1 credit/request
Returns one restaurant's full menu with real prices: item name, image and independently-priced eat-in, pickup and delivery listings, since a McDonald's restaurant genuinely sells a different catalog (and different prices) per channel -- delivery is typically marked up over eat-in/pickup, and some items are channel-exclusive. Where McDonald's publishes a curated substitute or add-on list for an item (a meal's drink upgrade, a dip-able item's sauce choices), each real alternative is included with its own eat-in/pickup price delta -- plain entree or side substitution is not covered, since McDonald's does not publish a curated candidate list for it. This is the only endpoint in this family that publishes prices; every other McDonald's endpoint's source never does. US restaurants only. The store id comes from GET /mcdonalds/restaurants' store_id field.
Required: store_id.
Sampled 14 Oct 2026: 599 items. Not in every item: item_id (500), name (500), family_group (500), image_url (465), eat_in_price (496), pickup_price (496), delivery_price (481), choices (80). In the sample: eat_in_price: 0 to 43.99, median 3.39; name: “Hamburger” and 351 other values; image_url: s7d1.scene7.com; choices: median 1 entry; family_group: “REGULAR_ENTREE” and 8 other values; pickup_price: 0 to 43.99, median 3.39; delivery_price: 0 to 53.19, median 4.79.
Open in Playground
GET/mcdonalds/restaurantsapiKey1 credit/request
Returns McDonald's restaurants near a latitude/longitude, in any of ten markets. Each restaurant carries its store id, name, street address, city, state, postal code, phone, coordinates, timezone, open status, today's dining and drive-thru hours, the full published week of hours, and McDonald's own amenity codes (for example DRIVETHRU, WIFI, MOBILEOFFERS, GIFTCARDS). A delivery deep link is included where McDonald's publishes one; note it points at a third-party delivery platform. A coordinate with no McDonald's nearby returns an empty list rather than an error. Set country to search outside the United States -- the locator covers more markets than the menu and item endpoints do, so a country valid here is not necessarily valid there.
Required: latitude, longitude. Optional: radius, max_results, country (10 allowed values: us, gb, ca, au, de, ie, nz, ch, nl, se).
Sampled 14 Oct 2026: 10 items. Filled in every item: store_id, name, address, city, postal_code, telephone, latitude, longitude and 6 more. In the sample: city: WESTMINSTER (7), CITY OF WESTMINSTER (1), LAMBETH (1) and 1 more; name: “STRAND” and 9 other values; delivery_url: ubereats.com; hours: median 7 entries; telephone: “020 7930 7530” and 9 other values; today_hours: “05:00 - 05:00” and 6 other values; facilities: median 13 entries.
Open in Playground