REWALTO / DEVELOPERS / API / MYNTRA
Myntra price history API
GET /v1/data/observations with retailer=myntra returns every reading of a Myntra product's price, MRP and stock, newest first, between two dates. For Myntra, Rewalto holds price readings: 200 pins held and national · 81,036 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.
Last updated 5 Nov 2026.
Key facts
| Endpoint | GET /v1/data/observations |
|---|---|
| App filter | retailer=myntra |
| Cost | 1 credit per 10 readingsOnly delivered records use credits |
| Key | API key needed |
A real Myntra 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.
{
"id": 93924631,
"retailer": "myntra",
"retailerSku": "27726806",
"pincode": "national",
"observedAt": "2026-10-29T18:29:42.000000Z",
"ingestedAt": "2026-10-29T18:31:43.480031Z",
"title": "d'Alba First Spray Serum With White Truffle - 50ml",
"brand": "d'Alba",
"packSizeRaw": "40-50 ML",
"priceMinor": 180000,
"mrpMinor": 180000,
"currency": "INR",
"inStock": true,
"category": "personal_care_myntra",
"productId": null,
"sourceUrl": "https://www.myntra.com/shoes?rawQuery=face serum",
"recipeVersion": 3,
"source": "harvest",
"evidence": {
"sha256": "db0926bf38d58e519215d8eadabc422127b705a39c4e2afd8970999240675c6f",
"missing": false
}
}Call the Myntra 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/observations?retailer=myntra&retailerSku=27726806&limit=20"Python
import os
import requests
r = requests.get(
"https://api.rewalto.com/v1/data/observations",
params={"retailer": "myntra", "retailerSku": "27726806", "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
const res = await fetch("https://api.rewalto.com/v1/data/observations?retailer=myntra&retailerSku=27726806&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 Myntra 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.
Not Myntra's own API
Rewalto is not affiliated with, endorsed by or partnered with Myntra. It reads Myntra's public pages, the way a shopper sees them.
Questions people ask
- Is this the official Myntra API?
- No. Rewalto is not affiliated with, endorsed by or partnered with Myntra. It reads Myntra'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 Myntra 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.