Grocery & delivery
Swiggy Scraper
swiggy.com
Swiggy content is geo-gated to a delivery address, so results only make sense when the request originates from the right city. Menus and pricing differ street by street.
What you can extract
- Restaurant name, cuisine and rating
- Menu items with price and description
- Delivery time estimate and fee
- Offers and discount banners
- Area and cuisine listing pages
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.swiggy.com%2F&parsed_data=true"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/getPageSource",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.swiggy.com/", "parsed_data": True},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.getPageSource({
url: 'https://www.swiggy.com/',
parsedData: true,
});
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape Swiggy?
Collecting publicly available Swiggy data such as restaurant names, menu prices and delivery estimates is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Swiggy without getting blocked?
Swiggy uses bot detection and rate limiting. ScrapeUnblocker renders the page in a real browser, rotates residential and ISP exits and handles challenges, then returns the page. In ScrapeUnblocker's benchmark it returned real content on 100% of 1,000 calls, about 6.6s per call.
What Swiggy data can I get?
Restaurant name, cuisine and rating, menu items with price and description, delivery time estimate and fee, offers and discount banners, and area and cuisine listing pages. Menus and pricing are tied to a delivery address, so results depend on the location the page is loaded for.
Do I need a Swiggy API or account?
No. ScrapeUnblocker returns the public page as HTML, or structured JSON with parsed_data=true, so there is no Swiggy account or API key to set up. Send the restaurant or listing URL to /getPageSource with your ScrapeUnblocker key.
Can I monitor Swiggy menus and prices at scale?
Yes. Send one /getPageSource call per URL and run calls in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate. Each call takes about 6.6s on average in ScrapeUnblocker's benchmark.
How much does it cost to scrape Swiggy?
Each /getPageSource call is one request, and 1 request = 1 credit: EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed. The free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.