{
  "openapi": "3.0.1",
  "info": {
    "title": "Meesho Scraper: Products, Prices, Reviews",
    "description": "Pull Meesho products from search words or search links, no login needed. Each row: price, special offer price, struck price, discount, star rating, fabric, category, listing date, Mall, Assured and ad flags; optional buyer reviews with the star breakdown. JSON, CSV, Excel or API, pay per product.",
    "version": "0.1",
    "x-build-id": "FARltlYxeUfhPUvnp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~meesho-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-meesho-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~meesho-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-meesho-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~meesho-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-meesho-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 Meesho, one search per entry (kurti, saree, phone cover, bedsheet). Each search delivers up to Max products per search. Meesho answers words it has no products for with unrelated products; when its answer shows that (no row carries any of the words, and Meesho ranks them as an unknown query), this Actor delivers nothing for them, free.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Meesho search links",
            "type": "array",
            "description": "Search links copied from meesho.com (https://www.meesho.com/search?q=kurti; the newest order is kept when the link carries s=created_desc). This Actor reads Meesho's search only: a product, category or shop link is not read and gets a free row saying so. Tracking parts such as _ms and utm_source are ignored; a link carrying Meesho filters (its f part) is refused, set the filters below instead. Through the API, give each link as a text (an object {\"url\": \"...\"} is read too).",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Meesho's own order of a search: relevance (Meesho's default) or newest (newest listings first). Meesho applies no other order; to get products in price or rating order, use Order of delivered products. Set here, it applies to search links too (a link's own order is kept only when this is left out)."
          },
          "sortResults": {
            "title": "Order of delivered products",
            "enum": [
              "none",
              "price_low_to_high",
              "price_high_to_low",
              "rating",
              "rating_count",
              "discount"
            ],
            "type": "string",
            "description": "The order the products of each search are delivered in, sorted by this Actor among the products it read for that search (up to Max products per search): none (Meesho's order), price low to high, price high to low, rating, number of ratings, or discount."
          },
          "deepSearch": {
            "title": "Deep search",
            "type": "boolean",
            "description": "In relevance order Meesho stops adding new products after about 1,450 per search word. With this on, a search then also reads the other order (newest, which went past 18,000 products of saree on 2026-10-25) and each of Meesho's nine price bands (Under 199 rupees to 800 and above), each product delivered once. Useful with a high Max products per search."
          },
          "minPrice": {
            "title": "Minimum price (INR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or above this many rupees. Checked by this Actor on every row; rows outside it are free."
          },
          "maxPrice": {
            "title": "Maximum price (INR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or below this many rupees. Checked on every row; Meesho's own price band is sent along to narrow the search."
          },
          "minRating": {
            "title": "Minimum rating",
            "enum": [
              "1",
              "2",
              "3",
              "3.5",
              "4"
            ],
            "type": "string",
            "description": "Only products rated at least this many stars (1, 2, 3, 3.5 or 4). Checked on every row; a product without a rating does not pass."
          },
          "minDiscount": {
            "title": "Minimum discount (%)",
            "minimum": 1,
            "maximum": 99,
            "type": "integer",
            "description": "Only products whose discount off the MRP is at least this many percent (1 to 99). Checked on every row."
          },
          "mallOnly": {
            "title": "Meesho Mall only",
            "type": "boolean",
            "description": "Only products Meesho marks as Mall (branded products from authorised sellers)."
          },
          "assuredOnly": {
            "title": "Meesho Assured only",
            "type": "boolean",
            "description": "Only products Meesho marks as Assured."
          },
          "excludeAds": {
            "title": "Leave out ads",
            "type": "boolean",
            "description": "Leave out the sponsored products Meesho mixes into search results (rows flagged isAd)."
          },
          "maxItemsPerSearch": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most products one search delivers (1 to 20,000). Left out: 100."
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "The most Meesho pages one search reads (1 to 400). A search page holds up to 200 products (the first page of a search 20)."
          },
          "maxItems": {
            "title": "Max products in all",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most products the whole run delivers (1 to 100,000). Left out, a run still delivers at most 100,000 products (split a larger export into several runs)."
          },
          "pageSize": {
            "title": "Page size",
            "minimum": 20,
            "maximum": 200,
            "type": "integer",
            "description": "How many products one search page asks Meesho for (20 to 200). Left out: the Actor picks the most a page holds for the search (up to 200). The first page of every search asks for 20, enough to tell whether Meesho has products for the words."
          },
          "includeReviews": {
            "title": "Reviews",
            "type": "boolean",
            "description": "Deliver written reviews of each product (rating, text, reviewer name as Meesho shows it, date, helpful count, photos) as their own rows, charged as Review each. The product row then also carries Meesho's review count and its 1 to 5 star breakdown."
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The most reviews delivered per product (1 to 1,000). Left out: 20. A run reads at most 200,000 reviews in all; the products after that come without reviews."
          },
          "includeImages": {
            "title": "Image lists",
            "type": "boolean",
            "description": "Deliver every image link of a product (on by default); off keeps only the main image."
          },
          "maxRequestRetries": {
            "title": "Tries per call",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many times a call is tried in all before it is given up when Meesho does not answer it (1 to 5; 3 means the first try and two more). Left out: 3."
          },
          "requestTimeoutSecs": {
            "title": "Call timeout (seconds)",
            "minimum": 10,
            "maximum": 60,
            "type": "integer",
            "description": "How long one call may take (10 to 60). Left out: 25."
          },
          "maxConcurrency": {
            "title": "Parallel calls",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Products whose reviews are read at the same time (1 to 3). Left out: 3."
          },
          "requestDelaySecs": {
            "title": "Pause between calls (seconds)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "The least time between two calls of one kind (0 to 10). Left out: 0, the Actor's own pace."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Meesho answers only addresses in India, so the Actor uses Apify residential addresses in India whatever the group named here. You can give your own proxy links instead (they must exit in India)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}