Swiggy Delivery Restaurants & Menu Scraper
Pricing
from $4.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
22
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
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
| Field | Type | Default | Notes |
|---|---|---|---|
location | string | Chennai | City or locality, 2–100 characters. |
getMenus | boolean | true | Fetch menu items for each selected restaurant. |
getAddons | boolean | true | Keep addon groups in menu items. |
getVariants | boolean | true | Keep variant groups in menu items. |
maxItems | integer | 20 | Restaurant cap, from 1 through 20. |
sortBy | string | relevance | Relevance, delivery time, rating, or cost ordering. |
cuisines | string[] | [] | Up to 10 cuisine filter tokens exposed by the input editor. |
explore | string[] | [] | Up to 10 supported discovery filters. |
rating | string[] | [] | Up to 10 supported rating filters. |
vegNonVeg | string | unset | Supported vegetarian/non-vegetarian filter. |
offers | boolean | false | Restrict results to restaurants with offers. |
costForTwoFilter | string | unset | Supported cost-for-two filter. |
headless | boolean | true | Run Chromium without a visible window. |
proxyConfiguration | object | direct | Standard 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 cinpm testapify 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.