Swiggy Restaurant Scraper - Menus, Ratings & Prices avatar

Swiggy Restaurant Scraper - Menus, Ratings & Prices

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Swiggy Restaurant Scraper - Menus, Ratings & Prices

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

Logiover

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

2

Monthly active users

a day ago

Last modified

Share

Swiggy Restaurant Scraper — Menus, Ratings, Cuisines & Prices (No API)

Swiggy Restaurant Scraper — Food Delivery Data Extractor No API key Pay per result Food Delivery Export

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, high or ultra grid 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 maxConcurrency and requestDelay for polite, reliable large-scale runs.
  • 🛡️ Proxy support — Apify Proxy integration; Indian IPs recommended because Swiggy applies regional geo-blocking.

🚀 Quick start (3 steps)

  1. Configure — set cities to the city slugs you want (e.g. bangalore, mumbai, delhi), pick a gridDensity and a maxPerCity cap.
  2. Run — click Start. The Actor sweeps the city grid, dedupes restaurants and streams them into your dataset.
  3. 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
}
FieldTypeDescription
citiesarrayCity slugs to scrape, e.g. bangalore, mumbai, delhi, hyderabad, chennai, kolkata, pune, ahmedabad, jaipur, noida, gurgaon. Required.
gridDensitystringGPS points per city: low (36 points, ~500 rests), medium (144, ~2000), high (400, ~4000) or ultra (900, ~6000+). Default medium.
maxPerCityintegerStop after this many unique restaurants per city. 0 = unlimited. Default 3000.
scrapeMenusbooleanBest-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.
maxMenuItemsintegerCap on menu items stored per restaurant. 0 = store all. Default 200.
maxConcurrencyintegerParallel HTTP requests (1–20). Default 5.
requestDelayintegerDelay between requests in milliseconds. Default 400.
proxyConfigurationobjectApify 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:

PlatformActor
🛍️ EtsyEtsy Scraper
🇮🇩 TokopediaTokopedia Product Scraper
🇻🇳 TikiTiki.vn Scraper
🌏 LazadaLazada Scraper
🇳🇬 JumiaJumia Product Scraper
🇯🇵 MercariMercari Japan Scraper
🇫🇷 LeboncoinLeboncoin Scraper
🇳🇱 MarktplaatsMarktplaats Scraper
🏨 BookingBooking Hotel Prices Scraper
🏠 AirbnbAirbnb Scraper
✈️ Google FlightsGoogle Flights Scraper
⭐ TrustpilotTrustpilot 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. 🙏

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.