Swiggy List API
The restaurants Swiggy lists at a location, up to the number you ask for, with ratings, cost for two and delivery time.
- 1 credit per call
- Failed calls are free
- Updated
- swiggy.list
{ "count": 5, "has_more": true, "results": [ { "name": "Andhra Gunpowder", "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", "locality": "Sector 2", "next_close_time": "2026-10-12 23:00:00", "parent_id": "10496", "restaurant_url": "https://www.swiggy.com/city/bangalore/andhra-gunpowder-sector-2-hsr-layout-rest279024", "serviceability": "SERVICEABLE", "sla_string": "30-35 mins", "total_ratings_string": "9.7K+", "cuisines": [ "Andhra", "Biryani" ] }, { "name": "Aligarh House", "area_name": "HSR Layout", "avg_rating": 4.3, "avg_rating_string": "4.3", "cost_for_two": 40000, "cost_for_two_message": "₹400 for two", "delivery_time_minutes": 35, "id": "81642", "is_open": true, "last_mile_travel_km": 1.4, "last_mile_travel_string": "1.4 km", "locality": "HSR Layout", "next_close_time": "2026-10-12 17:00:00", "parent_id": "586111", "restaurant_url": "https://www.swiggy.com/city/bangalore/aligarh-house-hsr-layout-rest81642", "serviceability": "SERVICEABLE", "sla_string": "30-40 mins", "total_ratings_string": "11K+", "cuisines": [ "Biryani", "Mughlai" ] } ]}
| # | Restaurant | Rating | Cost for two | Delivery (min) | Locality | Area name | Avg rating string | Cost for two | Is open | Last mile travel km |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Andhra Gunpowder | 4.3 | ₹350 for two | 33 | Sector 2 | HSR Layout | 4.3 | 35,000 | true | 0.6 |
| 2 | Aligarh House | 4.3 | ₹400 for two | 35 | HSR Layout | HSR Layout | 4.3 | 40,000 | true | 1.4 |
| 3 | Paris Panini - Gourmet Sandwiches & Wraps | 4.5 | ₹700 for two | 27 | HSR | HSR | 4.5 | 70,000 | true | 0.3 |
| 4 | California Burrito | 4.5 | ₹250 for two | 31 | HSR Layout | HSR Layout | 4.5 | 25,000 | true | 0.9 |
| 5 | Subway | 4.2 | ₹350 for two | 26 | HSR Layout | HSR Layout | 4.2 | 35,000 | true | 0.7 |
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. Send it with longitude, or leave both out for the default area. | 12.9121181 |
| longitude | number | one of | Longitude of the delivery location. | 77.6445548 |
| limit | integer | no | The most restaurants to return. | 5 |
| offset | string | no | Not used: Swiggy shows one listing per location. Leave it out. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| results[].name | string | The name of the restaurant or dish. | Andhra Gunpowder |
| results[].avg_rating | number | The average rating, out of 5. | 4.3 |
| results[].cost_for_two_message | string | Swiggy's price guide for two people. | ₹350 for two |
| results[].delivery_time_minutes | integer | Swiggy's delivery time estimate, in minutes. | 33 |
| results[].locality | string | The restaurant's locality. | Sector 2 |
| results[].area_name | string | The area of the restaurant. | HSR Layout |
| results[].avg_rating_string | string | The rating as Swiggy shows it. | 4.3 |
| results[].cost_for_two | integer | The price guide for two, in paise. | 35,000 |
| results[].cuisines | array | The restaurant's cuisines. | Andhra, Biryani, South Indian |
| results[].id | string | 279024 | |
| results[].is_open | boolean | Whether the restaurant is open now. | true |
| results[].last_mile_travel_km | number | Distance from the restaurant to you, in kilometres. | 0.6 |
| results[].last_mile_travel_string | string | That distance as Swiggy shows it. | 0.6 km |
| results[].next_close_time | string | When the restaurant closes next. | 2026-10-12 23:00:00 |
| results[].parent_id | string | 10496 | |
| results[].restaurant_url | string | The restaurant's page on Swiggy. | https://www.swiggy.com/city/bangalore/andhra-gunpowder-sector-2… |
| results[].serviceability | string | Whether the restaurant delivers to your location. | SERVICEABLE |
| results[].sla_string | string | Swiggy's delivery time estimate. | 30-35 mins |
| results[].total_ratings_string | string | How many ratings, as Swiggy rounds it. | 9.7K+ |
| count | integer | How many results this response holds. | 5 |
| has_more | boolean | Whether more results follow this page. | true |
| results | array | The results. | 5 records |
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.list", "input": { "latitude": 12.9121181, "limit": 5, "longitude": 77.6445548 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "swiggy.list", "input": { "latitude": 12.9121181, "limit": 5, "longitude": 77.6445548 }}''')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.list", "input": { "latitude": 12.9121181, "limit": 5, "longitude": 77.6445548 }}),});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, show me the first five restaurants Swiggy lists at 12.9121, 77.6446 in Bengaluru, with rating and delivery time.
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 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
Swiggy List API FAQ
The short answers. The docs have the long ones.
How much does the Swiggy List 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.list, 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.