Myntra Scraper avatar

Myntra Scraper

Pricing

Pay per usage

Go to Apify Store
Myntra Scraper

Myntra Scraper

Scrape Myntra listings and searches with real pagination: price, MRP, discount, rating and sizes, plus stock and price per size and seller from product pages. Free trial, no per-result fee, JSON or CSV. Powered by Scrape.do.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

scrapedo

scrapedo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

Scrape product data from Myntra, India's largest fashion marketplace: price, MRP, discount, rating and sizes for every product in a listing or search, with real pagination, plus optional stock and price per size and seller from each product page.

Free to try: run it without any setup and get up to 50 products per run. Add your free Scrape.do API token to remove the limit.

Why most Myntra scrapers fail

  1. Akamai Bot Manager. A script doesn't get an error from Myntra, it gets nothing: the connection opens and hangs until it times out. This actor fetches every page through the Scrape.do web scraping API, which returns the full page with a plain request: no browser, 1 credit per page.
  2. ?p=2 returns page 1. Myntra's listing pages ignore the page parameter, so a scraper that loops over ?p=2, ?p=3 collects the same 50 products again and again. Real pages come from Myntra's search API, which needs the session cookies from a page visit and a pagination-context cursor that every response hands back. The actor does that loop for you.
  3. Ads mixed in. Each listing page carries sponsored products in a separate array. They are left out.

What data you get

FieldDescription
productId, name, brandMyntra style id, product name and brand
priceInr, mrpInr, discountPctSelling price and printed MRP in rupees, and the discount
rating, ratingCountAverage rating and number of ratings
sizes, articleType, gender, colourSizes offered, product type, gender and colour
image, urlMain image and product page
unitsInStock, sizesInStock, sizesTotalWith Add product details on, or for product URLs
lowestSizePriceInr, highestSizePriceInr, sellersPrice range across sizes and sellers, and the seller names
sizeDetailsOne entry per size and seller: size, skuId, available, seller, priceInr, mrpInr, units
countryOfOrigin, attributesCountry of origin and Myntra's attribute table (fabric, fit, neck...)
listingPriceInrWith details on: the price the listing card showed
sourceUrl, scrapedAtWhere and when the row was scraped

Why per size and seller? A listing card has one price. On the product page each size lists its sellers, each with its own price and exact stock. A T-shirt listed at ₹389 can cost ₹402 in the size you want because only a second seller stocks it.

How to use it

  1. Listings and searches: paste any listing or search URL, with your sort and filters (myntra.com/men-tshirts?sort=new, myntra.com/levis?rawQuery=levis). Set Pages per listing; each page is 50 products.
  2. Product details: turn on Add product details to open each product page as well (one extra request per product).
  3. Product URLs: paste product URLs (myntra.com/.../<id>/buy or myntra.com/<id>) to get stock and price per size for specific products.

Input example

{
"startUrls": ["https://www.myntra.com/men-tshirts?sort=new"],
"maxPagesPerListing": 5,
"includeProductDetails": false,
"maxItems": 500,
"scrapeDoToken": "YOUR_SCRAPEDO_TOKEN"
}

Output example

One item per product. Example (fictional product, illustrative values, details on):

{
"productId": 90000001,
"name": "Example Men Solid Cotton Tshirt",
"brand": "Northwind Basics",
"priceInr": 449,
"mrpInr": 999,
"discountPct": 55,
"rating": 4.31,
"ratingCount": 1520,
"sizes": "S,M,L,XL",
"articleType": "Tshirts",
"colour": "Navy Blue",
"unitsInStock": 55,
"sizesInStock": 3,
"sizesTotal": 4,
"lowestSizePriceInr": 449,
"highestSizePriceInr": 469,
"sellers": "Example Retail One | Example Retail Two",
"sizeDetails": [
{ "size": "M", "available": true, "seller": "Example Retail Two", "priceInr": 449, "mrpInr": 999, "units": 5 },
{ "size": "M", "available": true, "seller": "Example Retail One", "priceInr": 469, "mrpInr": 999, "units": 30 }
],
"url": "https://www.myntra.com/tshirts/northwind-basics/example-men-solid-cotton-tshirt/90000001/buy",
"sourceUrl": "https://www.myntra.com/men-tshirts?sort=new",
"scrapedAt": "2026-11-02T09:00:00.000Z"
}

Download the results as JSON, CSV, Excel or HTML from the run's Output tab, or pull them through the Apify API.

Pricing and your Scrape.do token

There is no per-result fee for this actor; Apify only bills its normal platform usage. Pages are fetched through the Scrape.do web scraping API:

  1. Free trial, no token: leave the Scrape.do API token field empty and you get up to 50 products per run.
  2. Your own Scrape.do token: no product limit. Each request is 1 Scrape.do credit: one page visit per listing, one per page of 50, one per product page. Five pages of a listing (250 products) cost 6 credits. Create a free Scrape.do account for 1,000 free credits a month.

Good to know

  • One location. Prices and stock are what Myntra shows without a delivery pincode.
  • Sessions. Some page visits come back with an incomplete session that the search API rejects (401). The actor repeats the visit until Myntra hands out a full session, and refreshes it if the API still refuses.
  • Prefer Python? The same logic is an open-source package: pip install myntra-scraper (GitHub).

FAQ

Is scraping Myntra legal? The actor reads listing, search and product pages, which Myntra's robots.txt allows, and never touches cart, checkout or account paths. Product names, prices and stock are not personal data. Read Myntra's terms of use for your use case and keep request rates modest. This is not legal advice.

Something broke or a field is missing? Open an issue in the Issues tab and we will look at it.