GET/kfc/delivery-estimateapiKey5 credits/request
Checks whether a KFC restaurant's delivery integration can deliver to a given address and, when it can, the estimated delivery fee (broken down by fee line item) and pickup/dropoff time. This reads the same checkout-time estimate KFC's own site calls -- it does not add an item to a cart or place an order, and takes no payment or account information. serviceable is true only when the upstream returned a real estimate; a false value with reason populated covers every other case seen live: the delivery provider not enabled at this store, the address being outside the delivery zone, or the delivery marketplace itself reporting the store temporarily inactive. order_subtotal materially affects the fee estimate (KFC's own fee schedules can vary by order size), so it is required rather than defaulted. pickup_at defaults to 30 minutes from now (an "order now" style estimate) when omitted.
Required: store_number, address1, city, state, postal_code, latitude, longitude, order_subtotal. Optional: address2, country_code, pickup_at, delivery_provider (3 allowed values: DOORDASH, MOCK_DOORDASH, INTERNAL).
Sampled 14 Oct 2026: 4 fields returned with a value. In the sample: store_number: “K750015”; serviceable: false; delivery_provider: “DOORDASH”; reason: “Marketplace store is inactive”.
Open in Playground
GET/kfc/menuapiKey3 credits/request
Returns one restaurant's full menu grouped into categories (e.g. "Deals", "Combos", "Tenders"). Every entry is a product, a bundle (a combo or family meal), or a standalone priced variant -- type tells callers which -- and carries a price in USD cents plus a decimal dollar value, and an image when the upstream publishes one. Prices reflect this specific restaurant and order channel, not a national default. channel selects which order channel the menu is priced for (web ordering by default); prices can genuinely differ by channel (e.g. a delivery-marketplace channel vs. web).
Required: store_number. Optional: channel (12 allowed values: WEB, MOBILE, POS, KIOSK, DOORDASH, UBEREATS, GRUBHUB, IOS, ANDROID, DELIVEROO, JUST_EAT, CALL_CENTER).
Sampled 14 Oct 2026: 11 items. Filled in every item: category_code, name, description, items. In the sample: name: “Deals” and 10 other values; items: median 5 entries; description: “Deals” and 10 other values.
Open in Playground
GET/kfc/nearbyapiKey3 credits/request
Returns KFC restaurants near a latitude/longitude, nearest first. A coordinate with no nearby KFC returns an empty list rather than an error. Each restaurant carries its store number, full address with coordinates, phone, whether it currently accepts online orders, its timezone, and its distance from the search point in miles. occasion restricts results to restaurants that offer a given order channel (e.g. only drive-thru locations).
Required: latitude, longitude. Optional: radius_miles, occasion (5 allowed values: DELIVERY, CARRYOUT, DINE_IN, DRIVE_THRU, CATERING_CARRYOUT), max_results.
Sampled 14 Oct 2026: 15 items. Filled in every item: store_number, name, address, accepting_online_orders, archived, timezone, distance_miles. In the sample: distance_miles: 1.41 to 9.24, median 6.97; store_number: “Y052023” and 14 other values; accepting_online_orders: true in 13 of 15; name: “KFC 1911 W Broadway St” and 14 other values; archived: true in 0 of 15.
Open in Playground
GET/kfc/promotionapiKey3 credits/request
Returns one promotion by its redemption code (the code a customer types in at checkout) or its serialized code (a unique per-print QR/serial code, e.g. from a printed coupon, that resolves to a shared redemption code and its promotion). Exactly one of code or serialized_code is required. A serialized-code lookup additionally returns that code's own usage metadata (redemption_code, times_used, code_status, group_status, effective_date, expiration_date) alongside the promotion. An unknown or expired code returns a 404 rather than a null success payload.
Optional: code, serialized_code.
Sampled 14 Oct 2026: 5 fields returned with a value. In the sample: name: “Digital - 2026_Q4_1101_Partnership_Buy Two $25 gift cards a…”; automatic: false; description: “$5 off”.
Open in Playground
GET/kfc/promotionsapiKey3 credits/request
Returns one restaurant's current public promotions -- current deals and offers KFC's storefront marks as public, with each promotion's id, internal and display name, description, whether it applies automatically, and active redemption codes when KFC exposes them. The returned codes can be passed to kfc-promotion. A store with no active public promotions returns an empty list rather than an error.
Required: store_number.
Sampled 14 Oct 2026: 15 items. Filled in every item: promotion_id, name, display_name, description, automatic, redemption_codes. In the sample: name: “Digital - 2026_Q4_1101_Partnership_Buy Two $25 gift cards a…” and 14 other values; automatic: true in 0 of 15; redemption_codes: median 1 entry; description: “$5 off” and 14 other values.
Open in Playground
GET/kfc/storeapiKey3 credits/request
Returns one KFC restaurant's detail by its exact store number, from /kfc/stores or /kfc/nearby, including its recurring open hours per order channel (carryout, delivery, dine-in, drive-thru, catering carryout). A channel this restaurant does not offer at all is omitted from hours rather than reported as always-closed.
Required: store_number.
Sampled 14 Oct 2026: 2 items. Filled in every item: occasion, enabled, windows. In the sample: occasion: “CARRYOUT” and 1 other value; enabled: true in 2 of 2; windows: median 1 entry.
Open in Playground
GET/kfc/storesapiKey3 credits/request
Returns KFC restaurants matching a city/state/postal code/name/franchise code/store number filter. At least one filter is required -- an unfiltered call would enumerate every US restaurant in one response, which this endpoint intentionally does not expose. Each restaurant carries its store number (the value /kfc/menu and /kfc/promotions take), full address with coordinates, phone, whether it currently accepts online orders, and its timezone. appear_in_store_results (default true) excludes internal/test records KFC's own storefront does not surface in customer-facing search -- a raw filter can otherwise return non-orderable administrative entries alongside real restaurants.
Optional: store_number, city, state, postal_code, name, franchise_code, appear_in_store_results, sort (6 allowed values: store_number_asc, store_number_desc, name_asc, name_desc, franchise_code_asc, franchise_code_desc), max_results.
Sampled 14 Oct 2026: 12 items. Filled in every item: store_number, name, address, accepting_online_orders, archived, timezone. In the sample: store_number: “I824001” and 11 other values; accepting_online_orders: true in 10 of 12; name: “KFC 600 Terminal Drive” and 11 other values; archived: true in 0 of 12.
Open in Playground