Swiggy Scraper — Restaurants, Ratings & Offers avatar

Swiggy Scraper — Restaurants, Ratings & Offers

Pricing

from $2.00 / 1,000 restaurant results

Go to Apify Store
Swiggy Scraper — Restaurants, Ratings & Offers

Swiggy Scraper — Restaurants, Ratings & Offers

Scrape Swiggy restaurants across 20+ Indian cities — name, Swiggy rating and rating count, cuisines, cost for two, locality, delivery time, distance, live offers and the Google rating Swiggy shows alongside its own. Search any keyword or browse a whole city. JSON, CSV or Excel.

Pricing

from $2.00 / 1,000 restaurant results

Rating

5.0

(2)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

4 days ago

Last modified

Share

Swiggy Scraper — Restaurants, Ratings & Offers (India)

$0.002 per restaurant · no browser, pure HTTP · Swiggy rating and the Google rating shown beside it

Scrape Swiggy restaurants across 20+ Indian cities. Browse a whole city or search a keyword, and get one clean row per restaurant: name, Swiggy rating and rating count, cuisines, cost for two, locality, delivery time, distance, live discount offers — plus the Google rating Swiggy displays alongside its own.

Why use this scraper

  • Two ratings per restaurant. Swiggy's own score and the Google aggregate it surfaces, so you can compare platform sentiment against the wider web in one row.
  • Live commercial signals. Current discount offers, delivery ETA, distance and open/closed state — the fields that actually change day to day.
  • City or keyword. Take a city's full listing, or search "biryani" across several cities in one run.
  • Anywhere in India. 20+ cities built in, and any other point can be reached with explicit coordinates.
  • No browser. Pure HTTP against Swiggy's own JSON API — fast and cheap to run.

Supported inputs

InputExampleNotes
Citypicked from a dropdown20 cities built in
Keywordpizza, biryaniSearched per city
Coordinates19.1136, 72.8697, AndheriNeighbourhoods or unlisted cities
Google Maps linkhttps://www.google.com/maps/@19.11,72.86,15zCoordinates are read out of the URL

Cities are chosen from a dropdown, so there is nothing to spell: Mumbai, Delhi NCR, Gurgaon, Noida, Bengaluru, Hyderabad, Chennai, Kolkata, Pune, Ahmedabad, Jaipur, Lucknow, Chandigarh, Kochi, Indore, Surat, Nagpur, Bhopal, Coimbatore, Vadodara. Anywhere else is reachable through custom coordinates.

Use cases

  • Track competitor ratings, pricing bands and discounts across a city.
  • Build restaurant lead lists by cuisine and locality.
  • Monitor how aggressively chains discount, and when.
  • Compare Swiggy ratings against Google ratings for the same venue.
  • Market research on cuisine mix and delivery coverage by neighbourhood.

How it works

  1. Resolve — each city becomes a latitude/longitude, because Swiggy's API is coordinate-driven rather than slug-driven.
  2. Fetch — the city listing or keyword search is pulled from Swiggy's JSON API.
  3. Extract — restaurants are collected from Swiggy's nested card tree, de-duplicated by id, and written one row each.

Input configuration

FieldTypeDefaultDescription
citiesarray["mumbai"]Chosen from the built-in dropdown
queriesarrayKeywords searched per city
coordinatesarraylat, lng per line — optional label, or paste a Google Maps URL
maxItemsinteger100Hard cap on rows
maxConcurrencyinteger3Keep low — Swiggy blocks aggressive clients
proxyobjectnoneOptional; add your own if blocked at volume

Minimal input:

{
"cities": ["mumbai"],
"maxItems": 50
}

Output — key fields

FieldDescription
restaurantId, name, urlSwiggy id, name and page URL
rating, ratingCountSwiggy rating and how many ratings
googleRating, googleRatingCountGoogle rating as shown on Swiggy
cuisines, costForTwoCuisine list and typical spend for two
locality, area, cityLocation
deliveryTimeMins, deliveryTimeText, distanceKmDelivery signals
offerCurrent discount, e.g. "70% OFF · UPTO ₹140"
isOpen, isVegStatus flags
imageUrlRestaurant image

Output sample

{
"restaurantId": "448490",
"name": "Barbeque Nation",
"url": "https://www.swiggy.com/city/mumbai/barbeque-nation-rest448490",
"rating": 3.5,
"ratingCount": "1.5K+",
"cuisines": ["North Indian", "Barbecue", "Kebabs", "Biryani"],
"costForTwo": "₹600 for two",
"locality": "Bandra East",
"area": "Bandra Kurla Complex",
"deliveryTimeMins": 21,
"deliveryTimeText": "20-25 mins",
"distanceKm": "1.1 km",
"isOpen": true,
"offer": "70% OFF · UPTO ₹140",
"googleRating": "4.0",
"googleRatingCount": "1.8K+"
}

Pricing

Pay-per-event: $0.002 per restaurant row, plus a $0.005 actor-start fee per GB of run memory. 100 restaurants cost $0.20.

FAQ

Which countries? India only — that is Swiggy's market.

Are menus included? No. Swiggy blocks its menu endpoint to automated clients (it answers with an empty response), and this Actor does not bypass that. For priced menu data, a Talabat scraper covers the Gulf markets.

Are reviews included? No — Swiggy does not publish review text on its public API, only aggregate ratings. For restaurant reviews with full text, use a Zomato scraper.

Do I need a proxy? Not usually. Swiggy's listing API answers without one; add your own if you hit blocks at high volume.

My city isn't in the dropdown. Put its coordinates in the coordinates input, one per line as 19.1136, 72.8697. Add a name if you want it on every row (19.1136, 72.8697, Andheri), or simply paste a Google Maps URL and the coordinates are read out of it. Entries that are not usable are reported in the log with the reason, and a point outside India is flagged because Swiggy does not operate there.

How many restaurants per city? Swiggy reports roughly 2,000 per major city; a single listing call returns the first page, and keyword searches widen the net.

Support

Found a bug or need another field? Open an issue on the Actor's Issues tab — it is monitored.

🤖 For AI Agents & LLM Apps

Purpose: Turn an Indian city or keyword into structured Swiggy restaurant rows with two independent ratings, pricing band and live offers. Browser-free.

Minimal input (tested):

{ "cities": ["mumbai"], "maxItems": 20 }

Behaviors agents should know:

  • One row per restaurant, de-duplicated by restaurantId across cities and queries.
  • rating is Swiggy's (numeric); googleRating is a string and may be absent.
  • Billing is restaurant-result at $0.002; bound spend with maxItems.
  • cities is a fixed enum of 20 slugs (mumbai, delhi, bangalore, …); anything else belongs in coordinates, which take "lat, lng", "lat, lng, label", a Google Maps URL, or the {lat,lng,label} object form.
  • Menus and review text are not available from Swiggy's public API.

⚠️ Disclaimer

This Actor collects only publicly available restaurant listing data from Swiggy — no logins, paywalls or access controls are bypassed, and its menu endpoint is deliberately left alone because Swiggy blocks automated access to it. Use the data in compliance with Swiggy's Terms of Service and applicable law. You are responsible for how you use the output.

SEO Keywords

swiggy scraper, swiggy api, scrape swiggy, swiggy restaurant scraper, swiggy data extraction, india restaurant data, food delivery scraper, restaurant ratings india, mumbai restaurant data, bangalore restaurants, delhi food delivery, restaurant offers scraper, cost for two data, cuisine dataset india, restaurant lead generation, swiggy json, apify swiggy.