# Menu

Fetch a Swiggy restaurant menu by ID.

- Platform: [Swiggy](https://docs.upscrape.com/docs/platforms/swiggy)
- Capability ID: `swiggy.menu`
- Cost: 1 credit per request
- Maximum runtime: 30 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "latitude": 12.9716,
    "limit": 5,
    "longitude": 77.5946,
    "restaurant_id": "5938"
  },
  "capability": "swiggy.menu"
}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `latitude` | `number` | No | Latitude of the location. |
| `limit` | `integer` | No | Maximum number of menu items. |
| `longitude` | `number` | No | Longitude of the location. |
| `restaurant_id` | `string` | Yes | Swiggy restaurant ID. |

### Example input

```json
{
  "latitude": 12.9716,
  "limit": 5,
  "longitude": 77.5946,
  "restaurant_id": "5938"
}
```

## Response

Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.

### Illustrative sample output

This redacted fixture is an example, not a fixed response schema.

```json
{
  "count": 5,
  "items": [
    {
      "addons": [
        {
          "choices": [
            {
              "id": "145594759",
              "in_stock": true,
              "is_veg": true,
              "name": "Crispy Veg Burger"
            },
            {
              "id": "145594770",
              "in_stock": true,
              "is_veg": true,
              "name": "Veg Makhani Burst Burger",
              "price": 900
            },
            {
              "id": "145594764",
              "in_stock": true,
              "is_veg": true,
              "name": "Veg Crunchy Taco",
              "price": 900
            }
          ],
          "group_id": "279926769",
          "group_name": "Choose Your Burger",
          "max_addons": 1,
          "min_addons": 1
        },
        {
          "choices": [
            {
              "id": "145594836",
              "in_stock": true,
              "is_veg": true,
              "name": "Fries(Regular)"
            },
            {
              "id": "145594834",
              "in_stock": true,
              "is_veg": true,
              "name": "Fries(M)",
              "price": 3000
            },
            {
              "id": "145594833",
              "in_stock": true,
              "is_veg": true,
              "name": "Fries(L)",
              "price": 4000
            }
          ],
          "group_id": "279926770",
          "group_name": "Choose Your Side",
          "max_addons": 1,
          "min_addons": 1
        },
        {
          "choices": [
            {
              "id": "145594812",
              "in_stock": true,
              "is_veg": true,
              "name": "Coke"
            },
            {
              "id": "147296620",
              "in_stock": true,
              "is_veg": true,
              "name": "Masala Fizz",
              "price": 1900
            },
            {
              "id": "147296616",
              "in_stock": true,
              "is_veg": true,
              "name": "Tropical Fizz",
              "price": 1900
            }
          ],
          "group_id": "279926771",
          "group_name": "Choose Your_Beverage",
          "max_addons": 1,
          "min_addons": 1
        }
      ],
      "category": "Mix'N'Match- Your Way (upto 50% OFF)",
      "default_price": 25500,
      "description": "Build Your Own Meal. Save upto 38%..",
      "final_price": 15900,
      "id": "189380929",
      "image_id": "FOOD_CATALOG/IMAGES/CMS/2025/12/15/[redacted:token].jpg_compressed",
      "image_url": "https://media-assets.swiggy.com/swiggy/image/upload/FOOD_CATALOG/IMAGES/CMS/2025/12/15/[redacted:token].jpg_compressed",
      "in_stock": true,
      "is_veg": true,
      "name": "Value Meal for 1- Make it Your Way (Veg)",
      "offer_ids": [
        "de772201-cfe9-4ac8-9657-f922c7131c68"
      ],
      "price": 25500,
      "rating": 3.8,
      "rating_count": "3 ratings",
      "source_restaurant_id": "5938"
    },
    {
      "addons": [
        {
          "choices": [
            {
              "id": "148221208",
              "in_stock": true,
              "is_veg": true,
              "name": "Cheese Slice",
              "price": 2500
            }
          ],
          "group_id": "299917420",
          "group_name": "Say Cheese",
          "max_addons": 1
        },
        {
          "choices": [
            {
              "id": "145028785",
              "in_stock": true,
              "is_veg": true,
              "name": "Grill Chicken Whopper Deluxe"
            }
          ],
          "group_id": "299917421",
          "group_name": "Selected - Grill Chicken Whopper Deluxe",
          "max_addons": 1,
          "min_addons": 1
        },
        {
          "choices": [
            {
              "id": "148767003",
              "in_stock": true,
              "is_veg": true,
              "name": "Grill Chicken Whopper Deluxe,"
            }
          ],
          "group_id": "299917422",
          "group_name": "Selected - Grill_Chicken_Whopper_Deluxe",
          "max_addons": 1,
          "min_addons": 1
        }
      ],
      "category": "New Whopper Deluxe",
      "default_price": 19900,
      "description": "Reg. Size premium glaze bun with 7 layers of taste: Flame Grill Chicken patty, fresh onion, crispy lettuce, juicy tomatoes (seasonal), tangy gherkins, creamy & smoky sauces.\nQty: 168 gms| Kcal: 327 | Carbs: 35 gms| Sugar: 1 gms| Fat: 14 gms| Saturated fat: 3 gms| Protein: 15 gms|",
      "final_price": 15900,
      "id": "175726657",
      "image_id": "FOOD_CATALOG/IMAGES/CMS/2025/7/5/[redacted:token].jpg",
      "image_url": "https://media-assets.swiggy.com/swiggy/image/upload/FOOD_CATALOG/IMAGES/CMS/2025/7/5/[redacted:token].jpg",
      "in_stock": true,
      "name": "Grill Chicken Whopper Deluxe.",
      "offer_ids": [
        "de772201-cfe9-4ac8-9657-f922c7131c68"
      ],
      "price": 19900,
      "rating": 3.3,
      "rating_count": "12 ratings",
      "source_restaurant_id": "5938",
      "variants": [
        {
          "group_id": "76738817",
          "group_name": "Customized",
          "options": [
            {
              "default": true,
              "id": "223490703",
              "name": "Burger Only"
            },
            {
              "id": "223490704",
              "name": "Reg Meal- Fries(R)+Coke (36% OFF)"
            },
            {
              "id": "223490705",
              "name": "Shake Meal- Fries(R)+Shake (29% OFF)"
            }
          ]
        }
      ]
    },
    {
      "addons": [
        {
          "choices": [
            {
              "id": "145028777",
              "in_stock": true,
              "is_veg": true,
              "name": "Cheese Whopper Deluxe"
            }
          ],
          "group_id": "299917410",
          "group_name": "Selected - Cheese Whopper Deluxe",
          "max_addons": 1,
          "min_addons": 1
        },
        {
          "choices": [
            {
              "id": "148221208",
              "in_stock": true,
              "is_veg": true,
              "name": "Cheese Slice",
              "price": 2500
            }
          ],
          "group_id": "299917409",
          "group_name": "Say Cheese",
          "max_addons": 1
        },
        {
          "choices": [
            {
              "id": "148767002",
              "in_stock": true,
              "is_veg": true,
              "name": "Cheese Whopper Deluxe,"
            }
          ],
          "group_id": "299917411",
          "group_name": "Selected - Cheese_Whopper_Deluxe",
          "max_addons": 1,
          "min_addons": 1
        }
      ],
      "category": "New Whopper Deluxe",
      "default_price": 19900,
      "description": "Reg. Size premium glaze bun with 7 layers of taste: Molten Cheese Lava patty, fresh onion, crispy lettuce, juicy tomatoes (seasonal), tangy gherkins, creamy & smoky sauces.\nQty: 230 gms| Kcal: 765 | Carbs: 35 gms| Sugar: 10 gms| Fat: 54 gms| Saturated fat: 20 gms| Protein: 35 gms|",
      "final_price": 15900,
      "id": "175726656",
      "image_id": "FOOD_CATALOG/IMAGES/CMS/2025/7/5/[redacted:token].jpg",
      "image_url": "https://media-assets.swiggy.com/swiggy/image/upload/FOOD_CATALOG/IMAGES/CMS/2025/7/5/[redacted:token].jpg",
      "in_stock": true,
      "is_veg": true,
      "name": "Cheese Whopper Deluxe.",
      "offer_ids": [
        "de772201-cfe9-4ac8-9657-f922c7131c68"
      ],
      "price": 19900,
      "rating": 3.3,
      "rating_count": "6 ratings",
      "source_restaurant_id": "5938",
      "variants": [
        {
          "group_id": "76738816",
          "group_name": "Customized",
          "options": [
            {
              "default": true,
              "id": "223490699",
              "name": "Burger Only"
            },
            {
              "id": "223490700",
              "name": "Reg Meal- Fries(R)+Coke (36% OFF)"
            },
            {
              "id": "223490701",
              "name": "Shake Meal- Fries(R)+Shake (29% OFF)"
            }
          ]
        }
      ]
    }
  ],
  "restaurant": {
    "address": "Unit no 111/4, and 8/2, Asha Gallary, Opposite to west side , Commercial Street, Bangalore-  5600001",
    "area_name": "Shivaji Nagar",
    "avg_rating": 4.2,
    "avg_rating_string": "4.2",
    "city": "Bangalore",
    "cloudinary_image_id": "RX_THUMBNAIL/IMAGES/VENDOR/2025/6/18/[redacted:token].jpg",
    "cost_for_two": "35000",
    "cost_for_two_message": "₹350 for two",
    "cuisines": [
      "Burgers",
      "American"
    ],
    "delivery_time_minutes": 33,
    "id": "5938",
    "image_url": "https://media-assets.swiggy.com/swiggy/image/upload/RX_THUMBNAIL/IMAGES/VENDOR/2025/6/18/[redacted:token].jpg",
    "is_open": true,
    "last_mile_travel_km": 2.6,
    "last_mile_travel_string": "2.6 km",
    "locality": "Tasker Town",
    "name": "Burger King",
    "offers": [
      {
        "header": "Get items under 59"
      },
      {
        "header": "99 store",
        "sub_header": "FinalPrice"
      },
      {
        "header": "70% Off | Use DELULU4FOOD",
        "sub_header": "Percentage"
      }
    ],
    "parent_id": "166",
    "restaurant_url": "https://www.swiggy.com/city/bangalore/burger-king-central-bangalore-rest5938",
    "serviceability": "SERVICEABLE",
    "sla_string": "30-35 MINS",
    "slug": "burger-king-central-bangalore",
    "source_url": "[redacted:acquisition_url]",
    "total_ratings_string": "41K+ ratings"
  },
  "source_url": "[redacted:acquisition_url]"
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `count` | `integer` | 5 |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `restaurant` | `object` | 25 fields |
| `restaurant.address` | `string` | Unit no 111/4, and 8/2, Asha Gallary, Opposite to west side , Commercia… |
| `restaurant.area_name` | `string` | Shivaji Nagar |
| `restaurant.avg_rating` | `number` | 4.2 |
| `restaurant.avg_rating_string` | `string` | 4.2 |
| `restaurant.city` | `string` | Bangalore |
| `restaurant.cloudinary_image_id` | `string` | RX_THUMBNAIL/IMAGES/VENDOR/2025/6/18/[redacted:token].jpg |
| `restaurant.cost_for_two` | `string` | 35000 |
| `restaurant.cost_for_two_message` | `string` | ₹350 for two |
| `restaurant.cuisines` | `array` | 2 items |
| `restaurant.delivery_time_minutes` | `integer` | 33 |
| `restaurant.id` | `string` | 5938 |
| `restaurant.image_url` | `string` | https://media-assets.swiggy.com/swiggy/image/upload/RX_THUMBNAIL/IMAGES… |
| `restaurant.is_open` | `boolean` | true |
| `restaurant.last_mile_travel_km` | `number` | 2.6 |
| `restaurant.last_mile_travel_string` | `string` | 2.6 km |
| `restaurant.locality` | `string` | Tasker Town |
| `restaurant.name` | `string` | Burger King |
| `restaurant.offers` | `array` | 3 items |
| `restaurant.parent_id` | `string` | 166 |
| `restaurant.restaurant_url` | `string` | https://www.swiggy.com/city/bangalore/burger-king-central-bangalore-res… |
| `restaurant.serviceability` | `string` | SERVICEABLE |
| `restaurant.sla_string` | `string` | 30-35 MINS |
| `restaurant.slug` | `string` | burger-king-central-bangalore |
| `restaurant.source_url` | `string` | [redacted:acquisition_url] |
| `restaurant.total_ratings_string` | `string` | 41K+ ratings |
| `source_url` | `string` | [redacted:acquisition_url] |

## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
