REWALTO / DEVELOPERS / API / NYKAA
Nykaa product data API
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 |
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"
}
}Call the Nykaa endpoint
Set REWALTO_API_KEY to a key from your account, then run any of these.
cURL
curl -H "Authorization: Bearer $REWALTO_API_KEY" \
"https://api.rewalto.com/v1/data/listings?retailer=nykaa&limit=20"Python
import os
import requests
r = requests.get(
"https://api.rewalto.com/v1/data/listings",
params={"retailer": "nykaa", "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["title"], record["brand"])Node
const res = await fetch("https://api.rewalto.com/v1/data/listings?retailer=nykaa&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.title, record.brand);Search Nykaa products by brand
Add brand to read one brand, or retailerSku for one product. Each listing carries its latest reading, with the pin code it was read at.
Fields in each record
From API contract 0.157.0.
| 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. |
Full reference
Every parameter and error code for this endpoint is in the reference.
Not Nykaa's own API
Rewalto is not affiliated with, endorsed by or partnered with Nykaa. It reads Nykaa's public pages, the way a shopper sees them.
Questions people ask
- Is this the official Nykaa API?
- No. Rewalto is not affiliated with, endorsed by or partnered with Nykaa. It reads Nykaa's public pages, the way a shopper sees them.
- What does a read cost?
- 1 credit per 10 listings. 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.
- Does the Nykaa product data include stock?
- Yes. Each listing carries its latest reading, with the price, MRP and the in-stock flag Nykaa showed.
- Can an AI agent read it?
- AI agents can read the same records through Rewalto's MCP server, which is in preview.