Zepto Keyword Rank Tracker avatar

Zepto Keyword Rank Tracker

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Zepto Keyword Rank Tracker

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

AtTheRate AI

Maintained by Community

Actor 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_stock and inventory.
  • is_sponsored on paid slots, read from Zepto's own sponsored marker, with ad_campaign_id carrying the sponsoring brand Zepto names on the tile.
  • Full location context on every row: location_label, pincode and store_id.
  • captured_at on 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, position and location_label.
  • Ad-slot share: how many of the top positions carry is_sponsored true, and which brands hold them.
  • Competitor share of search, counting brand across the slate.
  • Price and MRP monitoring at rank, plus availability alerts from in_stock and inventory.

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 pages has 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.