# Nykaa price history API

Last updated 5 Nov 2026.

GET /v1/data/observations with retailer=nykaa returns every reading of a Nykaa product's price, MRP and stock, newest first, between two dates. 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 readings; the sample record below is free.

## Key facts

| | |
| --- | --- |
| Endpoint | GET /v1/data/observations |
| App filter | retailer=nykaa |
| Cost | 1 credit per 10 readings (Only delivered records use credits) |
| Key | API key needed |

## A real Nykaa record

One record from the free samples route (GET /v1/data/samples?dataset=price_history), 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.

```json
{
  "id": 93914682,
  "retailer": "nykaa",
  "retailerSku": "60261",
  "pincode": "national",
  "observedAt": "2026-10-29T18:23:27.000000Z",
  "ingestedAt": "2026-10-29T18:24:35.219304Z",
  "title": "Olay Total Effects Foaming Cleanser & Face Wash, Fights 7 Signs of Ageing With Green Tea Extracts",
  "brand": "Olay",
  "packSizeRaw": "100g",
  "priceMinor": 20000,
  "mrpMinor": 29900,
  "currency": "INR",
  "inStock": true,
  "category": "personal_care_nykaa",
  "productId": null,
  "sourceUrl": "https://www.nykaa.com/skin/cleansers/face-wash/c/8379?page_no=8",
  "recipeVersion": 5,
  "source": "harvest",
  "evidence": {
    "sha256": "9602feed71c08fab12b96afcf6353d6d288deacb61e236c3269beb2ce56cb4ba",
    "missing": false
  }
}
```

## Call the Nykaa 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/observations?retailer=nykaa&retailerSku=60261&limit=20"
```

Python:

```python
import os
import requests

r = requests.get(
    "https://api.rewalto.com/v1/data/observations",
    params={"retailer": "nykaa", "retailerSku": "60261", "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["priceMinor"])
```

Node:

```javascript
const res = await fetch("https://api.rewalto.com/v1/data/observations?retailer=nykaa&retailerSku=60261&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.priceMinor);
```

## Track a Nykaa price over time

Pass retailerSku (or productId) with from and to to get one product's readings between two dates. Each reading carries its own time, so a price change shows on the day it was read.

## Fields in each record

From API contract 0.157.0.

| Field | Type | What it means | Example |
| --- | --- | --- | --- |
| `id` | integer | Stable identifier of this reading; cite it when disputing a value. | `48210377` |
| `retailer` | string | The retailer key, as listed by /v1/data/retailers. | `"blinkit"` |
| `retailerSku` | string | The retailer's own product identifier. Unique within one retailer only. | `"prd-88213"` |
| `pincode` | string | The Indian pin code the page was read for, or national when the page is not pin-scoped. | `"110092"` |
| `observedAt` | string (date-time) | When the retailer's page was read. | `"2026-10-14T09:27:00Z"` |
| `ingestedAt` | string (date-time) | When the reading entered Rewalto's store. | `"2026-10-14T10:40:00Z"` |
| `title` | null or string | The product title as the retailer showed it. | `"Aashirvaad Atta 5 kg"` |
| `brand` | null or string | The brand as the retailer attributed it; often absent or wrong. | `"Aashirvaad"` |
| `packSizeRaw` | null or string | The pack size exactly as printed, unparsed. | `"5 kg"` |
| `priceMinor` | null or integer | Selling price in paise; null when it could not be read, never 0 for unknown. | `28500` |
| `mrpMinor` | null or integer | Maximum retail price in paise; null when the retailer published none. | `31000` |
| `currency` | string | ISO 4217 code of the amounts. | `"INR"` |
| `inStock` | null or boolean | Availability as the page showed it; null when the page carried no signal. Always null for Flipkart. | `true` |
| `category` | null or string | The retailer's own category, not normalised across retailers. | `"atta-rice-dal"` |
| `productId` | null or string | The matched Rewalto product, when the listing is matched to one. | `"0d6b4a52-4b6e-4c1a-9a7e-5b0d2f8f1a11"` |
| `sourceUrl` | null or string | The page this reading was taken from. | `"https://blinkit.com/prn/aashirvaad-atta/prid/88213"` |
| `recipeVersion` | null or integer | Version of the extraction recipe that produced the reading. | `5` |
| `source` | string | Always harvest: Rewalto's own collection. | `"harvest"` |
| `evidence` | object | Proof of where the record came from: the SHA-256 of the fetched response. The response itself is not kept; the hash, the source URL and the time are. |  |

## Full reference

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

- [Nykaa price history API reference](https://rewalto.com/developers/docs/api/nykaa/price-history)

## 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 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 build a Nykaa price tracker?** Read this endpoint each day for the products you follow, keep the records, and compare each new price with the last. 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, which is in preview.

## Related

- [Nykaa API](https://rewalto.com/developers/api/nykaa)
- [Nykaa product data API](https://rewalto.com/developers/api/nykaa/products)
- [Nykaa API contract for agents (OpenAPI)](https://rewalto.comhttps://api.rewalto.com/openapi/nykaa.json)
- [Full API contract (OpenAPI)](https://rewalto.com/developers/openapi.json)
- [Data catalogue for agents](https://rewalto.com/developers/catalog.json)
- [MCP server tools (preview)](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/nykaa/price-history
Last content change: 2026-11-05
