get_food_delivery_status
Swiggy Food: Live delivery ETA poller for the Food order-success widget. Returns absolute ETA epoch, poll cadence, and terminal state flags. Widget-only — use track_food_order for conversational use.
Swiggy Food: Live delivery ETA poller, designed for the Food order-success widget. Called by the widget on a fixed cadence with orderId. Returns an absolute ETA epoch (deliveryBy), server timestamp (serverNow), and terminal state flags (delivered, cancelled) so the widget knows when to stop polling.
Widget-only tool. This tool is intended for widget/UI polling loops. For conversational delivery tracking, use
track_food_orderinstead.
Eligibility gate: Gated by the FOOD_LIVE_ETA feature flag and the MCP UPI whitelist. For ineligible users the tool returns
success: truewithdata.disabled: true— the widget should stop polling.
Example
const result = await client.callTool({
name: "get_food_delivery_status",
arguments: {
orderId: "ord_01HXYZ",
},
});Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId | string | yes | Order ID to track (from place_food_order response). |
Session credentials (user identity, access token) are supplied automatically by the authenticated MCP session - you do not pass them in the tool call. See Authenticate.
Response
{
"success": true,
"data": {
"orderId": "string",
"deliveryBy": 1234567890000,
"serverNow": 1234567890000,
"pollIntervalSec": 45,
"etaText": "35-40 mins",
"cancelled": false,
"delivered": false,
"statusText": "Almost there…",
"disabled": true
}
}
deliveryBy— absolute epoch ms of the max ETA.nullif not parseable from the tracking API.serverNow— server timestamp at call time. Widget uses this to compute a live countdown.pollIntervalSec— cadence (seconds) to use for the next poll call.etaText— raw ETA string from the tracking API (e.g."35-40 mins").cancelled/delivered— terminal state flags. Widget must stop polling when either istrue.statusText— human-readable tracking title (e.g."On the way","Almost there…"). Present only during active delivery when no numeric ETA is available.disabled: true— user not eligible (flag off or not whitelisted). Widget should stop polling immediately.
On failure:
{
"success": false,
"error": { "message": "description of what went wrong" }
}
See Error codes for the full catalogue.
Details
| Field | Value |
|---|---|
| Name | get_food_delivery_status |
| MCP Server | Food |
| Endpoint | POST mcp.swiggy.com/food |
| Stage | Track |
| Behaviour | read-only |