REWALTO / DOCS / API / ZEPTO
Zepto sponsored ads data API reference
GET /v1/data/sponsored-share with retailer=zepto returns one record per brand, search term, pin code and day Rewalto searched Zepto: the product cards the brand held, how many Zepto marked sponsored, and the brand's share of all the sponsored cards. Rewalto holds about 4,47,327 Zepto sponsored share records, for days from 23 Sept 2026 to 4 Nov 2026. It needs an API key and costs 1 credit per 10 readings; the sample record below is free.
Last updated 4 Nov 2026.
Key facts
| Endpoint | GET /v1/data/sponsored-share |
|---|---|
| App filter | retailer=zepto |
| Cost | 1 credit per 10 readingsOnly delivered records use credits |
| Key | API key needed |
| Records held | about 4,47,327, 23 Sept 2026 to 4 Nov 2026From the coverage matrix |
Request
GET https://api.rewalto.com/v1/data/sponsored-share, with an API key sent as Authorization: Bearer. For one retailer: on each IST day, for each search term and pin code Rewalto searched, the product cards each brand held, how many were marked sponsored (in all and in places 1 to 10), and the brand’s share of all the sponsored cards of that term, pin and day. Ads are counted only from readings that can see the retailer’s ad marker (Blinkit, Zepto, Nykaa and Tata 1mg today); elsewhere the ad counts are 0 and the shares null. Observed counts, never a model. Newest day first, optionally one brand, one search term, one pin code and a day range. Catalogue entry lib_sponsored_share; one record is one brand, term, pin and day. Charged per record delivered at the dataset’s published rate (GET /v1/catalogue/entries/{id} shows it); re-reading the same records within 7 days is free, and an empty page costs nothing. No quote is needed: meta.credits shows the rate charged and the credits left. When the credits cannot cover the page: 402 credits_exhausted and no data.
curl -H "Authorization: Bearer $REWALTO_API_KEY" \
"https://api.rewalto.com/v1/data/sponsored-share?retailer=zepto&searchTerm=amul%20taaza%20milk&pincode=400050&limit=20"Parameters
| Name | In | Required | Type | What it means | Example |
|---|---|---|---|---|---|
retailer | query | yes | string | The retailer (a key from /v1/data/retailers). Use zepto for Zepto. | "blinkit" |
brand | query | no | string | Only this brand (exact match, case-sensitive). | "Mamaearth" |
searchTerm | query | no | string | Only this search term (exact). | "shampoo" |
pincode | query | no | string | Only this six-digit pin code. | "560034" |
from | query | no | string | Only IST days on or after this day (YYYY-MM-DD). | "2026-10-01" |
to | query | no | string | Only IST days on or before this day (YYYY-MM-DD). | "2026-10-17" |
limit | query | no | string | How many records to return, 1 to 500. Default 100. | "100" |
cursor | query | no | string | The nextCursor of the previous page, sent back with exactly the same filters. A cursor from other filters is refused. | "eyJ0IjoiMjAyNi0xMC0xNFQwOToyNzowMC4wMDBaIiwiaSI6NDgyMTAzNzcsImYiOiJhYmMxMjMifQ" |
Record fields
| Field | Type | What it means | Example |
|---|---|---|---|
day | string (date) | The IST day. | "2026-10-21" |
retailer | string | The retailer. | "blinkit" |
searchTerm | string | The search term. | "shampoo" |
pincode | string | The six-digit pin code searched at. | "560034" |
brand | string | The brand on the card, as the retailer wrote it; empty when the card named none. | "Dove" |
slots | integer | Product cards of this brand in the replies read. | 24 |
adAwareSlots | integer | Of those, cards from a reading that can see the ad marker. | 24 |
sponsoredSlots | integer | Of the ad-aware cards, those marked sponsored. | 6 |
organicSlots | integer | Of the ad-aware cards, those the retailer itself states are organic (Tata 1mg only); 0 elsewhere. | 0 |
top10AdAwareSlots | integer | Ad-aware cards in places 1 to 10 of a reply page. | 8 |
top10SponsoredSlots | integer | Sponsored cards in places 1 to 10 of a reply page. | 3 |
termAdAwareSlots | integer | Ad-aware cards of every brand for this term, pin and day. | 410 |
termSponsoredSlots | integer | Sponsored cards of every brand for this term, pin and day. | 52 |
sponsoredRate | null or number | sponsoredSlots / adAwareSlots: how much of this brand’s shelf was bought; null when no card was ad-aware. | 0.25 |
shareOfSponsored | null or number | sponsoredSlots / termSponsoredSlots: this brand’s share of the bought slots of the term, pin and day; null when the term had no sponsored card. | 0.1154 |
pages | integer | Reply pages that carried this brand. | 4 |
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" |
Errors
Errors share one shape: error.code, a retry advice and a request id.
| Status | error.code |
|---|---|
| 400 | invalid_request |
| 401 | key_expired, key_revoked, session_expired, unauthenticated |
| 402 | credits_exhausted, plan_required |
| 403 | org_missing, scope_missing |
| 409 | not_for_sale |
| 429 | rate_limited |
| 500 | internal |
| 503 | unavailable |
Credit cost
1 credit per 10 readings. Every account gets 1,000 free credits a month, and a read that delivers nothing costs nothing.
A real Zepto record
One record from the free samples route (GET /v1/data/samples?dataset=sponsored_share), 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 29 Oct 2026.
{
"day": "2026-10-29",
"retailer": "zepto",
"searchTerm": "amul taaza milk",
"pincode": "400050",
"brand": "Yoga Bar",
"slots": 1,
"adAwareSlots": 1,
"sponsoredSlots": 1,
"organicSlots": 0,
"top10AdAwareSlots": 0,
"top10SponsoredSlots": 0,
"termAdAwareSlots": 24,
"termSponsoredSlots": 24,
"sponsoredRate": 1,
"shareOfSponsored": 0.0417,
"pages": 1,
"firstSeen": "2026-10-28T23:23:12.000000Z",
"lastSeen": "2026-10-28T23:23:12.000000Z"
}