Zepto Scraper — grocery prices and MRP in INR avatar

Zepto Scraper — grocery prices and MRP in INR

Pricing

from $0.30 / 1,000 products

Go to Apify Store
Zepto Scraper — grocery prices and MRP in INR

Zepto Scraper — grocery prices and MRP in INR

Scrape Zepto (zepto.com) public catalogue: title, selling price and MRP in INR, pack size and in-stock flag. Pincode is recorded; storeId is the store Zepto assigned after WAF, not a proven dark-store switch. Residential IN. No login.

Pricing

from $0.30 / 1,000 products

Rating

0.0

(0)

Developer

Noah Adler

Noah Adler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Zepto (zepto.com) is Indian quick-commerce. This Actor paints the public catalogue (home + /cn/ categories) with Apify RESIDENTIAL IN and returns selling price, MRP (when shown), pack size and an in-stock flag (the ADD button). No login.

Keywords: zepto scraper · zepto price tracker · india quick commerce prices · zepto product scraper


What it does

StepAction
1Input: pincode (6 digits) + maxItems
2Opens zepto.com with RESIDENTIAL IN (without it you get an empty AWS WAF page)
3After the catalogue paints, sets a user_position cookie from the PIN coordinates
4One dataset row per product card that shows a rupee price

Pincode vs dark store: each row stores the pincode you requested. storeId / storeCity come from Zepto’s serviceability cookie if it is present after paint. Probes with IN residential did not switch store between 560001 and 400001 (same storeId, priceDiff=0). Do not treat this as a guaranteed dark-store selector. IN exits often land Bengaluru.

Zepto’s search page asks anonymous users to log in. v0.1 does not scrape /search. If you pass query, it is ignored.


Input

FieldRequiredDescription
pincodeYes6-digit Indian PIN (560001, 400001, 110001…). Recorded on every row.
categoryUrlNoOptional https://www.zepto.com/cn/… URL to crawl first
queryNoIgnored in v0.1 (login wall on search)
maxItemsNo1–200 rows (default 25)
proxyConfigurationYes in practiceRESIDENTIAL + country IN

Example (Try it)

{
"pincode": "560001",
"maxItems": 25,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "IN"
}
}

Output (one product per row)

FieldExample
pincodeThe PIN you sent (not proof of a unique dark store)
storeId / storeCityUUID / city if the cookie has them; otherwise null
productTitle / packSizeSurf Excel Matic… · 1 pack (5 kg)
price / mrp / currency599 · 780 · INR
inStocktrue when the card shows ADD (boolean flag, not a unit count)
url / productVariantIdhttps://www.zepto.com/pn/…/pvid/{uuid}
errorHonest row if WAF blocks; message tells you to turn on RESIDENTIAL IN

There is no availableQuantity.


Pricing

Pay-per-event: cheap volume PPE per product row (see Actor pricing on Apify). You also pay Apify residential proxy traffic.


Notes

  • Not Blinkit / Instamart. Same job, different apps — do not mix catalogues.
  • Outside India the site often returns HTTP 202 and no products. Country IN is not optional.
  • inStock is a flag. Zepto does not expose a reliable public unit counter on the card.
  • Public Terms of Use restrict robots (clause 10.4) and commercial copying of the platform (10.2). You are responsible for how you use the data. This Actor only reads what the public storefront already shows.