Zepto Keyword Rank Tracker
Pricing
from $4.00 / 1,000 results
Zepto Keyword Rank Tracker
Organic + sponsored (ad) rank per keyword x store location on zepto. Dual-mode: the same capture_many() runs in the ATR rank-zepto service on our servers.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
AtTheRate AI
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Captures the full Zepto search results slate for a keyword in a specific Indian location, with every product's rank, the sponsored slots marked, and the brand sponsoring each one. Quick commerce is store level, so each pincode resolves to the store serving that area.
What you get
- One row per search result position:
position,product_id,name,brand,price,mrp,in_stockandinventory. is_sponsoredon paid slots, read from Zepto's own sponsored marker, withad_campaign_idcarrying the sponsoring brand Zepto names on the tile.- Full location context on every row:
location_label,pincodeandstore_id. captured_aton every row, so a time series can be built by appending runs.- Ranks for the whole slate, not just one brand, so competitor rank and ad share stay derivable.
Input
Give the keywords and at least one Indian pincode.
{"keywords": ["atta"],"locations": [{"lat": 28.4595,"lon": 77.0266,"label": "Gurgaon-DLF","pincode": "122002"}],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IN"},"pages": 1}
keywords(required): search terms to rank. Duplicates are ignored.pincodes: Indian 6-digit pincodes, for example["122002"]. Each is resolved to coordinates and Zepto picks the store serving that point.locations(advanced): exact store targets as{"label","lat","lon","pincode"}.pages: accepted for consistency with the other rank trackers. Zepto returns the whole slate in one response, so raising it does not fetch more.proxyConfiguration: egress for the run. An Indian residential proxy is the default and is required.
Output
One dataset row per search result position, per keyword and location.
{"captured_at": "2026-09-11T09:02:23+00:00","platform": "zepto","keyword": "atta","location_label": "Gurgaon-DLF","pincode": "122002","store_id": "b4dc8d65-ed2e-4142-81b6-373982b13500","position": 1,"is_sponsored": true,"ad_campaign_id": "Aashirvaad","product_id": "1ea1cff7-e7e1-529c-b74f-08e9a60ea4a6","name": "Aashirvaad Select | Pure MP Sharbati Wheat Atta for Soft Makhmali Rotis","brand": "Aashirvaad","price": 310,"mrp": 412,"in_stock": true,"inventory": 2}
Live runs of one keyword returned 34 rows with 4 sponsored in Gurgaon, and 37 rows with 7 sponsored for pincode 122002. ad_campaign_id is null on organic rows, and on Zepto it carries the sponsoring brand from the "Sponsored by" line.
Use cases
- Keyword rank tracking for your own SKUs, city by city, from
keyword,positionandlocation_label. - Ad-slot share: how many of the top positions carry
is_sponsoredtrue, and which brands hold them. - Competitor share of search, counting
brandacross the slate. - Price and MRP monitoring at rank, plus availability alerts from
in_stockandinventory.
Notes and limits
- An Indian residential proxy is required. Zepto's protection layer rejects datacenter and foreign addresses outright, and there is no direct mode.
- Only about one residential exit in three clears Zepto's challenge, so the actor retries a location on fresh sessions several times before calling it blocked. A capture can take a minute or two.
- The whole result slate for a keyword arrives in one response, so
pageshas no effect. - If a session dies part way through a keyword list, the remaining keywords resume on the next session, so a mid-run failure does not truncate your data.
- A keyword that matches nothing is reported as an empty capture with a warning, never as a clean zero.
- India only.
FAQ
Do I need a proxy? Yes, an Indian residential one, which is the actor default. Nothing else works here.
How many results can I get? The full slate Zepto returns for the keyword at that store. Live tests returned 34 and 37 rows for a grocery term.
Does it need a login or an API key? No.
How does a pincode pick a store? The pincode is resolved to coordinates, the storefront is loaded at that point, and Zepto's own session decides the serving store. That store comes back in store_id.
Why is a run slower than other trackers? Zepto challenges most exit addresses, so the actor spends time finding one that clears. That is the difference between a real local slate and an empty run.