Swiggy Menu API
A restaurant's full menu from its ID or Swiggy link: items, prices, categories, veg marks, stock, add-ons and variant prices, plus the restaurant's details.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy.menu
{ "count": 10, "restaurant": { "name": "Andhra Gunpowder", "city": "Bangalore", "address": "No 778, 22nd Cross, 22nd Main, Club Road, Sector 2, HSR Layout, Bengaluru", "area_name": "HSR Layout", "avg_rating": 4.3, "avg_rating_string": "4.3", "cost_for_two": 35000, "cost_for_two_message": "₹350 for two", "delivery_time_minutes": 33, "id": "279024", "is_open": true, "last_mile_travel_km": 0.6, "last_mile_travel_string": "0.6 km", "latitude": 12.9087234260516, "locality": "Sector 2", "longitude": 77.646890413675, "next_close_time": "2026-10-12 23:00:00", "parent_id": "10496", "postal_code": "560102", "restaurant_url": "https://www.swiggy.com/city/bangalore/andhra-gunpowder-hsr-hsr-2-rest279024", "serviceability": "SERVICEABLE", "sla_string": "30-35 MINS", "slug": "andhra-gunpowder-hsr-hsr-2", "state": "Karnataka", "total_ratings": 9700, "total_ratings_string": "9.7K+ ratings", "cuisines": [ "Andhra", "Biryani" ], "offers": [ { "header": "freedel", "sub_header": "FREE_DELIVERY" }, { "header": "freedel", "sub_header": "FREE_DELIVERY" } ], "opening_hours": [ { "day": "Monday", "hours": "11.00AM - 11.00PM" }, { "day": "Tuesday", "hours": "11.00AM - 11.00PM" } ] }, "items": [ { "name": "Veg Family Bucket Biryani", "price": 74900, "rating": 4, "category": "Biryani Family Pack (Save upto Rs 150/-)", "description": "Serves 3 | Layers of aromatic Rice and Vegetables cooked with our biryani masala in a dum. Served with Mirchi ka Salan and creamy raita.", "id": "138222613", "in_stock": true, "is_veg": true, "rating_count": "1 rating", "source_restaurant_id": "279024", "veg_classifier": "VEG", "addons": [ { "group_id": "146925729", "group_name": "Meal Boosters", "max_addons": 2, "max_free_addons": -1, "choices": [ { "name": "Extra Raita", "price": 2900, "id": "43299024", "in_stock": true, "is_enabled": true, "is_veg": true }, { "name": "Extra Boiled Egg - 2 nos", "price": 4900, "id": "111372923", "is_enabled": true } ] }, { "group_id": "146925730", "group_name": "Savoury Sides", "max_addons": 4, "max_free_addons": -1, "choices": [ { "name": "Hara Bhara Kebab (Full)", "price": 12900, "id": "115258793", "in_stock": true, "is_enabled": true, "is_veg": true }, { "name": "Chicken wings Kebab (Full)", "price": 24900, "id": "111372921", "in_stock": true, "is_enabled": true } ] } ] }, { "name": "Paneer Makhani Family Bucket Biryani", "price": 89900, "rating": 5, "category": "Biryani Family Pack (Save upto Rs 150/-)", "description": "Serves 3 | Paneer Tikka cooked in a silky makhani gravy layered on Dum biryani rice. Served with raita and salan.", "id": "78315558", "in_stock": true, "is_veg": true, "rating_count": "4 ratings", "source_restaurant_id": "279024", "veg_classifier": "VEG", "addons": [ { "group_id": "139159188", "group_name": "Meal Boosters", "max_addons": 2, "max_free_addons": -1, "choices": [ { "name": "Extra Raita", "price": 2900, "id": "43299024", "in_stock": true, "is_enabled": true, "is_veg": true }, { "name": "Extra Boiled Egg - 2 nos", "price": 4900, "id": "111372923", "is_enabled": true } ] }, { "group_id": "139159190", "group_name": "Savoury Sides", "max_addons": 4, "max_free_addons": -1, "choices": [ { "name": "Hara Bhara Kebab (Full)", "price": 12900, "id": "115258793", "in_stock": true, "is_enabled": true, "is_veg": true }, { "name": "Chicken wings Kebab (Full)", "price": 24900, "id": "111372921", "in_stock": true, "is_enabled": true } ] } ] } ]}
| # | Item | Price (paise) | Category | Veg | In stock | Rating | Description | Rating count | Veg classifier | Id |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Veg Family Bucket Biryani | 74,900 | Biryani Family Pack (Save upto Rs 150/-) | true | true | 4 | Serves 3 | Layers of aromatic Rice and Vegetables cooked with o… | 1 rating | VEG | 138222613 |
| 2 | Paneer Makhani Family Bucket Biryani | 89,900 | Biryani Family Pack (Save upto Rs 150/-) | true | true | 5 | Serves 3 | Paneer Tikka cooked in a silky makhani gravy layered… | 4 ratings | VEG | 78315558 |
| 3 | Hyderabadi Chicken Dum Family Bucket Biryani | 99,900 | Biryani Family Pack (Save upto Rs 150/-) | false | true | 4 | Serves 3 | Slow-cooked long grained rice layered in chicken mas… | 2 ratings | NONVEG | 78315554 |
| 4 | Special Boneless Chicken Dum Family Bucket Biryani | 84,900 | Biryani Family Pack (Save upto Rs 150/-) | false | true | 4 | Serves 3 | Our biryani is slow-cooked on a charcoal dum, in lay… | 2 ratings | NONVEG | 112360602 |
| 5 | Curd Rice Dal Khichdi | 24,900 | Lite And Wholesome | true | true | 4.5 | Serves 1 | Fresh curd rice is mixed into our khichdi for a prot… | 30 ratings | VEG | 134217033 |
| 6 | Andhra Veg Meals (For 2) | 59,900 | Authentic Andhra Meals | true | true | 4.3 | Serves 2 | Steamed Rice, Pappu, Veggie Sambar, Tomato Pepper Ra… | 575 ratings | VEG | 54769110 |
| 7 | Andhra Veg Carrier Meals (For 3-4) | 78,900 | Authentic Andhra Meals | true | true | 4.2 | Serves 3 | Steamed Rice, Pappu, Veggie Sambar, Tomato Pepper Ra… | 233 ratings | VEG | 54769124 |
| 8 | Andhra Non-veg Meals (For 1) | 39,900 | Authentic Andhra Meals | false | true | 4.1 | Serves 1 | Steamed Rice, Pappu, Andhra Chicken Curry, Guntur Ch… | 740 ratings | NONVEG | 54769142 |
| 9 | Andhra Non-Veg Carrier Meals (for 3-4) | 94,900 | Authentic Andhra Meals | false | true | 4.2 | Serves 3 | "Steamed Rice, Pappu, Andhra Chicken Curry, Guntur C… | 59 ratings | NONVEG | 54769151 |
| 10 | Paneer Bagara Hyderabadi Pulav Meal | 29,900 | Bagara Pulav Meals | true | true | 4 | Serves 1 | Bagara rice with a paneer twist cooked in spicy Andh… | 1 rating | VEG | 153209737 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| latitude | number | one of | Latitude of the delivery location the menu is checked for. | 12.9121181 |
| longitude | number | one of | Longitude of the delivery location. | 77.6445548 |
| limit | integer | no | The most menu items to return. | 10 |
| restaurant_id | string | no | The restaurant's Swiggy ID, as text. It is the number at the end of the restaurant's link. | 279024 |
| restaurant_url | string | no | The restaurant's Swiggy link, as an alternative to the ID. If you send both, they must match. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| items[].name | string | The name of the restaurant or dish. | Veg Family Bucket Biryani |
| items[].price | integer | The price, in paise. | 74,900 |
| items[].category | string | The menu section the dish is in. | Biryani Family Pack (Save upto Rs 150/-) |
| items[].is_veg | boolean | Whether the dish is vegetarian. | true |
| items[].in_stock | boolean | Whether the dish can be ordered now. | true |
| items[].rating | integer | The average rating, out of 5. | 4 |
| items[].addons | array | The add-ons in the group. | 4 records |
| items[].addons[].choices | array | 2 records | |
| items[].addons[].group_id | string | 146925729 | |
| items[].addons[].group_name | string | Meal Boosters | |
| items[].addons[].max_addons | integer | 2 | |
| items[].addons[].max_free_addons | integer | -1 | |
| items[].description | string | The dish's description. | Serves 3 | Layers of aromatic Rice and Vegetables cooked with o… |
| items[].id | string | 138222613 | |
| items[].rating_count | string | How many ratings the dish has, as Swiggy shows it. | 1 rating |
| items[].source_restaurant_id | string | Swiggy's ID for the restaurant the item belongs to. | 279024 |
| items[].veg_classifier | string | Whether the dish is veg or non-veg, as Swiggy marks it. | VEG |
| count | integer | How many results this response holds. | 10 |
| items | array | The results. | 10 records |
| restaurant | object | The restaurant's details. | 29 fields |
| restaurant.address | string | The restaurant's address. | No 778, 22nd Cross, 22nd Main, Club Road, Sector 2, HSR Layout,… |
| restaurant.area_name | string | The area of the restaurant. | HSR Layout |
| restaurant.avg_rating | number | The average rating, out of 5. | 4.3 |
| restaurant.avg_rating_string | string | The rating as Swiggy shows it. | 4.3 |
| restaurant.city | string | The restaurant's city. | Bangalore |
| restaurant.cost_for_two | integer | The price guide for two, in paise. | 35,000 |
| restaurant.cost_for_two_message | string | Swiggy's price guide for two people. | ₹350 for two |
| restaurant.cuisines | array | The restaurant's cuisines. | Andhra, Biryani |
| restaurant.delivery_time_minutes | integer | Swiggy's delivery time estimate, in minutes. | 33 |
| restaurant.id | string | 279024 | |
| restaurant.is_open | boolean | Whether the restaurant is open now. | true |
| restaurant.last_mile_travel_km | number | Distance from the restaurant to you, in kilometres. | 0.6 |
| restaurant.last_mile_travel_string | string | That distance as Swiggy shows it. | 0.6 km |
| restaurant.latitude | number | Latitude. | 12.91 |
| restaurant.locality | string | The restaurant's locality. | Sector 2 |
| restaurant.longitude | number | Longitude. | 77.65 |
| restaurant.name | string | The name of the restaurant or dish. | Andhra Gunpowder |
| restaurant.next_close_time | string | When the restaurant closes next. | 2026-10-12 23:00:00 |
| restaurant.offers | array | The restaurant's offers. | 2 records |
| restaurant.offers[].header | string | freedel | |
| restaurant.offers[].sub_header | string | FREE_DELIVERY | |
| restaurant.opening_hours | array | The restaurant's opening hours. | 7 records |
| restaurant.opening_hours[].day | string | Monday | |
| restaurant.opening_hours[].hours | string | 11.00AM - 11.00PM | |
| restaurant.parent_id | string | 10496 | |
| restaurant.postal_code | string | The restaurant's PIN code. | 560102 |
| restaurant.restaurant_url | string | The restaurant's page on Swiggy. | https://www.swiggy.com/city/bangalore/andhra-gunpowder-hsr-hsr-… |
| restaurant.serviceability | string | Whether the restaurant delivers to your location. | SERVICEABLE |
| restaurant.sla_string | string | Swiggy's delivery time estimate. | 30-35 MINS |
| restaurant.slug | string | The name in the restaurant's address. | andhra-gunpowder-hsr-hsr-2 |
| restaurant.state | string | The restaurant's state. | Karnataka |
| restaurant.total_ratings | integer | How many ratings the restaurant has. | 9700 |
| restaurant.total_ratings_string | string | How many ratings, as Swiggy rounds it. | 9.7K+ ratings |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "swiggy.menu", "input": { "latitude": 12.9121181, "limit": 10, "longitude": 77.6445548, "restaurant_id": "279024" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy.menu", "input": { "latitude": 12.9121181, "limit": 10, "longitude": 77.6445548, "restaurant_id": "279024" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "swiggy.menu", "input": { "latitude": 12.9121181, "limit": 10, "longitude": 77.6445548, "restaurant_id": "279024" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, get the Swiggy menu of Andhra Gunpowder in HSR Layout (restaurant 279024). List each dish with its price in rupees and say which are vegetarian.
More from the Swiggy API
- Swiggy All Restaurants API1 credit
- Swiggy Area Restaurants API1 credit
- Swiggy Menu Items API1 credit
- Swiggy List API1 credit
- Swiggy Ads API1 credit
- Swiggy Categories API1 credit
- Swiggy Area Menu Items Grid API1 credit
- Swiggy Area Menu Items API1 credit
- Swiggy Restaurants API1 credit
- Swiggy Dishes Search API1 credit
- Swiggy Restaurants Search API1 credit
The same data from other platforms
Swiggy Menu API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Menu API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send latitude or longitude. The input fields below list every option with its type and limits.
Do I need a Swiggy login?
No. It reads public Swiggy data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds swiggy.menu, checks its price and runs it with the same credits as the REST API.
Your first Swiggy call is free.
Up to 100 free credits to start, no card needed.