Swiggy Delivery Restaurants & Menu Scraper avatar

Swiggy Delivery Restaurants & Menu Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Swiggy Delivery Restaurants & Menu Scraper

Swiggy Delivery Restaurants & Menu Scraper

An advanced, high-speed e-commerce scraper designed for real-time price monitoring and competitor intelligence. Extracts product titles, current pricing, discounts, stock availability, specifications, images, and seller ratings from Swiggy Delivery. Perfect for inventory tracking, drop-shipping r...

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

22

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Extract restaurant listings and, optionally, menu items from Swiggy for an Indian city or locality. Results are written to the default dataset and a compact run summary is written to the OUTPUT key-value-store record.

Input

FieldTypeDefaultNotes
locationstringChennaiCity or locality, 2–100 characters.
getMenusbooleantrueFetch menu items for each selected restaurant.
getAddonsbooleantrueKeep addon groups in menu items.
getVariantsbooleantrueKeep variant groups in menu items.
maxItemsinteger20Restaurant cap, from 1 through 20.
sortBystringrelevanceRelevance, delivery time, rating, or cost ordering.
cuisinesstring[][]Up to 10 cuisine filter tokens exposed by the input editor.
explorestring[][]Up to 10 supported discovery filters.
ratingstring[][]Up to 10 supported rating filters.
vegNonVegstringunsetSupported vegetarian/non-vegetarian filter.
offersbooleanfalseRestrict results to restaurants with offers.
costForTwoFilterstringunsetSupported cost-for-two filter.
headlessbooleantrueRun Chromium without a visible window.
proxyConfigurationobjectdirectStandard Apify proxy configuration. Direct access is the default.

Example:

{
"location": "Chennai",
"getMenus": true,
"getAddons": false,
"getVariants": false,
"maxItems": 5,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Swiggy can challenge direct menu requests. When menus are requested and every menu is blocked, the Actor fails explicitly instead of returning a misleading restaurant-only success. Use getMenus: false when only listing metadata is needed, or enable an appropriate Apify proxy for menu retrieval.

Output

Each dataset item represents one restaurant and includes stable identifiers, name, locality, cuisine and rating metadata, cost and delivery information, canonical Swiggy links, the requested location, scrape timestamp, and source. When getMenus is enabled and Swiggy supplies menu data, the record also contains a compact menu array with item pricing, availability, ratings, variants, and addons as available.

Empty optional values are removed. The Actor caps output using maxItems and fails when it cannot produce any complete restaurant records.

Local development

npm ci
npm test
apify run --input-file qa-inputs/local-validation.json

The production image uses the Apify Node 22 Puppeteer/Chrome base image and installs the lockfile with lifecycle scripts disabled.

Responsible use

Only collect public data you are permitted to process. Respect Swiggy's terms, applicable privacy law, and reasonable request rates. The Actor does not require or embed account cookies, authentication headers, or proxy credentials.