---
title: "Check KFC delivery serviceability and estimated fee for one store and address"
method: GET
path: "/kfc/delivery-estimate"
tags: ["KFC"]
---

# Check KFC delivery serviceability and estimated fee for one store and address

`GET /kfc/delivery-estimate`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/kfc/delivery-estimate`
- Auth: API key in header `x-api-key`

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.

## Query parameters

- `store_number` string, required
- `address1` string, required
- `address2` string
- `city` string, required
- `state` string, required
- `postal_code` string, required
- `country_code` string
- `latitude` number, required
- `longitude` number, required
- `order_subtotal` number, required
- `pickup_at` string
- `delivery_provider` 'DOORDASH' | 'MOCK_DOORDASH' | 'INTERNAL'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- KfcDeliveryEstimateResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` KfcDeliveryEstimateResponse
    - `delivery_provider` string
    - `dropoff_at` string
    - `fee` KfcMoney
      - `amount` number
      - `amount_cents` integer
      - `currency_code` string
    - `fees` KfcDeliveryFeeLine[]
      - `amount` KfcMoney
        - `amount` number
        - `amount_cents` integer
        - `currency_code` string
      - `name` string
      - `type` string
    - `fetched_at` string
    - `pickup_at` string
    - `reason` string
    - `serviceable` boolean: Serviceable is true only when the upstream returned a real estimate. A false value with Reason populated covers every other case this family has seen live: the provider not enabled at this store, the address being outside the delivery zone, or the upstream delivery marketplace itself reporting the store inactive -- KFC's schema represents all of these as distinct typed results, not one boolean.
    - `source_url` string
    - `store_number` string
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
