Zepto Scraper
Pricing
Pay per usage
Zepto Scraper
Scrape Zepto, India's quick-commerce grocery app: price, MRP, discount, in-stock flag and units in stock for every product in a category, plus seller, shelf life and FSSAI licence from product pages. Free trial, no per-result fee, JSON or CSV. Powered by Scrape.do.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
scrapedo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Scrape product data from Zepto, India's quick-commerce grocery app: price, MRP, discount, in-stock flag and units in stock for every product in a category, plus an optional catalog sheet per product with seller, shelf life, FSSAI licence number, country of origin and full description.
Free to try: run it without any setup and get up to 50 products per run. Add your free Scrape.do API token to remove the limit.
Why most Zepto scrapers fail
Zepto sits behind AWS WAF. A script gets HTTP 429, or an HTTP 202 with an empty body and an x-amzn-waf-action: challenge header. Because 202 counts as success to most HTTP clients, a naive scraper saves empty pages without reporting a single error.
This actor fetches every page through the Scrape.do web scraping API, which returns the real page through residential proxies in India: no browser, 10 credits per page. It then reads the product data Zepto streams into the HTML (the Next.js payload), including out-of-stock products that a simple parser skips.
What data you get
| Field | Description |
|---|---|
name, brand, packSize | Product name, brand and pack size |
priceInr, mrpInr, discountPct | Selling price and printed MRP in rupees (Zepto stores paise; the actor converts), and the discount |
inStock, availableQty | Stock flag and the units the dark store holds |
rating, ratingCount | Average rating and number of ratings |
subcategory | The product's primary subcategory |
storeId | The Zepto dark store the price and stock belong to |
url, variantId | Product page and variant id |
seller, shelfLife, fssaiLicence, countryOfOrigin, category, maxPerOrder, imageCount, description | With Add product details on, or for product URLs |
sourceUrl, scrapedAt | Where and when the row was scraped |
How to use it
- Whole category: paste one subcategory URL (open a category on zepto.com and click a subcategory in the left sidebar, for example Chips & Crisps). With Walk the whole category on, the actor reads every sibling subcategory too.
- Product details: turn on Add product details to open each product page as well (one extra request per product).
- Product URLs: paste product URLs (
zepto.com/pn/.../pvid/...) to get the catalog sheet for specific products.
Input example
{"startUrls": ["https://www.zepto.com/cn/munchies/chips-crisps/cid/d2c2a144-43cd-43e5-b308-92628fa68596/scid/df4f5100-c02f-4906-83b8-ddb744081a7a"],"includeSiblingSubcategories": true,"includeProductDetails": false,"maxItems": 500,"scrapeDoToken": "YOUR_SCRAPEDO_TOKEN"}
Output example
Each product is one item. Example (fictional product, illustrative values):
{"variantId": "44444444-4444-4444-8444-444444444440","name": "Example Chilli Chips","brand": "Examplo","packSize": "1 pack (41 g)","priceInr": 19,"mrpInr": 20,"discountPct": 5,"inStock": true,"availableQty": 30,"rating": 4.9,"ratingCount": 401062,"subcategory": "Chips & Crisps","storeId": "33333333-3333-4333-8333-333333333333","url": "https://www.zepto.com/pn/example-chilli-chips/pvid/44444444-4444-4444-8444-444444444440","sourceUrl": "https://www.zepto.com/cn/munchies/chips-crisps/cid/.../scid/...","scrapedAt": "2026-10-27T09:00:00.000Z"}
Download the results as JSON, CSV, Excel or HTML from the run's Output tab, or pull them through the Apify API.
Pricing and your Scrape.do token
There is no per-result fee for this actor; Apify only bills its normal platform usage. Pages are fetched through the Scrape.do web scraping API:
- Free trial, no token: leave the Scrape.do API token field empty and you get up to 50 products per run.
- Your own Scrape.do token: no product limit. Every page (one subcategory with up to 32 products, or one product page) is 10 Scrape.do credits. Create a free Scrape.do account for 1,000 free credits a month.
Good to know
- 32 products per subcategory. Zepto's web pages stop at 32 products per subcategory and have no page 2. Walk more subcategories and categories for wider coverage.
- One dark store. Each price and stock count belongs to one Zepto dark store. Without a location Zepto serves its default store in east Bengaluru;
storeIdrecords which store a row came from. - Price and stock come from the listing. Product pages cap the stock count and can lag the listing, so when details are added, the listing values win.
- Search is not supported. Zepto's search needs a browser-computed signature and robots.txt disallows
/search; walk categories instead. - Prefer Python? The same logic is an open-source package:
pip install zepto-scraper(GitHub).
FAQ
Is scraping Zepto legal? The actor reads category (/cn/) and product (/pn/) pages, which Zepto's robots.txt allows, and never touches search, API, cart or account paths. Product names, prices and stock are not personal data. Read Zepto's terms of use for your use case and keep request rates modest. This is not legal advice.
Something broke or a field is missing? Open an issue in the Issues tab and we will look at it.