Myntra Scraper
Pricing
Pay per usage
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
Maintained by CommunityActor 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
- 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.
?p=2returns page 1. Myntra's listing pages ignore the page parameter, so a scraper that loops over?p=2,?p=3collects 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 apagination-contextcursor that every response hands back. The actor does that loop for you.- Ads mixed in. Each listing page carries sponsored products in a separate array. They are left out.
What data you get
| Field | Description |
|---|---|
productId, name, brand | Myntra style id, product name and brand |
priceInr, mrpInr, discountPct | Selling price and printed MRP in rupees, and the discount |
rating, ratingCount | Average rating and number of ratings |
sizes, articleType, gender, colour | Sizes offered, product type, gender and colour |
image, url | Main image and product page |
unitsInStock, sizesInStock, sizesTotal | With Add product details on, or for product URLs |
lowestSizePriceInr, highestSizePriceInr, sellers | Price range across sizes and sellers, and the seller names |
sizeDetails | One entry per size and seller: size, skuId, available, seller, priceInr, mrpInr, units |
countryOfOrigin, attributes | Country of origin and Myntra's attribute table (fabric, fit, neck...) |
listingPriceInr | With details on: the price the listing card showed |
sourceUrl, scrapedAt | Where 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
- 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. - Product details: turn on Add product details to open each product page as well (one extra request per product).
- Product URLs: paste product URLs (
myntra.com/.../<id>/buyormyntra.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:
- Free trial, no token: leave the Scrape.do API token field empty and you get up to 50 products per run.
- 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.