# Zepto product search API

Last updated 4 Nov 2026.

GET /v1/data/search-ranks with retailer=zepto returns one record per product, search term, pin code and day Rewalto searched Zepto: the best place the product held in the results, its page and slot, and how often it was seen, in the top ten and marked sponsored. Rewalto holds about 9,88,009 Zepto search rank records, for days from 1 Oct 2026 to 4 Nov 2026. It needs an API key and costs 1 credit per 10 readings; the sample record below is free.

## Key facts

| | |
| --- | --- |
| Endpoint | GET /v1/data/search-ranks |
| App filter | retailer=zepto |
| Cost | 1 credit per 10 readings (Only delivered records use credits) |
| Key | API key needed |
| Records held | about 9,88,009, 1 Oct 2026 to 4 Nov 2026 (From the coverage matrix) |

## A real Zepto record

One record from the free samples route (GET /v1/data/samples?dataset=search_rank), exactly as the paid read returns it, with long lists cut to three items. Samples are at least a week old; this set holds records up to 2 Nov 2026.

```json
{
  "day": "2026-11-02",
  "retailer": "zepto",
  "searchTerm": "amul milk",
  "pincode": "226001",
  "retailerSku": "08a478af-c359-451d-8faa-73a67f051e85",
  "brand": "Amul",
  "bestPlace": 1,
  "bestPage": 1,
  "bestPageSlot": 1,
  "readings": 1,
  "top10Readings": 1,
  "adAwareReadings": 1,
  "sponsoredReadings": 1,
  "firstSeen": "2026-11-02T09:09:36.000000Z",
  "lastSeen": "2026-11-02T09:09:36.000000Z"
}
```

## Call the Zepto endpoint

Set REWALTO_API_KEY to a key from your account, then run any of these.

cURL:

```bash
curl -H "Authorization: Bearer $REWALTO_API_KEY" \
  "https://api.rewalto.com/v1/data/search-ranks?retailer=zepto&searchTerm=amul%20milk&pincode=226001&limit=20"
```

Python:

```python
import os
import requests

r = requests.get(
    "https://api.rewalto.com/v1/data/search-ranks",
    params={"retailer": "zepto", "searchTerm": "amul milk", "pincode": "226001", "limit": 20},
    headers={"Authorization": f"Bearer {os.environ['REWALTO_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
for record in r.json()["data"]:
    print(record["searchTerm"], record["bestPlace"])
```

Node:

```javascript
const res = await fetch("https://api.rewalto.com/v1/data/search-ranks?retailer=zepto&searchTerm=amul%20milk&pincode=226001&limit=20", {
  headers: { Authorization: `Bearer ${process.env.REWALTO_API_KEY}` },
});
if (!res.ok) throw new Error(`Rewalto API ${res.status}`);
const { data } = await res.json();
for (const record of data) console.log(record.searchTerm, record.bestPlace);
```

## Track where Zepto products rank in search

Add searchTerm for one search term, retailerSku for one product, pincode for one pin code, and from and to for a range of days. bestPlace is the best place the product held in the results that day, counting from one; readings counts the times Rewalto saw it, top10Readings those in places 1 to 10, and sponsoredReadings those Zepto marked sponsored. These are counts of what Zepto showed, not a model.

## Fields in each record

From API contract 0.183.0.

| Field | Type | What it means | Example |
| --- | --- | --- | --- |
| `day` | string (date) | The IST day. | `"2026-10-21"` |
| `retailer` | string | The retailer. | `"flipkart"` |
| `searchTerm` | string | The search term. | `"instant coffee"` |
| `pincode` | string | The pin code searched at, or national. | `"national"` |
| `retailerSku` | string | The retailer’s own product id. | `"COFG5Z7H2ZQ8YH5K"` |
| `brand` | string | The brand on the card; empty when it named none. | `"Nescafe"` |
| `bestPlace` | null or integer | Best position in the whole result list that day (1 is first). | `3` |
| `bestPage` | integer | The first result page it was seen on (1 is the first page). | `1` |
| `bestPageSlot` | integer | Its best position on that page, ads included. | `3` |
| `readings` | integer | Search replies that showed it that day. | `4` |
| `top10Readings` | integer | Of those, replies that placed it in places 1 to 10. | `4` |
| `adAwareReadings` | integer | Replies from a reading that can see the ad marker. | `4` |
| `sponsoredReadings` | integer | Of the ad-aware replies, those that marked it sponsored. | `0` |
| `firstSeen` | string (date-time) | The first reading that day. | `"2026-10-21T02:31:10.000000Z"` |
| `lastSeen` | string (date-time) | The last reading that day. | `"2026-10-21T14:02:44.000000Z"` |

## Full reference

Every parameter and error code for this endpoint is in the reference.

- [Zepto product search API reference](https://rewalto.com/developers/docs/api/zepto/search)

## Not Zepto's own API

Rewalto is not affiliated with, endorsed by or partnered with Zepto. It reads Zepto's public pages, the way a shopper sees them.

## Questions people ask

**Is this the official Zepto API?** No. Rewalto is not affiliated with, endorsed by or partnered with Zepto. It reads Zepto's public pages, the way a shopper sees them.

**What does a read cost?** 1 credit per 10 readings. Every account gets 1,000 free credits a month, and a read that delivers nothing costs nothing.

**Do I need an API key?** Yes, for this endpoint. The sample on this page comes from GET /v1/data/samples, which is free and needs no key.

**How do I track my products' Zepto search rank?** Read this endpoint each day for your search terms and pin codes, keep the records, and compare bestPlace from day to day. Pass retailerSku to follow one product. Re-reading the same records within a week is free.

**Can an AI agent read it?** AI agents can read the same records through Rewalto's MCP server.

## Related

- [Zepto API](https://rewalto.com/developers/api/zepto)
- [Zepto product data API](https://rewalto.com/developers/api/zepto/products)
- [Zepto price history API](https://rewalto.com/developers/api/zepto/price-history)
- [Zepto dark store API](https://rewalto.com/developers/api/zepto/dark-stores)
- [Zepto sponsored ads data API](https://rewalto.com/developers/api/zepto/sponsored-share)
- [Zepto price and dataset page](https://rewalto.com/data/commerce/zepto)
- [Zepto dark store map](https://rewalto.com/data/dark-stores/app/zepto)
- [Zepto scraper alternative](https://rewalto.com/guides/zepto-scraper-alternative)
- [Zepto API contract for agents (OpenAPI)](https://api.rewalto.com/openapi/zepto.json)
- [Full API contract (OpenAPI)](https://rewalto.com/developers/openapi.json)
- [Data catalogue for agents](https://rewalto.com/developers/catalog.json)
- [MCP server tools](https://rewalto.com/developers/mcp)
- [Quickstart: your first request](https://rewalto.com/developers/docs/quickstart)
- [Pricing and free credits](https://rewalto.com/pricing)

---

Canonical page: https://rewalto.com/developers/api/zepto/search
Last content change: 2026-11-04
