+Swiggy API
Swiggy restaurants near any Indian location, with ratings, cuisines, cost for two and delivery time as JSON.
The API.SH Swiggy API turns public Swiggy restaurant listings into structured JSON. Pass a latitude and longitude to list the restaurants Swiggy delivers to, or pick a cuisine collection. Each restaurant has its name, locality, cuisines, cost for two, rating and rating count, delivery time and distance, open status, veg-only flag, offer and badges, plus top chains for the area. Only the first page of a listing is available, and menus and orders are not covered.
- 1 endpoint
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/swiggy/v1/ restaurants
{ "success": true } What you can build with the Swiggy API
Local restaurant market mapping
List the restaurants delivering to a location to see cuisines, ratings and price levels for an area.
Competitor benchmarking
Compare rating, rating count, cost for two and delivery time against nearby restaurants.
Cuisine and chain research
Use the cuisine collections and top chains for an area to see which cuisines and brands dominate.
Offer and promotion tracking
Watch which restaurants show offers, badges or promoted flags in a location.
Food discovery agents
Give an assistant a location lookup so it can suggest open, veg-only or fast-delivery restaurants.
Swiggy data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
Swiggy API endpoints and prices
Every Swiggy endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| Swiggy restaurants for a location /swiggy/ | $1 · $2 PAYG 1 credit |
Call the Swiggy API
Swiggy restaurants for a location: GET https://api.api.sh/swiggy/
curl "https://api.api.sh/swiggy/v1/restaurants?lat=12.9716&lng=77.5946" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/swiggy/v1/restaurants",
params={"lat": "12.9716", "lng": "77.5946"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/swiggy/v1/restaurants");
url.searchParams.set("lat", "12.9716");
url.searchParams.set("lng", "77.5946");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/swiggy/v1/restaurants", "lat", "12.9716", "lng", "77.5946")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "Swiggy" and "Swiggy restaurants for a location".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 482 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for Swiggy data
- Public data only: no Swiggy login, cookies or account needed
- One key and one response shape for Swiggy and 481 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official Swiggy API
Swiggy has an official Developer Portal and a Builders Club with MCP-based APIs covering food, Instamart and Dineout, aimed at developers and businesses that sign up for access. API.SH needs no Swiggy access and returns public restaurant listings by location as JSON.
Instead of buying a restaurant data service or maintaining your own Swiggy scraper, use one API.SH key with a fixed price per call and the same JSON shape as other platforms.
Swiggy API questions
What Swiggy data can I get?+
Restaurants Swiggy delivers to a latitude and longitude, or one cuisine collection there (/swiggy/v1/restaurants), with rating, cuisines, cost for two, delivery time, open status, offers, top chains and the cuisine collections.
How much does the Swiggy API cost?+
Every Swiggy endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /swiggy/v1/restaurants at 1 credit each.
Is there an official Swiggy API?+
Yes. Swiggy runs a Developer Portal and a Builders Club with APIs for food, Instamart and Dineout, for approved developers and businesses. API.SH needs no approval and reads public restaurant listings only.
Do I need a Swiggy account or login?+
No. API.SH reads public Swiggy pages only. No endpoint uses a login, cookies or anyone's account. It cannot place orders.
Does it include menus, orders or Instamart?+
No. The only route returns restaurant listings for a location. Menus, dish prices, order placement and Instamart products are not covered.
Can I use it for POS or order integration?+
No. API.SH reads public listings and cannot receive or send orders. Restaurant POS and order integrations go through Swiggy's own partner channels.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key from the dashboard. 3. Call /swiggy/v1/restaurants with lat and lng for a place, such as Bengaluru coordinates. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.