# Myntra API scraper — India's fashion marketplace (myntra.com): search products with filters, the full product record with per-size and per-seller price and stock, the coupon price kept apart, reviews, similar products and search suggestions, in INR. No account, no browser.

> Search Myntra by keyword or category slug and get the matching products: Myntra product id, title, brand, images, the price paid with the MRP and discount, any coupon price kept separate, rating and rating count, gender, category, colour, sizes, the buy-box size's stock and seller id, and colour variant ids. Filter by brand, gender, category, colour, size, price and minimum discount; sort by popularity, newest, price, discount or rating. Returns the facet values Myntra offers for the result set.
> ReefAPI engine `myntra` · 5 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/myntra/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /myntra/v1/search — 1 credit
Search Myntra by keyword or category slug and get the matching products: Myntra product id, title, brand, images, the price paid with the MRP and discount, any coupon price kept separate, rating and rating count, gender, category, colour, sizes, the buy-box size's stock and seller id, and colour variant ids. Filter by brand, gender, category, colour, size, price and minimum discount; sort by popularity, newest, price, discount or rating. Returns the facet values Myntra offers for the result set.

**Parameters:**
- `query` (string, required) — What to look for on Myntra: a keyword ("black kurta") or a Myntra category slug ("men-tshirts"). Hindi script works too.
- `page` (integer, optional, default 1) — Result page, 1-based. Myntra serves only the first 500 results of a search (page × limit); a page beyond that is rejected, a page past the last result returns an empty list.
- `limit` (integer, optional, default 50) — Products per page, 1-100 (Myntra's own is 50).
- `sort` (enum, optional, default "popularity") — Order of results. Anything else is rejected (Myntra itself silently ignores unknown sorts). [one of: popularity, new, price_asc, price_desc, discount, rating]
- `brand` (array, optional) — One or more brand names exactly as Myntra lists them (`available_filters.brand` on any search returns them).
- `gender` (array, optional) — One or more of men, women, boys, girls. Myntra also returns unisex products for men / women. [one of: men, women, boys, girls]
- `category` (array, optional) — One or more Myntra categories as listed in `available_filters.category` (e.g. Sports Shoes, Tshirts, Kurtas).
- `color` (array, optional) — One or more colours (Black, Navy Blue, …) as in `available_filters.color`.
- `size` (array, optional) — One or more sizes as in `available_filters.size` (UK8, M, 32, …).
- `price_min` (number, optional) — Lowest price paid, in Indian rupees.
- `price_max` (number, optional) — Highest price paid, in Indian rupees.
- `min_discount` (integer, optional) — Only products discounted at least this much off MRP (Myntra's steps: 10, 20, … 90). [one of: 10, 20, 30, 40, 50, 60, 70, 80, 90]
- `max_rotations` (integer, optional, default 3) — Advanced: how many times to retry a difficult request (1-5).

**Returns:** results[]{product_id, title, brand, url, image, images[], price (number — what the shopper pays), mrp (India's printed Maximum Retail Price), price_before_discount (the MRP when above price, else null), discount_amount, discount_percent, currency (INR), discount_label, coupon{code, best_price} (a code the shopper enters — NOT subtracted from price), rating, rating_count, rating_scale (5), gender, category, sub_category, master_category, colour, short_description, sizes[], featured_sku{sku_id, size, stock, available} (the buy-box size only), seller_id, colour_variant_ids[], season, year, catalog_date}, count, total_results, reachable_results (min(total, 500)), page, limit, has_more, sponsored_dropped, available_filters{brand[], gender[], category[], color[], size[] {value, count}, price_ranges[], discount_ranges[] {from, to, count}}, filters_applied, currency

**Example request body:**
```json
{
  "query": "shoes"
}
```

### POST /myntra/v1/product/detail — 1 credit
The full Myntra product record by `product_id` (or product URL): title, brand, description, material and care, specification table, images and videos, the buy-box price with MRP, discount and when the discount ends, the cheapest and dearest in-stock price across sizes and sellers, the coupon best price kept separate, availability, every size with its stock, equivalent UK/US/EU sizes, measurements and each seller's price and stock, the buy-box seller, rating with count, review count and 1-5 histogram, category path, colour variants, country of origin, manufacturer / importer / packer, return window, cash on delivery and bank offers.

**Parameters:**
- `product_id` (string, required) — Myntra product id — the number before /buy in a product URL (…/HM-Trainers/40301489/buy → 40301489). A full product URL is accepted.
- `max_rotations` (integer, optional, default 3) — Advanced: how many times to retry a difficult request (1-5).

**Returns:** product{product_id, title, brand, url, price (buy-box offer), mrp, price_before_discount, discount_amount, discount_percent, currency, discount_label, discount_ends_at, price_min, price_max, coupon{code, best_price, discount, minimum_order, applicable_on, new_customers_only, ends_at, other_coupons[]} (never subtracted from price), availability (in_stock|out_of_stock), featured_size, featured_seller{id, name, city, state}, seller_count, sellers[]{id, name, city, state, has_stock}, sizes[]{size, sku_id, available, stock, size_type, equivalent_sizes{uk, us, euro, brand, age}, measurements[]{name, value, unit}, offers[]{seller_id, seller_name, price, mrp, price_before_discount, discount_amount, discount_percent, currency, stock, supply_type, buy_box_rank}}, rating, rating_count, review_count, rating_scale, rating_distribution{1..5}, images[], videos[], description, material_care, details[]{title, text}, specifications[]{name, value}, gender, breadcrumb[], category, colour, colour_variants[]{product_id, label, url, image}, country_of_origin, manufacturer, importer, packer, return_period_days, returnable, exchangeable, cash_on_delivery, emi_available, try_and_buy, policy_notes[], bank_offers[]{type, title, description}, size_chart_image, season, year, catalog_date, gtin (null — Myntra publishes none)}

**Example request body:**
```json
{
  "product_id": "34718633"
}
```

### POST /myntra/v1/product/reviews — 1 credit
Customer reviews of one Myntra product, a page at a time: star rating, text, reviewer display name, date, helpful votes, photos and videos, and the size bought, with the product's rating histogram, review count and average. Myntra pools reviews across colour variants of the same design; every review carries the product id it was written on. Filter by star rating; default or newest order.

**Parameters:**
- `product_id` (string, required) — Myntra product id — the number before /buy in a product URL (…/HM-Trainers/40301489/buy → 40301489). A full product URL is accepted.
- `page` (integer, optional, default 1) — Review page, 1-based.
- `limit` (integer, optional, default 12) — Reviews per page, 1-20.
- `sort` (enum, optional, default "default") — Review order. [one of: default, recent]
- `rating` (integer, optional) — Only reviews with exactly this star rating (1-5).
- `max_rotations` (integer, optional, default 3) — Advanced: how many times to retry a difficult request (1-5).

**Returns:** reviews[]{review_id, product_id, rating, text, author, date, upvotes, downvotes, images[], videos[], attributes{Size bought, …}}, count, page, limit, has_more, review_count, average_rating, rating_count, rating_scale, rating_distribution{1..5}, image_count, recommended_percent, pooled_product_ids[], product_id

**Example request body:**
```json
{
  "product_id": "34718633"
}
```

### POST /myntra/v1/product/similar — 1 credit
Products Myntra shows next to one product, in Myntra's own groups (Similar, ColourVariants and the others it returns), each with id, title, brand, image, price paid with MRP and discount, rating, category, gender and colour.

**Parameters:**
- `product_id` (string, required) — Myntra product id — the number before /buy in a product URL (…/HM-Trainers/40301489/buy → 40301489). A full product URL is accepted.
- `max_rotations` (integer, optional, default 3) — Advanced: how many times to retry a difficult request (1-5).

**Returns:** groups[]{type, count, products[]{product_id, title, brand, url, image, price, mrp, price_before_discount, discount_amount, discount_percent, currency, discount_label, rating, rating_scale, category, gender, colour, only_few_left}}, count, product_id, currency

**Example request body:**
```json
{
  "product_id": "34718633"
}
```

### POST /myntra/v1/suggest — 1 credit
Myntra's search suggestions for the text typed so far, with the number of products behind each suggestion.

**Parameters:**
- `query` (string, required) — The text typed so far.
- `max_rotations` (integer, optional, default 3) — Advanced: how many times to retry a difficult request (1-5).

**Returns:** suggestions[]{text, result_count, search_query, url, category, group}, count, query

**Example request body:**
```json
{
  "query": "shoes"
}
```

## More
- Try it live, no code: https://reefapi.com/playground?engine=myntra
- Human docs page: https://reefapi.com/docs/myntra
- Overview page: https://reefapi.com/myntra-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
