Swiggy Area Menu Items Grid API
Menu items from every restaurant across an area, in one list: dish, price and the restaurant that sells it.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy.area.menu_items
{ "summary": { "cells": 1, "crawl_id": "050786af-f034-4ef9-bbf6-0a6ef9baed94", "has_more": true, "total_items": 10 }, "items": [ { "name": "The OG Veggie Burger", "rating": 4.5, "addon_group_count": 1, "addon_group_names_text": "Select Your Pickle", "category": "Korean Burgers", "cell_id": "cell-0001", "cell_latitude": 12.903109, "cell_longitude": 77.635312, "cell_rank": 1, "crawl_id": "050786af-f034-4ef9-bbf6-0a6ef9baed94", "default_price_minor": 28900, "description": "The Golden Fried Veg Patty Topped with our in house burger sauce, onions, Lettuce and freshly baked bun. We do not add Tomatoes in our burg…", "final_price_minor": 15800, "in_stock": true, "is_veg": true, "item_id": "149623609", "offer_ids_text": "ced9fdd2-3b85-4772-a459-1a9f2a3eb833", "rating_count": "25 ratings", "restaurant_area_name": "HSR Layout", "restaurant_city": "Bangalore", "restaurant_cuisines_text": "Bubble Tea, Burger", "restaurant_id": "819617", "restaurant_locality": "5TH SECTOR", "restaurant_name": "Boba Bhai - Bubble Tea & Korean Street Food", "restaurant_rating": 4.2, "restaurant_rating_text": "4.2", "restaurant_url": "https://www.swiggy.com/city/bangalore/boba-bhai-5th-sector-hsr-rest819617", "variant_group_count": 1, "variant_group_names_text": "Choice of Cheese", "addon_group_names": [ "Select Your Pickle" ], "offer_ids": [ "ced9fdd2-3b85-4772-a459-1a9f2a3eb833" ], "restaurant_cuisines": [ "Bubble Tea", "Burger" ], "variant_group_names": [ "Choice of Cheese" ] }, { "name": "Crispy Chicken Burger (VR)", "rating": 4.7, "addon_group_count": 1, "addon_group_names_text": "Select Your Pickle", "category": "Korean Burgers", "cell_id": "cell-0001", "cell_latitude": 12.903109, "cell_longitude": 77.635312, "cell_rank": 1, "crawl_id": "050786af-f034-4ef9-bbf6-0a6ef9baed94", "default_price_minor": 28900, "description": "Minced Chicken Patty fried to perfection topped with House Mayo, Lettuce and Tangy Chipotle Sauce on Fresh warm bun.", "final_price_minor": 15800, "in_stock": true, "item_id": "149623583", "offer_ids_text": "ced9fdd2-3b85-4772-a459-1a9f2a3eb833", "rating_count": "19 ratings", "restaurant_area_name": "HSR Layout", "restaurant_city": "Bangalore", "restaurant_cuisines_text": "Bubble Tea, Burger", "restaurant_id": "819617", "restaurant_locality": "5TH SECTOR", "restaurant_name": "Boba Bhai - Bubble Tea & Korean Street Food", "restaurant_rating": 4.2, "restaurant_rating_text": "4.2", "restaurant_url": "https://www.swiggy.com/city/bangalore/boba-bhai-5th-sector-hsr-rest819617", "variant_group_count": 1, "variant_group_names_text": "Choice of Cheese", "addon_group_names": [ "Select Your Pickle" ], "offer_ids": [ "ced9fdd2-3b85-4772-a459-1a9f2a3eb833" ], "restaurant_cuisines": [ "Bubble Tea", "Burger" ], "variant_group_names": [ "Choice of Cheese" ] } ]}
| # | Name | Rating | Addon group count | Addon group names text | Category | Cell latitude | Cell longitude | Cell rank | Default price minor | Description |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | The OG Veggie Burger | 4.5 | 1 | Select Your Pickle | Korean Burgers | 12.9 | 77.64 | 1 | 28,900 | The Golden Fried Veg Patty Topped with our in house burger sauc… |
| 2 | Crispy Chicken Burger (VR) | 4.7 | 1 | Select Your Pickle | Korean Burgers | 12.9 | 77.64 | 1 | 28,900 | Minced Chicken Patty fried to perfection topped with House Mayo… |
| 3 | Crispy Cheese Rings | 1 | Choice of Dip | New & Trending | 12.9 | 77.64 | 1 | Crispy golden rings coated with a crunchy breadcrumb crust and … |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| center_latitude | number | no | Center latitude for radius mode. | 12.9121181 |
| center_longitude | number | no | Center longitude for radius mode. | 77.6445548 |
| city | string | no | City name. | |
| concurrency | integer | no | Number of concurrent requests. | |
| continue_on_menu_failures | boolean | no | Continue if a menu fetch fails. | true |
| max_cells | integer | no | Maximum grid cells to crawl. | 1 |
| max_latitude | number | no | Maximum latitude of bounding box. | |
| max_longitude | number | no | Maximum longitude of bounding box. | |
| max_pages_per_cell | integer | no | Kept for compatibility. Swiggy serves one listing page per location, so one page is fetched per cell; a larger value is applied as 1 and noted in summary.warnings. | 1 |
| max_restaurants | integer | no | Maximum restaurants to return. | 2 |
| menu_item_limit | integer | no | Maximum menu items per restaurant. | 5 |
| min_latitude | number | no | Minimum latitude of bounding box. | |
| min_longitude | number | no | Minimum longitude of bounding box. | |
| page_limit | integer | no | Requested source page size. Swiggy returns its whole first listing page (about 26 restaurants) whatever this asks for; use max_restaurants to cap results. | 10 |
| radius_km | number | no | Radius in kilometers. | 1 |
| step_km | number | no | Grid step size in kilometers. | 1 |
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. | The OG Veggie Burger |
| items[].rating | number | The average rating, out of 5. | 4.5 |
| items[].addon_group_names_text | string | The add-on choices as one line. | Select Your Pickle |
| items[].restaurant_cuisines | array | The restaurant's cuisines. | Bubble Tea, Burger |
| items[].cell_latitude | number | The grid cell's latitude. | 12.9 |
| items[].cell_rank | integer | The place within that grid cell. | 1 |
| items[].offer_ids_text | string | The offer IDs as one line. | ced9fdd2-3b85-4772-a459-1a9f2a3eb833 |
| items[].variant_group_names | array | The variant choices, such as size. | Choice of Cheese |
| items[].addon_group_count | integer | How many add-on choices the dish has. | 1 |
| items[].crawl_id | string | 050786af-f034-4ef9-bbf6-0a6ef9baed94 | |
| items[].restaurant_area_name | string | The area of the restaurant. | HSR Layout |
| items[].is_veg | boolean | Whether the dish is vegetarian. | true |
| items[].cell_longitude | number | The grid cell's longitude. | 77.64 |
| items[].restaurant_url | string | The restaurant's page on Swiggy. | https://www.swiggy.com/city/bangalore/boba-bhai-5th-sector-hsr-… |
| items[].offer_ids | array | Swiggy's IDs for the offers on the dish. | ced9fdd2-3b85-4772-a459-1a9f2a3eb833 |
| items[].restaurant_id | string | Swiggy's ID for the restaurant, used by the menu endpoint. | 819617 |
| items[].cell_id | string | The grid cell the area search used. | cell-0001 |
| items[].description | string | The dish's description. | The Golden Fried Veg Patty Topped with our in house burger sauc… |
| items[].default_price_minor | integer | The dish's price before offers, in paise. | 28,900 |
| items[].restaurant_name | string | The restaurant's name. | Boba Bhai - Bubble Tea & Korean Street Food |
| items[].in_stock | boolean | Whether the dish can be ordered now. | true |
| items[].item_id | string | Swiggy's ID for the dish. | 149623609 |
| items[].final_price_minor | integer | The dish's price after offers, in paise. | 15,800 |
| items[].restaurant_rating | number | The restaurant's average rating. | 4.2 |
| items[].addon_group_names | array | The add-on choices offered with the dish. | Select Your Pickle |
| items[].rating_count | string | How many ratings the dish has, as Swiggy shows it. | 25 ratings |
| items[].restaurant_rating_text | string | The restaurant's rating as Swiggy shows it. | 4.2 |
| items[].restaurant_cuisines_text | string | The restaurant's cuisines as one line. | Bubble Tea, Burger |
| items[].restaurant_city | string | The restaurant's city. | Bangalore |
| items[].category | string | The menu section the dish is in. | Korean Burgers |
| items[].variant_group_count | integer | How many variant choices the dish has. | 1 |
| items[].restaurant_locality | string | The restaurant's locality. | 5TH SECTOR |
| items[].variant_group_names_text | string | The variant choices as one line. | Choice of Cheese |
| items | array | The results. | 3 records |
| summary | object | Totals for this response. | 4 fields |
| summary.cells | integer | How many grid cells the area search covered. | 1 |
| summary.crawl_id | string | 050786af-f034-4ef9-bbf6-0a6ef9baed94 | |
| summary.has_more | boolean | Whether more results follow this page. | true |
| summary.total_items | integer | How many results this response holds. | 10 |
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.area.menu_items", "input": { "center_latitude": 12.9121181, "center_longitude": 77.6445548, "continue_on_menu_failures": true, "max_cells": 1, "max_pages_per_cell": 1, "max_restaurants": 2, "menu_item_limit": 5, "page_limit": 10, "radius_km": 1, "step_km": 1 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy.area.menu_items", "input": { "center_latitude": 12.9121181, "center_longitude": 77.6445548, "continue_on_menu_failures": true, "max_cells": 1, "max_pages_per_cell": 1, "max_restaurants": 2, "menu_item_limit": 5, "page_limit": 10, "radius_km": 1, "step_km": 1 }}''')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.area.menu_items", "input": { "center_latitude": 12.9121181, "center_longitude": 77.6445548, "continue_on_menu_failures": true, "max_cells": 1, "max_pages_per_cell": 1, "max_restaurants": 2, "menu_item_limit": 5, "page_limit": 10, "radius_km": 1, "step_km": 1 }}),});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 area menu items grid for center latitude "12.9121181", center longitude "77.6445548" and max cells "1". Tell me what it costs before you run it, then show the results as a table.
More from the Swiggy API
- Swiggy All Restaurants API1 credit
- Swiggy Menu 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 API1 credit
- Swiggy Restaurants API1 credit
- Swiggy Dishes Search API1 credit
- Swiggy Restaurants Search API1 credit
The same data from other platforms
Swiggy Area Menu Items Grid API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy Area Menu Items Grid API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Every input is optional; the input fields below list what each one does.
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.area.menu_items, 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.