Swiggy Scraper - Extract Menu, Price and Instamart Data

Every Swiggy price hangs off a delivery point. Move the coordinates a few kilometres and the restaurant list, the promised time and the final bill all change, so we collect per point.

Swiggy Scraper
Solutions

How we run a Swiggy scraper as a managed job

You give us the delivery points, the cities or the outlet ids, the fields you need and a cadence. We design the schema, build the crawler, run it, watch it and repair it when Swiggy moves its markup, and you receive files rather than code. Output is CSV, JSON, XLSX, a Google Sheet, a direct database load or a Swiggy API endpoint we host and you call, delivered by email, S3, SFTP or webhook.

Anti-bot handling, proxy rotation and CAPTCHA solving are part of the service and never become your problem. Coverage is planned as a grid of delivery points rather than one call per city, because two points inside the same city return different outlet sets. We stay on public pages, never touch cart, checkout, payment or account areas, and leave the names of reviewers and delivery riders out by default as personal data; ratings and counts come through as ordinary numeric fields.

What we extract from a Swiggy restaurant and its menu

The outlet card and the menu are two records, and a Swiggy scraper that flattens them loses the join. We deliver both, keyed on restaurant id.

  • Outlet identity - restaurant id, name, brand id shared across the chain, slug, locality, area name, city, state, postal code, coordinates, phone and the multi-outlet flag.
  • Positioning - the cuisine list as Swiggy tags it, average rating, the banded count the site prints such as 67K plus, the exact total behind it, and cost for two as both an integer and the printed line.
  • Delivery promise - promised window in minutes, last-mile distance in kilometres, serviceability, zone id, and the load signals on the card itself: a stress factor, a rain mode and a long-distance marker.
  • Trading hours - open flag, next close time and the day-by-day list, including split shifts such as midnight to 3am and 8am to midnight.
  • Promotions - outlet headline deals, flat amount off above a basket threshold, percentage off capped in rupees against a coupon code, and bank-card offers.
  • Menu sections - every category in menu order with its item count, so a vanished section reads as a change, not as missing rows.
  • Dish record - item id, name, section, description with the allergen line the kitchen prints, image id, listed price, final price where a strike-off applies, in-stock flag, per-dish rating and count, bestseller flag, and the Bolt flag for dishes promised in ten to fifteen minutes. Prices arrive in paise, one hundred times the printed rupee figure.
  • Veg classification - the item-level classifier, veg or non-veg, with the veg boolean and filter tags. In India this is the first field a buyer checks, and the dependable copy sits on the dish, not on a listing headline.
  • Choices and modifiers - add-on groups with the group name and every choice as its own row: id, price, veg mark, stock and enabled flag, so a combo upgrade is priced, not described.
  • Time-gated items - the next-available message printed on breakfast dishes out of window.
  • Licence and operator - the FSSAI licence number and the legal entity under the menu, which separates one franchisee from another.

What we extract from a Swiggy restaurant and its menu
Instamart: the quick commerce catalogue behind the same app

Instamart: the quick commerce catalogue behind the same app

Instamart is the part of Swiggy scraping that surprises people. It is a grocery storefront served from dark stores, and it shares neither the identifiers nor the schema of the restaurant side. A product id is a ten-character alphanumeric code, not a number, and pack sizes of the same brand line are separate products with separate codes, so 500 ml and 1 litre of one milk never collapse into a single row.

The fields are retail fields. Product name, brand, a short marketing line and a long description, pack size as its own column, selling price, the struck-through list price and the percent-off badge, stock, sponsored placement where a card is marked as an ad, and a full nutrition table down to energy, fat, saturated fat, trans fat, carbohydrate, added sugar, protein, calcium and added vitamins. Product pages also print the seller name, which names the dark store fulfilling that address, country of origin, shelf life in days, the returns window, frequently-bought-together sets and recipe cards with a cook time and a calorie figure.

Coverage differs sharply from food. The web storefront serves 27 cities against 685 for restaurants, and its catalogue is organised into 26 category slugs including ones with no western equivalent, such as paan corner. One category in one city can run to roughly 1,500 lines, and every subcategory, brand filter and rating filter narrows it further. Because a dark store serves a radius, the assortment and the price you see are properties of the store nearest the address, which is why Instamart work is scoped as a list of delivery points rather than a list of cities.

How swiggy.com is put together, from city down to delivery point

Swiggy is the Indian hyperlocal platform behind restaurant delivery, Instamart quick commerce, Dineout table booking, Scenes event bookings, Genie pickup and drop and Minis storefronts. Food delivery started in 2014 and quick commerce in 2020, and the consumer app now trades as Swiggy Limited out of Bengaluru while Instamart still bills under Bundl Technologies. Anyone buying Swiggy data is buying from two catalogues at once: a restaurant marketplace and a dark-store grocery range that share one app and share almost no fields.

Addresses follow a single rule worth knowing before you scrape Swiggy. Each restaurant holds one numeric id and four public pages built from it: the delivery menu at an address of the form /city/bangalore/mcdonalds-5th-block-koramangala-rest23678, plus a Dineout page, a Dineout menu and a photo gallery under /restaurants carrying the same digits. Delivery rows and table-booking rows therefore join on an id instead of a fuzzy name match, and a chain rolls up through a separate brand id shared by all its outlets.

Discovery runs city, then locality, then cuisine. In September 2026 the published sitemaps carried about 1.95 million addresses across 39 gzipped shards, among them 466,813 restaurant ids, 36,688 city and locality pairs and 55,839 locality filter pages. A locality page such as Koramangala offers 44 cuisine slices alongside veg and non-veg splits, and the app's own city list holds 685 entries running from bangalore at number one to small towns numbered above ten thousand.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Why a Swiggy bill is bigger than the sum of the dishes

A Swiggy price is never one number. The dish carries a listed price and, where an offer bites, a final price with the original struck through. The outlet carries its own headline deal above it. Coupon codes and bank-card offers sit on top of both. Take only the printed dish price and you are modelling a market nobody actually pays.

The gap widens at checkout. Swiggy's own terms name what can land on an order: delivery fees, handling fees, convenience fees, platform fees, packaging fees, small cart fees, surge fees, rain-related surge fees and late-night fees, all disclosed at the checkout stage. Delivery surge is set from distance covered, time taken, demand, live traffic and weather, and seasonal peaks. Packaging and handling are set by the restaurant, not by the platform, and tax sits with the restaurant too. The public menu shows the dish side of that arithmetic; the itemised bill only appears once an order is built, behind a sign-in we do not cross, so we report the public view and label it as the public view.

Membership splits the answer again. Swiggy One and Swiggy One Lite change what a member pays to have the same basket delivered, and on Instamart a One member pays no delivery fee above a 199 rupee basket. That means the delivery cost of one basket is two different numbers depending on the account, and Swiggy price monitoring that reports a single figure is quietly hiding one of them. Swiggy restaurant data is only worth trusting when the delivery point and the membership view are stamped on every row.

Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

How Artificial Intelligence Is Used In Web Scraping

How Artificial Intelligence Is Used In Web Scraping

Leveraging advances in technology, the AI-powered web scraper has skyrocketed in demand and is helping to expand capabilities by automating tedious daily tasks and speeding up data collection from thousands of websites several times over.

What is Web Scraping and What is it Used For?

What is Web Scraping and What is it Used For?

Web scraping is a method of obtaining web data by extracting it from pages of web resources with the help of a program, that is, in automatic mode. It is used to syntactically convert web pages into more usable forms.

Web Scraping for Machine Learning

Web Scraping for Machine Learning

If you specialize in machine learning, you need to feed large amounts of data to the algorithms. Web scraping is the easiest and the most efficient method of collecting the data from all over the Internet.

scrapeit logo

Who builds and runs the feed

ScrapeIt is a managed web scraping agency. We are not a library and not a self-serve tool: we build the crawler, run it on your schedule, monitor it and fix it when a site changes, so you maintain a data feed instead of a codebase. A sample lands before sign-off, which lets you check the veg classifier, the paise-to-rupee handling and the add-on rows against live pages yourself. Every row carries the delivery point and the capture time it came from, so deliveries stack into one series. We have no affiliation with Swiggy.

FAQ

Does Swiggy have a public API a data buyer can use?

No. There is no documented public Swiggy API for buying restaurant, menu or Instamart data, and no developer portal behind swiggy.com. The partner site is the merchant-facing Swiggy Partner app, behind a sign-in and built for restaurants that already sell on the platform, not a data product. The endpoints the website calls to draw its own pages are internal and undocumented, and they can change without notice. What we supply instead is a Swiggy API endpoint we host: a stable schema over the public pages, versioned by us, so a change on their side does not break yours.

Do Swiggy menus and prices change with the delivery address?

Yes, and this is the single most important thing to get right. Everything is resolved against a latitude and longitude: which outlets appear, whether an outlet is serviceable at all, the promised delivery window, the last-mile distance and the offers attached. Two points inside one city return clearly different lists, roughly nineteen hundred outlets at one Bangalore address against about fifteen hundred at another. An outlet browsed from outside its delivery zone shows its card but refuses its menu. So a Swiggy scraper is specified as a set of delivery points, and every row we deliver carries the point it was taken at.

How much of Swiggy can you actually cover?

Restaurants can be enumerated: the sitemaps name 466,813 restaurant ids across 766 city slugs, and the app's own list carries 685 serviceable cities. Menus cannot be enumerated that way, because a menu only renders for a point inside the outlet's delivery zone. So coverage is built by walking city and locality pages for the outlet list, then sweeping a grid of delivery points dense enough for the localities you care about. We size that grid with you and say plainly what a given budget buys, city by city.

Can you deliver Instamart grocery data as well as restaurants?

Yes, as a separate table with its own schema. Instamart product codes are ten-character alphanumeric strings that do not overlap the numeric restaurant ids, and the useful columns are retail ones: pack size, selling price, list price, percent off, stock, brand, category and subcategory, nutrition, country of origin, shelf life and the seller behind the address. It runs on 27 web cities against 685 for food, so the two feeds are scoped and priced separately even when they arrive in the same delivery.

Is collecting Swiggy data allowed, and what do you refuse to take?

We will be straight with you: the Swiggy terms of use prohibit automated collection in plain words, banning any deep-link, page-scrape, robot or spider used to access, copy or monitor the platform; a separate section covers AI assistants and automated agents acting inside a signed-in account. Their robots file closes cart, checkout, payment, account, order tracking, invoice and rating paths. We work only on public catalogue pages, never sign in, never touch those closed paths, and never collect the names of reviewers or delivery riders. Whether that fits your own legal position is a call your counsel makes, and we will scope the job to whatever line you draw.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582