{
  "openapi": "3.0.1",
  "info": {
    "title": "Myntra Scraper: Fashion Products, Prices, Sizes",
    "description": "Myntra scraper, no login: products from search words, categories, brand pages, links or style ids, deep category walks. Price, MRP, discount, rating, sizes, buy box stock and coupon; add stock per size and seller, reviews and pincode delivery. JSON, CSV, Excel, API, schedules; pay per product.",
    "version": "0.1",
    "x-build-id": "6zjMXA6yelwoMsrMV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~myntra-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-myntra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/automation_craft~myntra-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-myntra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/automation_craft~myntra-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-myntra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerms": {
            "title": "Search words",
            "type": "array",
            "description": "Words to search on Myntra, one search per entry (kurta, levis jeans, red saree). Each search delivers up to Max products per search. When Myntra does not recognise the words and shows something else instead (a misspelt or made up word), that search delivers nothing and is not charged; a free status row says how Myntra read it.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Myntra links",
            "type": "array",
            "description": "Links copied from myntra.com: a category, brand or search page (https://www.myntra.com/men-tshirts, https://www.myntra.com/roadster, https://www.myntra.com/kurta?rawQuery=kurta; its filters, price range and sort are kept unless you set your own below) or a product page (https://www.myntra.com/18389666 or the long .../18389666/buy form).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "Style ids",
            "type": "array",
            "description": "Myntra style ids (the number in a product link, as in myntra.com/18389666). Each is read from its product record. An id Myntra does not have gets a free status row.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "men-tshirts",
              "men-casual-shirts",
              "men-formal-shirts",
              "men-jeans",
              "men-casual-trousers",
              "men-kurtas",
              "men-jackets",
              "men-sweatshirts",
              "men-track-pants",
              "men-shorts",
              "men-casual-shoes",
              "men-sports-shoes",
              "men-formal-shoes",
              "men-watches",
              "women-kurtas-kurtis-suits",
              "sarees",
              "women-dresses",
              "women-tops",
              "women-tshirts",
              "women-jeans",
              "women-trousers",
              "women-ethnic-wear",
              "lehenga-choli",
              "dupatta",
              "women-heels",
              "women-flats",
              "women-sports-shoes",
              "women-handbags",
              "women-watches",
              "women-jewellery",
              "lipstick",
              "foundation",
              "perfumes",
              "kids-wear",
              "boys-clothing",
              "girls-clothing",
              "bedsheets",
              "curtains",
              "sunglasses",
              "backpacks"
            ],
            "type": "string",
            "description": "One common category page to read whole (any other category page can be pasted as a link above)."
          },
          "expandSubcategories": {
            "title": "Split into subcategories",
            "type": "boolean",
            "description": "Read each search, category or listing link one subcategory at a time: the Actor reads Myntra's own list of the categories under it (T-shirts, Shirts, Jeans ... with their counts) and walks each one as its own search, with its own coverage row and its own Max products per search. Every row still carries its category, sub category and master category.",
            "default": false
          },
          "genders": {
            "title": "Gender",
            "type": "array",
            "description": "Only products for these groups. Several values match any of them.",
            "items": {
              "type": "string",
              "enum": [
                "men",
                "women",
                "boys",
                "girls",
                "unisex"
              ],
              "enumTitles": [
                "Men",
                "Women",
                "Boys",
                "Girls",
                "Unisex"
              ]
            }
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Only these brands, written as Myntra lists them (Roadster, Libas, Levis). Several brands match any of them.",
            "items": {
              "type": "string"
            }
          },
          "colours": {
            "title": "Colours",
            "type": "array",
            "description": "Only these colours as Myntra names them (Black, Navy Blue, Off White). Several colours match any of them.",
            "items": {
              "type": "string"
            }
          },
          "sizes": {
            "title": "Sizes",
            "type": "array",
            "description": "Only products offered in these sizes as Myntra writes them (S, M, XL, 32, 8-9Y).",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price (INR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or above this many rupees."
          },
          "maxPrice": {
            "title": "Maximum price (INR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or below this many rupees."
          },
          "minDiscount": {
            "title": "Minimum discount (%)",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "Only products discounted by at least this percent (1 to 90)."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at or above this many stars (0 to 5). Products without a rating are left out. Myntra has no such filter, so it is applied to every row; a search stops after three pages in a row without a match (sort by customer rating to reach rated products first)."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "relevance",
              "new",
              "popularity",
              "price_low_to_high",
              "price_high_to_low",
              "discount",
              "customer_rating"
            ],
            "type": "string",
            "description": "Myntra's order: relevance (its default), new arrivals, popularity, price low to high, price high to low, discount or customer rating."
          },
          "includeSponsored": {
            "title": "Include sponsored products",
            "type": "boolean",
            "description": "Also deliver the sponsored products Myntra mixes into a search page, flagged isSponsored with their ad slot and campaign id. Each sponsored product is checked against every filter above. (Every search row says where its tile sits on the page, pagePosition, with or without this switch.)",
            "default": false
          },
          "includeRewrittenSearches": {
            "title": "Take Myntra's results for words it rewrote",
            "type": "boolean",
            "description": "By default a search Myntra did not recognise (it rewrote the words or showed products that do not name them), typed or pasted as a search link, delivers nothing and is free. Turn this on to deliver and pay for Myntra's results anyway.",
            "default": false
          },
          "maxItemsPerSearch": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "The most products one search, category or listing link delivers (1 to 500,000: a whole category, men-tshirts lists about 457,000; a 256 MB run holds about 235,000 products in all and stops cleanly past that, a 512 MB run about twice). The form starts at 10 for a quick first run; left empty (or through the API without it) the default is 100. A long walk reads about 15 products a second, so raise the run's timeout for one."
          },
          "maxItems": {
            "title": "Max products in all",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "The most products the whole run delivers (searches are read in order). Leave empty for no total cap."
          },
          "startPage": {
            "title": "Start page",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Start each search at this page of Myntra's results (1 to 20), Myntra's own pages of 50 products as on myntra.com: page 3 starts at product 101. Myntra pages with a cursor, so the pages before it are read to reach it; they are not delivered and not charged."
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The most result pages one search, category or listing link reads, counted from the start page (1 to 5,000; 100 products a page, or the per search cap when it is smaller, and Myntra's pages of 50 when a start page is set). Left empty, a search reads up to 5,000 pages, and one that still has more is marked partial in its coverage row."
          },
          "includeDetails": {
            "title": "Product details",
            "type": "boolean",
            "description": "Add each product's full record (the Product detail event): every size with its stock count and price per seller, every seller with name and address, the star breakdown, colour versions, attributes, description, material and care, size and fit, manufacturer, importer, country of origin, return period, cash on delivery, bank offers and the coupons of the buy box seller. A record whose offers or pincode delivery could not be read is delivered free, marked partial.",
            "default": false
          },
          "includeReviews": {
            "title": "Reviews",
            "type": "boolean",
            "description": "Add each product's written reviews as rows of their own (the Review event): rating, text, size bought, photos, votes, reviewer name and date. Myntra pools reviews across the colour versions of a product.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "The most reviews delivered per product (1 to 2,000). Default 20."
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "newest",
              "helpful"
            ],
            "type": "string",
            "description": "newest (default) or helpful (Myntra's most helpful first)."
          },
          "reviewsRating": {
            "title": "Review stars",
            "enum": [
              "all",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "all (default), or only reviews with this many stars."
          },
          "pincode": {
            "title": "Delivery pincode",
            "type": "string",
            "description": "An Indian pincode (six digits, 560001). Search rows then carry Myntra's delivery promise and express tag for it, and Product details carry whether each size can be delivered there and with which payment modes (cash on delivery included)."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A name for a memory this Actor keeps between runs (one per name, per Actor). With it, a scheduled run delivers and charges only products (and reviews) it has not delivered before (mode new_only), or watches product links and style ids for price and stock changes (mode changes)."
          },
          "monitorMode": {
            "title": "Monitor mode",
            "enum": [
              "new_only",
              "changes"
            ],
            "type": "string",
            "description": "new_only (default): only products and reviews not delivered before under this name. changes: every product link or style id is read each run and delivered as one Product check row saying what changed since the last run (price, MRP, stock, sizes)."
          },
          "resetMonitor": {
            "title": "Reset the monitor",
            "type": "boolean",
            "description": "Forget what the monitor delivered before and start again from this run.",
            "default": false
          },
          "maxRequestRetries": {
            "title": "Retries per request",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How often a call Myntra did not answer is asked again (1 to 5, default 3). A refused proxy session is replaced at once and does not count."
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "How long one call to Myntra may take before it is asked again on a fresh proxy session (5 to 60, default 15). A session that runs into it, or answers two calls slower than 8 seconds, is replaced."
          },
          "requestDelayMs": {
            "title": "Pause between requests (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Wait this long before every request to Myntra (0 to 10,000 milliseconds, default none). The pause is run time, so a long pause on a large run makes it slower and uses more of its unpaid work allowance."
          },
          "maxCallsPerSession": {
            "title": "Calls per proxy session",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Move to a fresh proxy session after this many requests to Myntra (1 to 1,000; the page load that sets Myntra's anonymous token counts as one). Left empty, the Actor keeps a session while Myntra answers it and moves on only when it is refused or slow, which is the cheapest and fastest. Each fresh datacenter session is checked before use, so a small value spends more of the run's unpaid work allowance."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Myntra refuses the platform's own addresses, so every call goes through a proxy. Default: Apify datacenter sessions on networks Myntra lets in (a session Myntra refuses is replaced), and Apify residential India only when those are spent. Apify proxy groups you pick here are not used (the Actor picks its own and says so); your own proxy links are used as given."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}