Myntra category listing
Products of one Myntra (India) category, brand or collection page (e.g. men-tshirts, nike, women-kurtas-kurtis-suits) with the site's attribute filters (brand, colour, size, fabric, fit and the rest), price, discount and rating ranges, sort and paging. Each product: name, brand, price, MRP, discount, rating and ratings count, sizes, stock and images, about 50 per page. Also the page title, sort options and every filter with its values and counts (each value carries the filter string to send back). Pass next_page back as page; null on the last page. An unknown page answers 404.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
categoryrequired | string | The listing page slug as in myntra.com links, e.g. men-tshirts, nike, women-kurtas-kurtis-suits, or its URL. Example: men-tshirts |
filter | string | An attribute filter Facet:value[,value] from filters[].values[].filter, e.g. Brand:Nike,Puma or Color:Black. Repeat the parameter (or join with ::) for several facets, up to 15. |
min_price | number | Lowest price in INR. |
max_price | number | Highest price in INR. |
discount | integer | Minimum discount percent (1-100), e.g. 40. |
rating | number | Minimum customer rating (1-5), e.g. 4. |
sort | recommended | popularity | new | price_desc | price_asc | discount | rating | recommended (default), popularity, new, price_desc, price_asc, discount, rating. |
page | integer | Page number (default 1, up to 100). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/myntra/v1/category?category=men-tshirts" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/myntra/v1/category",
params={"category": "men-tshirts"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/myntra/v1/category");
url.searchParams.set("category", "men-tshirts");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).