Dataspryva

Myntra Fashion Catalog Finder by Category & Brand

Search Myntra's fashion catalog by keyword, category, or brand, or fetch specific products, for MRP, price, discount, ratings, sizes, colors, and category detail.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringoptionalWhat to fetch. Each mode has its own input list below.
searchQueriesarrayoptionalOne or more keyword searches (mode=search), e.g. `tshirts`, `printed kurtas`, `nike running shoes`. Each query is fetched separately and duplicates are removed.
categoriesarrayoptionalOne or more category listings (mode=browseByCategory).
Show all input fields
FieldTypeRequiredDescription
modestringoptionalWhat to fetch. Each mode has its own input list below.
searchQueriesarrayoptionalOne or more keyword searches (mode=search), e.g. `tshirts`, `printed kurtas`, `nike running shoes`. Each query is fetched separately and duplicates are removed.
categoriesarrayoptionalOne or more category listings (mode=browseByCategory).
brandsarrayoptionalOne or more brands to browse (mode=browseByBrand), e.g. `nike`, `levis`, `tommy hilfiger`. Spaces and punctuation are normalized automatically.
startUrlsarrayoptionalMyntra listing, search, category, brand, or product URLs (mode=byUrl). Product URLs are fetched as products; everything else is fetched as a listing.
productIdsarrayoptionalNumeric Myntra product IDs or product URLs (mode=byProductIds), e.g. `36674095`.
genderstringoptionalRestrict listing results to one gender segment. Applied on Myntra's side.
sortBystringoptionalHow Myntra orders listing results.
minPriceintegeroptionalOnly products whose selling price is at least this amount. 0 means no minimum.
maxPriceintegeroptionalOnly products whose selling price is at most this amount. 0 means no maximum.
minDiscountintegeroptionalOnly products discounted by at least this percentage. 0 means no minimum.
minRatingnumberoptionalOnly products rated at least this value (0-5). Products without a rating are excluded when this is above 0.
containsKeywordstringoptionalOnly products whose name contains this keyword (case-insensitive). Leave empty for all products.
includeDetailsbooleanoptionalOpen each product page to add sellers, addresses, per-size stock and measurements, specifications, rating breakdown, policies, videos, and tags. Slower but much richer. URL and product-ID modes always fetch details.
includeReviewsbooleanoptionalEmit one row per written review with recordType `review`, in addition to product rows.
maxReviewsPerProductintegeroptionalReview rows to fetch for each product when written reviews are enabled (1-2000).
maxItemsintegeroptionalTotal product rows to save across all queries, categories, brands, and URLs (1-10000). Review rows are additional.
splitLargeSearchesbooleanoptionalGo past the per-filter result cap by fetching gender, price-band, and sort slices, then removing duplicates. Recommended for deep exports.
proxyConfigurationobjectoptionalOptional override. Leave untouched and the actor selects a working connection automatically.

Download the published input schema

View complete JSON
{
  "description": "Search Myntra by keyword, browse categories or brands, or fetch listings, product URLs, and product IDs.",
  "properties": {
    "brands": {
      "default": [],
      "description": "One or more brands to browse (mode=browseByBrand), e.g. `nike`, `levis`, `tommy hilfiger`. Spaces and punctuation are normalized automatically.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Brands",
      "type": "array"
    },
    "categories": {
      "default": [],
      "description": "One or more category listings (mode=browseByCategory).",
      "editor": "select",
      "items": {
        "enum": [
          "tshirts",
          "shirts",
          "jeans",
          "trousers",
          "shorts",
          "trackpants",
          "sweatshirts",
          "sweaters",
          "jackets",
          "blazers",
          "coats",
          "kurtas",
          "kurtis",
          "sarees",
          "dresses",
          "tops",
          "skirts",
          "leggings",
          "innerwear",
          "socks",
          "swimwear",
          "shoes",
          "sneakers",
          "sports-shoes",
          "sandals",
          "flats",
          "heels",
          "boots",
          "slippers",
          "bags",
          "backpacks",
          "clutches",
          "wallets",
          "watches",
          "sunglasses",
          "belts",
          "caps",
          "scarves",
          "jewellery",
          "earrings",
          "rings",
          "bracelets",
          "chains",
          "dupattas",
          "stoles",
          "lehengas",
          "mens-grooming",
          "beauty"
        ],
        "enumTitles": [
          "T-shirts",
          "Shirts",
          "Jeans",
          "Trousers",
          "Shorts",
          "Track pants",
          "Sweatshirts",
          "Sweaters",
          "Jackets",
          "Blazers",
          "Coats",
          "Kurtas",
          "Kurtis",
          "Sarees",
          "Dresses",
          "Tops",
          "Skirts",
          "Leggings",
          "Innerwear",
          "Socks",
          "Swimwear",
          "Shoes",
          "Sneakers",
          "Sports shoes",
          "Sandals",
          "Flats",
          "Heels",
          "Boots",
          "Slippers",
          "Bags",
          "Backpacks",
          "Clutches",
          "Wallets",
          "Watches",
          "Sunglasses",
          "Belts",
          "Caps",
          "Scarves",
          "Jewellery",
          "Earrings",
          "Rings",
          "Bracelets",
          "Chains",
          "Dupattas",
          "Stoles",
          "Lehengas",
          "Men's grooming",
          "Beauty"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Categories",
      "type": "array"
    },
    "containsKeyword": {
      "default": "",
      "description": "Only products whose name contains this keyword (case-insensitive). Leave empty for all products.",
      "editor": "textfield",
      "prefill": "",
      "title": "Keyword in product name",
      "type": "string"
    },
    "gender": {
      "default": "",
      "description": "Restrict listing results to one gender segment. Applied on Myntra's side.",
      "editor": "select",
      "enum": [
        "",
        "men",
        "women",
        "boys",
        "girls"
      ],
      "enumTitles": [
        "Any",
        "Men",
        "Women",
        "Boys",
        "Girls"
      ],
      "prefill": "",
      "title": "Gender",
      "type": "string"
    },
    "includeDetails": {
      "default": true,
      "description": "Open each product page to add sellers, addresses, per-size stock and measurements, specifications, rating breakdown, policies, videos, and tags. Slower but much richer. URL and product-ID modes always fetch details.",
      "prefill": true,
      "title": "Fetch product details",
      "type": "boolean"
    },
    "includeReviews": {
      "default": false,
      "description": "Emit one row per written review with recordType `review`, in addition to product rows.",
      "prefill": false,
      "title": "Include written reviews",
      "type": "boolean"
    },
    "maxItems": {
      "default": 100,
      "description": "Total product rows to save across all queries, categories, brands, and URLs (1-10000). Review rows are additional.",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 2,
      "title": "Max products",
      "type": "integer"
    },
    "maxPrice": {
      "default": 0,
      "description": "Only products whose selling price is at most this amount. 0 means no maximum.",
      "maximum": 10000000,
      "minimum": 0,
      "prefill": 0,
      "title": "Max price (INR)",
      "type": "integer"
    },
    "maxReviewsPerProduct": {
      "default": 20,
      "description": "Review rows to fetch for each product when written reviews are enabled (1-2000).",
      "maximum": 2000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max reviews per product",
      "type": "integer"
    },
    "minDiscount": {
      "default": 0,
      "description": "Only products discounted by at least this percentage. 0 means no minimum.",
      "maximum": 90,
      "minimum": 0,
      "prefill": 0,
      "title": "Min discount (%)",
      "type": "integer"
    },
    "minPrice": {
      "default": 0,
      "description": "Only products whose selling price is at least this amount. 0 means no minimum.",
      "maximum": 10000000,
      "minimum": 0,
      "prefill": 0,
      "title": "Min price (INR)",
      "type": "integer"
    },
    "minRating": {
      "default": 0,
      "description": "Only products rated at least this value (0-5). Products without a rating are excluded when this is above 0.",
      "maximum": 5,
      "minimum": 0,
      "prefill": 0,
      "title": "Min rating",
      "type": "number"
    },
    "mode": {
      "default": "search",
      "description": "What to fetch. Each mode has its own input list below.",
      "editor": "select",
      "enum": [
        "search",
        "browseByCategory",
        "browseByBrand",
        "byUrl",
        "byProductIds"
      ],
      "enumTitles": [
        "Search by keyword",
        "Browse by category",
        "Browse by brand",
        "Fetch listing or product URLs",
        "Fetch product IDs"
      ],
      "prefill": "search",
      "title": "Mode",
      "type": "string"
    },
    "productIds": {
      "default": [],
      "description": "Numeric Myntra product IDs or product URLs (mode=byProductIds), e.g. `36674095`.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Product IDs",
      "type": "array"
    },
    "proxyConfiguration": {
      "default": {},
      "description": "Optional override. Leave untouched and the actor selects a working connection automatically.",
      "editor": "proxy",
      "prefill": {},
      "title": "Proxy configuration",
      "type": "object"
    },
    "searchQueries": {
      "default": [],
      "description": "One or more keyword searches (mode=search), e.g. `tshirts`, `printed kurtas`, `nike running shoes`. Each query is fetched separately and duplicates are removed.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [
        "tshirts"
      ],
      "title": "Search queries",
      "type": "array"
    },
    "sortBy": {
      "default": "",
      "description": "How Myntra orders listing results.",
      "editor": "select",
      "enum": [
        "",
        "new",
        "popularity",
        "price_asc",
        "price_desc",
        "discount",
        "customer_rating"
      ],
      "enumTitles": [
        "Default relevance",
        "What's new",
        "Popularity",
        "Price: low to high",
        "Price: high to low",
        "Better discount",
        "Customer rating"
      ],
      "prefill": "",
      "title": "Sort order",
      "type": "string"
    },
    "splitLargeSearches": {
      "default": true,
      "description": "Go past the per-filter result cap by fetching gender, price-band, and sort slices, then removing duplicates. Recommended for deep exports.",
      "prefill": false,
      "title": "Split large searches",
      "type": "boolean"
    },
    "startUrls": {
      "default": [],
      "description": "Myntra listing, search, category, brand, or product URLs (mode=byUrl). Product URLs are fetched as products; everything else is fetched as a listing.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Listing or product URLs",
      "type": "array"
    }
  },
  "required": [],
  "schemaVersion": 1,
  "title": "Myntra Scraper Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
productsstringoptionalDataset containing scraped Myntra products and written reviews, separated by recordType.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "Myntra products with prices, discounts, coupons, ratings, sellers, per-size stock, specifications, policies, media, and optional written-review rows.",
  "properties": {
    "products": {
      "description": "Dataset containing scraped Myntra products and written reviews, separated by recordType.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Myntra products and reviews",
      "type": "string"
    }
  },
  "title": "Myntra Fashion Catalog & Review Scraper Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {}
      },
      "title": "Products and reviews",
      "transformation": {
        "fields": [
          "recordType",
          "productName",
          "brand",
          "price",
          "mrp",
          "discountPercent",
          "couponCode",
          "rating",
          "sellerName",
          "inStock",
          "category",
          "productUrl"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Myntra Fashion Catalog & Review Scraper

Scrape Myntra fashion listings and product pages for pricing, discounts, coupons, sellers, size-level stock, specifications, and written reviews. Start from a keyword search, a category, a brand, a listing URL, or a list of product IDs, then export clean records that are ready for pricing research, catalog monitoring, or review analysis.

What this actor does

  • Five input modes: keyword search, category browse, brand browse, listing/product URLs, and numeric product IDs
  • Multiple inputs per run: several queries, categories, brands, URLs, or IDs are fetched in one job and deduplicated by product
  • Real pagination: walks past the first listing page and splits large searches by gender, price band, and sort order
  • Server-side filters: gender, sort order, and price range are applied by Myntra before records are collected; discount, rating, and name keywords are checked on each record
  • Full product enrichment: sellers and addresses, per-size stock and garment measurements, specifications, rating breakdown, return/COD policies, videos, tags, and coupons
  • Optional review rows: written reviews with rating, text, size bought, photos, votes, and dates
  • Empty fields are omitted — records never contain null, "", [], or {}

Output per product

Product rows have recordType: "product".

  • productId, productName, brand, additionalInfo
  • currency — always INR
  • mrp, price, discountAmount, discountPercent, discountDisplayLabel
  • couponCode, couponDiscount, priceWithCoupon, couponValidUntil
  • rating, ratingCount, reviewsCount, reviewCount, ratingDistribution
  • primaryColour, baseColour, gender, season, year
  • sizes[], availableSizes[], sizeOptions[] — per-size SKU, availability, stock, price, sellers, and measurements
  • hasMultipleSizes, inStock, totalStock, colourVariantImages[], colours[], relatedColoursCount
  • sellerId, sellerName, sellerCity, sellerState, sellers[] — partner ID, name, display name, and full address
  • description, materialCare, sizeFit, manufacturer, countryOfOrigin
  • specifications — garment attributes such as fabric, fit, pattern, sleeve, occasion, and wash care
  • tags[], offers[], videoUrls[], brandLogoUrl
  • imageUrl, imageUrls[]
  • category, subCategory, masterCategory, categoryPath, listedAt
  • isReturnable, isExchangeable, codAvailable, returnDays, tryAndBuy
  • productUrl, sourceUrl, query, sourceKind, detailsFetched, position, scrapedAt

Output per review

Review rows have recordType: "review" and are saved only when includeReviews is enabled.

  • reviewId, productId, reviewedProductId
  • rating, text, sizeBought
  • images[], videoUrl
  • upvotes, downvotes
  • reviewerName, reviewedAt
  • productName, brand, productUrl, sourceUrl, scrapedAt

Input

Field Type Default Description
mode string search search / browseByCategory / browseByBrand / byUrl / byProductIds
searchQueries array [] Keyword searches (mode=search)
categories array [] Category listings (mode=browseByCategory)
brands array [] Brand listings (mode=browseByBrand)
startUrls array [] Myntra listing or product URLs (mode=byUrl)
productIds array [] Numeric IDs or product URLs (mode=byProductIds)
gender string "" "" / men / women / boys / girls
sortBy string "" Default relevance, newest, popularity, price, discount, or rating
minPrice integer 0 Minimum selling price in INR; 0 means any
maxPrice integer 0 Maximum selling price in INR; 0 means any
minDiscount integer 0 Minimum discount percentage; 0 means any
minRating number 0 Minimum product rating; products without a rating are excluded when set
containsKeyword string "" Keep only product names containing this text
includeDetails boolean true Add sellers, stock, specifications, policies, media, and tags
includeReviews boolean false Emit written-review rows
maxReviewsPerProduct integer 20 Review rows per product when reviews are enabled
maxItems integer 100 Total product rows across all inputs (1–10000)
splitLargeSearches boolean true Split large searches by gender, price, and sort for more depth
proxyConfiguration object {} Optional override; leave untouched for automatic connection selection

Examples

Example: keyword search with filters

{
  "mode": "search",
  "searchQueries": ["running shoes", "polo tshirts"],
  "gender": "men",
  "minPrice": 500,
  "maxPrice": 3000,
  "minDiscount": 30,
  "sortBy": "price_asc",
  "maxItems": 200
}

Example: category and brand browse

{
  "mode": "browseByCategory",
  "categories": ["sneakers", "watches"],
  "gender": "women",
  "includeDetails": true,
  "maxItems": 150
}

Example: product URLs and IDs with reviews

{
  "mode": "byUrl",
  "startUrls": [
    "https://www.myntra.com/tshirts/puma/puma-unisex-train-all-day-essentials-slim-fit-drycell-polo-sports-t-shirt/36674095/buy",
    "36674095"
  ],
  "includeReviews": true,
  "maxReviewsPerProduct": 40,
  "maxItems": 20
}

Example: deep export from a listing URL

{
  "mode": "byUrl",
  "startUrls": [
    "https://www.myntra.com/kurtas?f=Gender%3Amen%2Cwomen"
  ],
  "splitLargeSearches": true,
  "sortBy": "popularity",
  "maxItems": 1000
}

Use cases

  • Price and discount monitoring — track selling price, MRP, coupon price, and discount depth across a catalog
  • Seller intelligence — see which seller owns the buy box, its location, and its stock position
  • Catalog enrichment — add fabric, fit, pattern, occasion, and garment measurements to an internal product feed
  • Review analysis — export ratings, review text, size feedback, photos, and helpfulness votes
  • Assortment research — compare brands and categories by price band, rating, and available sizes
  • Stock and variant tracking — monitor per-size availability and total inventory for key styles

FAQ

Is any login or API key required?

No. The actor reads publicly available Myntra catalog pages and does not need cookies, accounts, or API keys.

Do I need to set up a proxy?

No. The actor selects a working connection to Myntra automatically, starting with the cheapest path and escalating only when needed.

Why do I get fewer products than I requested?

Myntra limits how deep a single listing can be paged. Enable splitLargeSearches to partition a large request by gender, price band, and sort order; the actor then removes duplicates. Extremely broad categories can still have practical limits.

Why are some fields missing on some products?

Fields are omitted when Myntra does not publish them for that product. For example, some listings have no rating yet, some have no video, and some have no coupon.

What is the difference between price and priceWithCoupon?

price is the current selling price. priceWithCoupon is the best price after applying the displayed coupon, and couponCode contains that coupon's code.

What does detailsFetched mean?

It is true when the product page was opened successfully and the detail fields came from that page. Listing-only modes can still return a product row without it if a detail page is temporarily unavailable.

Why do review rows not count toward maxItems?

maxItems controls product rows. Review rows are additional records so that enabling reviews does not reduce the number of products you receive.

Are the images and videos permanent?

The actor returns the media URLs published by Myntra. They are public links, but Myntra may change or remove media over time.

Is this affiliated with Myntra?

No. This is an independent third-party actor that reads publicly available catalog pages.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build 1mGy2E6jqPmXqgRby. Documentation is regenerated from the default published build; private drafts are not included.