{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopee Scraper - Products, Prices & Shops in 8 Countries",
    "description": "Scrape Shopee search results, categories and shops in Brazil, Singapore, Indonesia, Malaysia, Thailand, Philippines, Vietnam and Taiwan: price, original price, discount, rating, seller location, promo labels, shop stats. No login. Error rows are free.",
    "version": "0.1",
    "x-build-id": "7KCCRObvUbXhPJvei"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~shopee-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-shopee-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/scrapewise~shopee-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-shopee-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/scrapewise~shopee-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-shopee-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 terms",
            "type": "array",
            "description": "What to search on Shopee, one per line, in the language of the country you pick (English works in Singapore, Malaysia and the Philippines; Shopee's own fuzzy match also helps elsewhere). Each term returns up to 'Max products per search' unique products, combining several sort orders when 'Dig deeper' is on.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "SG",
              "BR",
              "ID",
              "MY",
              "TH",
              "PH",
              "VN",
              "TW"
            ],
            "type": "string",
            "description": "Shopee country used for the search terms and for shop ids or usernames. Links always use the country of their own domain. Prices come in that country's currency (SGD, BRL, IDR, MYR, THB, PHP, VND, TWD).",
            "default": "SG"
          },
          "startUrls": {
            "title": "Shopee links",
            "type": "array",
            "description": "Search links (https://shopee.sg/search?keyword=phone%20case), category links (https://shopee.sg/Mobile-Gadgets-cat.11013350) or shop links (https://shopee.sg/shop/167068287 or https://shopee.sg/<shop-username>), from any of the 8 countries. Sort order and price range in a search link are kept. Product links are not supported: Shopee hides the price of a product page from visitors who are not logged in.",
            "items": {
              "type": "string"
            }
          },
          "shopIds": {
            "title": "Shops",
            "type": "array",
            "description": "Shop ids (167068287), shop usernames or shop links. Returns the shop's products in several sort orders (about 40 per order, up to about 190 per shop). Uses the Country above for ids and usernames.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerSearch": {
            "title": "Max products per search, category or shop",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Unique products per input. Shopee's pages repeat a lot, so deep results come from combining sort orders: about 250 to 300 per search term and about 190 per shop at most.",
            "default": 40
          },
          "maxTotalItems": {
            "title": "Max products for the whole run (optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap across all inputs together, for a fixed budget per run. Leave empty or 0 for no run cap. Also accepts 'maxItems'."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "sales",
              "newest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Order of the first pages read. 'Top sales' gives the best sellers of the term first (the order Shopee uses on its 'Top Sales' tab, which is as close as you can get to sales without a login).",
            "default": "relevance"
          },
          "useMoreSortOrders": {
            "title": "Dig deeper with the other sort orders",
            "type": "boolean",
            "description": "When the first sort order stops returning new products, continue with the others (top sales, newest, price up and down) until the limit. Turn off to get only the order you picked. Every row says which order it came from in sortOrder and its place in it in position.",
            "default": true
          },
          "minPrice": {
            "title": "Min price (local currency)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or above this price, in the currency of the country (for example 10 for SGD 10). Sent to Shopee and checked again on every row."
          },
          "maxPrice": {
            "title": "Max price (local currency)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or below this price, in the currency of the country."
          },
          "includeShop": {
            "title": "Include shop details",
            "type": "boolean",
            "description": "Adds the seller to every row: shop name, username and link, shop rating and rating count, followers, number of products, chat response rate, official / verified / preferred badges, join date and last active time. One request per shop (cached), no extra charge.",
            "default": false
          },
          "includeDetails": {
            "title": "Include product page details",
            "type": "boolean",
            "description": "Opens each product page to add its full description and category path (for example Mobile & Gadgets > Mobile Accessories > Cases). One extra request per product, charged as 'Product page added'. The product page has no price for visitors, so price and discount always come from the list.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new products since the last run",
            "type": "boolean",
            "description": "Remembers which products each input already returned (in a key-value store on your account named 'shopee-scraper-state') and delivers only products not seen before. Seen products are not delivered and not charged. With 'Track price changes' on, products whose price moved are delivered too. Delete the store to start over.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Track price changes",
            "type": "boolean",
            "description": "Compares every product with the previous run of the same input and adds isNewProduct, firstSeenAt, previousPrice, priceChange and isPriceDrop. Schedule the same Task daily to follow prices and discounts. Also accepts 'compareWithPreviousRun'.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy by default (datacenter, with a residential IP in the product's country as a fallback when a page is refused). Blocked sessions are swapped automatically.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}