REWALTO / DOCS / API / NYKAA
Nykaa product data API reference
GET /v1/data/listings with retailer=nykaa returns each Nykaa product Rewalto holds: title, brand, pack size, images, product link and its latest price, MRP and stock reading. For Nykaa, Rewalto holds price readings: 2 pins held and national · 43,357 readings on 4 Nov 2026 (measured 4 Nov 2026). It needs an API key and costs 1 credit per 10 listings; the sample record below is free.
Last updated 5 Nov 2026.
Key facts
| Endpoint | GET /v1/data/listings |
|---|---|
| App filter | retailer=nykaa |
| Cost | 1 credit per 10 listingsOnly delivered records use credits |
| Key | API key needed |
Request
GET https://api.rewalto.com/v1/data/listings, with an API key sent as Authorization: Bearer. Retailer listings (what a retailer sells, as last seen), newest first, each with all its image URLs (primary first). With selection, exactly the listings chosen in a free preview (discoverListings), by their selectionIds. Charged 1 credit per 10 listings delivered, rounded up; re-reading the same listings within 7 days is free, and an empty page costs nothing. 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/listings?retailer=nykaa&limit=20"Parameters
| Name | In | Required | Type | What it means | Example |
|---|---|---|---|---|---|
retailer | query | no | string | Only this retailer (a key from /v1/data/retailers). Use nykaa for Nykaa. | "blinkit" |
brand | query | no | string | Only records with exactly this brand text, as the retailer wrote it (exact match, case-sensitive). | "Aashirvaad" |
productId | query | no | string | Only records matched to this Rewalto product id. | "0d6b4a52-4b6e-4c1a-9a7e-5b0d2f8f1a11" |
retailerSku | query | no | string | Only this retailer product id (use together with retailer). | "prd-88213" |
selection | query | no | string | Only these listings: comma-separated selectionIds from the free preview (discoverListings), 1 to 100; a repeated id counts once. Charged like every listings page, for the listings delivered. | "sel_7c1e5f0a2f554d2b8c360f3f1d9c2b77,sel_0d6b4a524b6e4c1a9a7e5b0d2f8f1a11" |
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 |
|---|---|---|---|
id | string | Stable identifier of the listing. | "7c1e5f0a-2f55-4d2b-8c36-0f3f1d9c2b77" |
retailer | string | The retailer key. | "nykaa" |
retailerSku | string | The retailer own product identifier. | "1234567" |
title | null or string | The product title as the retailer showed it. | "Maybelline Superstay Matte Ink" |
brand | null or string | The brand as the retailer attributed it. | "Maybelline" |
packSizeRaw | null or string | The pack size exactly as printed. | "5 ml" |
imageUrl | null or string | The primary product image address (not the image itself): the first of images. | "https://images.example/lipstick-1.jpg" |
images | array of object | Every image address the source showed, in its order, primary first. Empty when it showed none. | |
url | null or string | The retailer product page. | "https://www.nykaa.com/p/1234567" |
productId | null or string | The matched Rewalto product, when matched. | "0d6b4a52-4b6e-4c1a-9a7e-5b0d2f8f1a11" |
firstSeen | string (date-time) | When the listing was first observed. | "2026-08-27T08:00:00Z" |
lastSeen | string (date-time) | When the listing was last observed. | "2026-10-14T09:00:00Z" |
observations | integer | How many times the listing has been observed. | 37 |
brandTag | null or object | Rewalto's model reading of the brand from the title (plan 13 T8), given only when the retailer attributed no brand. It never replaces brand. Null when the title is not tagged yet. | |
categoryTag | null or object | Rewalto's model reading of the GS1 GPC segment and family from the title (D-1498). Null when the title is not tagged yet. | |
similarity | number | Listing search with mode=semantic only: the cosine similarity of the listing and the query embeddings (OpenAI text-embedding-3-small, 512 dimensions), -1 to 1, higher is closer in meaning, to 6 decimal places. Absent everywhere else. | 0.71234 |
match | object | How this listing matched the search, only on search results. kind: exact_id (the query is the retailer product id), phrase (the name holds the words in order, next to each other), words (every word, spread out), brand (only the brand the query names), near (an approximate match, a likely misspelling). wholeWords of queryWords are whole words of the listing ("butter" in "Amul Butter", not in "Buttermilk"); allWords is true when every word is. When any listing holds every word as a whole word, the search returns only such listings. | |
latest | object | The listing's newest kept reading in the last 30 days, at the pin code asked for, else at any pin. Never a guess. |
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 |
| 429 | rate_limited |
| 500 | internal |
| 503 | unavailable |
Credit cost
1 credit per 10 listings. Every account gets 1,000 free credits a month, and a read that delivers nothing costs nothing.
A real Nykaa record
One record from the free samples route (GET /v1/data/samples?dataset=listings), 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.
{
"id": "d73f442d-2ee8-43bb-b36c-971435463d20",
"retailer": "nykaa",
"retailerSku": "17032319",
"title": "Mamaearth Rice Face Wash With Rice Water & Niacinamide for Glass Skin",
"brand": "Mamaearth",
"packSizeRaw": "150ml",
"imageUrl": "https://images-static.nykaa.com/media/catalog/product/tr:h-200,w-200,cm-pad_resize/9/4/947d865MAMAE00001046_1q.jpg",
"images": [
{
"url": "https://images-static.nykaa.com/media/catalog/product/tr:h-200,w-200,cm-pad_resize/9/4/947d865MAMAE00001046_1q.jpg",
"position": 0,
"source": "nykaa",
"firstSeen": "2026-09-02T04:34:38.000000Z",
"lastSeen": "2026-10-29T18:23:07.000000Z"
}
],
"url": "mamaearth-rice-face-wash-with-rice-water-niacinamide-for-glass-skin/p/17032469",
"productId": null,
"firstSeen": "2026-09-02T04:34:38.000000Z",
"lastSeen": "2026-10-29T18:23:07.000000Z",
"observations": 39,
"latest": {
"state": "priced",
"priceMinor": 42700,
"mrpMinor": 44900,
"currency": "INR",
"inStock": true,
"pincode": "national",
"observedAt": "2026-10-29T18:23:07.000000Z"
}
}