Swiggy Restaurant Scraper - Menus, Ratings & Prices
Pricing
from $3.50 / 1,000 results
Swiggy Restaurant Scraper - Menus, Ratings & Prices
Swiggy restaurant scraper & unofficial API alternative — scrape menus, ratings and prices without an API key; export the dataset to CSV or JSON.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Swiggy Restaurant Scraper — Menus, Ratings, Cuisines & Prices (No API)
Scrape restaurant listings from Swiggy.com, India's #1 food-delivery platform — across any Indian city. Get restaurant name, locality, average rating, rating count, cuisines, delivery ETA, delivery fee, cost-for-two, open/promoted flags and full menus (item names, categories, prices, veg flags) in clean structured JSON. This Swiggy scraper talks directly to Swiggy's internal API instead of rendering the heavy React frontend, so it runs fast, cheap, no browser, no API key, no login.
It uses grid-based scraping — querying many GPS points across each city and deduplicating results — to yield thousands of unique restaurants per city, not just the handful near the centre.
🏆 Why this Swiggy scraper?
15+ fields per restaurant · thousands of restaurants per city · full menu + price extraction · direct HTTP + JSON (no browser) · grid coverage of the whole city · export to JSON / CSV / Excel. The unofficial Swiggy API alternative for food-delivery market research, cloud-kitchen strategy and competitive pricing intelligence.
✨ What this Actor does / Key features
- 🍔 Whole-city restaurant coverage — grid-based scraping queries hundreds of GPS points per city and dedupes them, returning thousands of unique restaurants instead of just the centre.
- ⭐ Ratings & cost signals — average rating, rating count (e.g. "10K+ ratings") and cost-for-two for every restaurant.
- 🛵 Delivery intelligence — cuisines, delivery ETA in minutes and delivery fee (INR) per listing.
- 📋 Full menu extraction — optional per-restaurant menu with item names, categories, prices (INR), veg flags and in-stock status.
- 🏙️ 20+ Indian cities out of the box — Bangalore, Mumbai, Delhi, Hyderabad, Chennai, Kolkata, Pune, Ahmedabad, Jaipur, Noida, Gurgaon, Surat, Indore, Chandigarh, Kochi and more.
- 🎚️ Tunable density — pick
low,medium,highorultragrid density to trade run time for coverage. - ⚡ Direct HTTP + JSON extraction — talks to Swiggy's own internal API; no browser, no DOM walking, no headless Chrome.
- 🔀 Concurrency & rate control — tune
maxConcurrencyandrequestDelayfor polite, reliable large-scale runs. - 🛡️ Proxy support — Apify Proxy integration; Indian IPs recommended because Swiggy applies regional geo-blocking.
🚀 Quick start (3 steps)
- Configure — set
citiesto the city slugs you want (e.g.bangalore,mumbai,delhi), pick agridDensityand amaxPerCitycap. - Run — click Start. The Actor sweeps the city grid, dedupes restaurants and streams them into your dataset.
- Get your data — open the Output / Dataset tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API.
📥 Input
Give the Actor at least one cities slug. Everything else is optional.
Example — fast city-wide listings for Bangalore & Mumbai
{"cities": ["bangalore", "mumbai"],"gridDensity": "medium","maxPerCity": 3000,"scrapeMenus": false,"maxConcurrency": 5,"requestDelay": 400,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "IN" }}
Example — deep menu + price dataset for one city
{"cities": ["hyderabad"],"gridDensity": "high","maxPerCity": 4000,"scrapeMenus": true,"maxMenuItems": 200,"maxConcurrency": 3,"requestDelay": 600}
Example — multi-metro supply & pricing benchmark
{"cities": ["delhi", "bangalore", "chennai", "kolkata", "pune"],"gridDensity": "medium","maxPerCity": 2000,"scrapeMenus": false}
| Field | Type | Description |
|---|---|---|
cities | array | City slugs to scrape, e.g. bangalore, mumbai, delhi, hyderabad, chennai, kolkata, pune, ahmedabad, jaipur, noida, gurgaon. Required. |
gridDensity | string | GPS points per city: low (36 points, ~500 rests), medium (144, ~2000), high (400, ~4000) or ultra (900, ~6000+). Default medium. |
maxPerCity | integer | Stop after this many unique restaurants per city. 0 = unlimited. Default 3000. |
scrapeMenus | boolean | Best-effort full-menu fetch (item names, prices, veg flags). Swiggy heavily rate-limits the menu endpoint, so leave OFF for fast city-wide listings. Default false. |
maxMenuItems | integer | Cap on menu items stored per restaurant. 0 = store all. Default 200. |
maxConcurrency | integer | Parallel HTTP requests (1–20). Default 5. |
requestDelay | integer | Delay between requests in milliseconds. Default 400. |
proxyConfiguration | object | Apify Proxy settings. Indian IPs recommended due to Swiggy's regional geo-blocking. |
Finding a city slug: use the lowercase city name as Swiggy uses it in its URLs — e.g.
bangalore,mumbai,delhi,hyderabad,chennai,kolkata,pune,ahmedabad,jaipur,lucknow,noida,gurgaon,surat,indore,chandigarh,kochi,coimbatore,vadodara,nagpur,visakhapatnam.
📤 Output
One clean row per restaurant, exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:
{"restaurantId": "12345","name": "Truffles","city": "bangalore","area": "Koramangala","avgRating": "4.5","ratingCount": "10K+ ratings","costForTwo": "₹400 for two","cuisines": ["American", "Burgers", "Cafe"],"deliveryTime": "32","deliveryFee": "0","isOpen": "true","isPromoted": "false","hasMenu": "true","menuItems": [{ "itemId": "987", "name": "Mexican Cheese Sandwich", "category": "Sandwiches", "description": "Grilled sandwich with molten cheese", "price": 180, "isVeg": true, "inStock": true }],"searchLocation": "12.93,77.62","scrapedAt": "2026-07-06T12:00:00.000Z"}
💡 Use cases
- Cloud-kitchen strategy — scan a city's grid to find menu gaps and benchmark cuisine pricing before opening a dark kitchen.
- Competitive pricing intelligence — track how rival restaurants change prices, delivery fees and promotions over time.
- Food aggregation & discovery apps — feed a hyper-local discovery, nutrition or corporate-catering app with structured restaurant and menu data.
- Market research — quantify supply, cuisine mix and pricing across Indian metro cities.
- Menu analytics — build datasets of dishes, categories and prices for trend analysis.
- Location scouting — map restaurant density and rating hotspots by locality before signing a lease.
👥 Who uses it
Cloud-kitchen & QSR operators · food-tech and delivery startups · pricing & category managers · market researchers and data journalists · restaurant consultants and franchise scouts · nutrition and menu-analytics teams.
💰 Pricing
This Actor runs on a simple pay-per-result model — you pay for the restaurants you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.
❓ Frequently Asked Questions
Is it legal to scrape Swiggy? The Actor only collects publicly available restaurant and menu data. You are responsible for using the data in compliance with Swiggy's terms and applicable laws.
Does Swiggy have a public API? Swiggy has no open public partner API for restaurant listings, so this Actor reads Swiggy's own internal API endpoints instead — giving you structured food-delivery data without any API key.
Is this a Swiggy API alternative or unofficial Swiggy API? Yes. Because Swiggy exposes no public data API, this Actor works as an unofficial Swiggy API: it queries Swiggy's internal endpoints and returns structured restaurant and menu data with no API key.
Do I need an API key or a login? No. There is no Swiggy account, login or API key required — only an Apify account.
Do I need a proxy? Swiggy applies regional geo-blocking, so Apify Proxy with Indian IPs is recommended for reliable results. Because the Actor never launches a browser, its footprint stays minimal even at scale.
How much data can I get?
Grid-based scraping yields thousands of unique restaurants per city — roughly 500 at low density up to 6,000+ at ultra. Set maxPerCity to 0 for unlimited.
Why grid scraping instead of one city search? Swiggy only shows restaurants within a delivery radius of a given point. Querying a grid of GPS points across the city and deduplicating gives full city coverage instead of just the centre.
Can I scrape Swiggy without an API or login? Yes. No Swiggy account, login or API key is needed — only an Apify account. The Actor pulls publicly available listings straight from Swiggy's internal API.
Can I get restaurant menu items and prices from Swiggy?
Enable scrapeMenus to fetch item names, categories, prices and veg flags per restaurant. Note that Swiggy rate-limits the menu endpoint, so leave it off when you only need fast city-wide listings.
How do I export Swiggy restaurant data to CSV or JSON? Run the Actor, then open the Output / Dataset tab and download the dataset as CSV, JSON, Excel or XML — ready for a spreadsheet, database or pricing dashboard.
🔗 More e-commerce & marketplace scrapers by logiover
Building a broader food, retail or marketplace dataset? Pair the Swiggy scraper with the rest of the logiover e-commerce & travel suite:
| Platform | Actor |
|---|---|
| 🛍️ Etsy | Etsy Scraper |
| 🇮🇩 Tokopedia | Tokopedia Product Scraper |
| 🇻🇳 Tiki | Tiki.vn Scraper |
| 🌏 Lazada | Lazada Scraper |
| 🇳🇬 Jumia | Jumia Product Scraper |
| 🇯🇵 Mercari | Mercari Japan Scraper |
| 🇫🇷 Leboncoin | Leboncoin Scraper |
| 🇳🇱 Marktplaats | Marktplaats Scraper |
| 🏨 Booking | Booking Hotel Prices Scraper |
| 🏠 Airbnb | Airbnb Scraper |
| ✈️ Google Flights | Google Flights Scraper |
| ⭐ Trustpilot | Trustpilot Reviews Scraper |
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.
⏰ Scheduling & integration
Schedule this Actor on Apify to monitor Swiggy restaurants and menu prices daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated food-delivery pricing pipelines.
⭐ Support & feedback
Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏
⚖️ Legal
This Actor extracts only publicly available data and is intended for legitimate research, analytics and market-intelligence use. You are responsible for complying with Swiggy's terms of service and any applicable local laws.
📝 Changelog
2026-07-06
- ✨ README overhaul: shields.io badges, richer output sample with full field reference, ready-to-run example scenarios, e-commerce suite cross-links, expanded keyword-gap FAQ and clearer quick-start.
2026-07-01
- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.
2026-06-15
- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.
2026-06-07
- Docs: added coverage for Swiggy unofficial API alternative use, exporting Swiggy restaurant data to CSV/JSON, and scraping Swiggy menu data without an API key.