{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopee Price Tracker",
    "description": "[$0.40/1K products] Track Shopee prices in 11 marketplaces: current price, original price, discount, and the change since your last run — previous price, % change, lowest and highest seen. Product links or searches. No run fee.",
    "version": "0.1",
    "x-build-id": "KcQzI2GXzEMjXbc2G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lergassy~shopee-price-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lergassy-shopee-price-tracker",
        "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/lergassy~shopee-price-tracker/runs": {
      "post": {
        "operationId": "runs-sync-lergassy-shopee-price-tracker",
        "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/lergassy~shopee-price-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-lergassy-shopee-price-tracker",
        "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": {
          "mode": {
            "title": "🧭 What to scrape",
            "enum": [
              "auto",
              "search",
              "product",
              "shop"
            ],
            "type": "string",
            "description": "Choose the data type. <b>Products from search</b> – product cards from keyword search, category or listing URLs. <b>Product details</b> – full product pages with description, brand, gallery and seller. <b>Shop</b> – shop profile and its products. <b>Auto</b> decides by the URL you paste.",
            "default": "auto"
          },
          "country": {
            "title": "🌎 Country / marketplace",
            "enum": [
              "ID",
              "SG",
              "MY",
              "PH",
              "TH",
              "VN",
              "BR",
              "TW",
              "MX",
              "CO",
              "CL"
            ],
            "type": "string",
            "description": "Shopee marketplace for keyword searches. URLs keep their own country.",
            "default": "ID"
          },
          "searchTerms": {
            "title": "🔍 Search keywords",
            "type": "array",
            "description": "Keywords whose search results you want to price-watch, one per line, e.g. <code>iphone 15</code>. Each is searched in the selected marketplace. Give this or <code>startUrls</code>.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Shopee URLs",
            "type": "array",
            "description": "Shopee product links to watch (<code>.../Name-i.123.456</code>), or search, category and shop links. Give this or <code>searchTerms</code>; with neither, the run tracks the search <code>iphone 15</code> on Shopee Indonesia as a demo.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "💯 Max products",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many products per keyword or URL.",
            "default": 40
          },
          "priceHistoryStore": {
            "title": "📈 Price memory name",
            "type": "string",
            "description": "Name of the memory (a key-value store in your own Apify account) that keeps the last price of every product. Each row is compared with it: <code>previousPrice</code>, <code>priceChange</code>, <code>priceChangePercent</code>, <code>priceTrend</code>, lowest and highest price seen. Use one name per watch list; clear the field to switch tracking off.",
            "default": "shopee-prices"
          },
          "onlyPriceChanges": {
            "title": "🔔 Only price changes",
            "type": "boolean",
            "description": "Write (and charge) only products whose price went up or down since the last run with the same price memory, plus products seen for the first time. Unchanged products are skipped free of charge. Turn on for a scheduled price-drop alert.",
            "default": false
          },
          "enrichProducts": {
            "title": "Fetch full product details for every result ($)",
            "type": "boolean",
            "description": "Open each product page for description, brand, image gallery, category path and seller reputation. Slower and billed per product detail.",
            "default": false
          },
          "includeShopAndReviews": {
            "title": "🏪 Shop name, shop rating and review count on every card",
            "type": "boolean",
            "description": "Search results: add the seller's shop name and rating, the product's review count, brand and price range to every card. Read from each product's page — one extra request per card, no extra charge. Turn off for the fastest possible runs.",
            "default": true
          },
          "sortBy": {
            "title": "Sort results",
            "enum": [
              "relevancy",
              "sales",
              "latest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order of search results.",
            "default": "relevancy"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in the marketplace's own currency."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in the marketplace's own currency."
          },
          "minRating": {
            "title": "⭐ Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only products rated at least this (0–5 stars). Applied to the rating shown on the card; products without a rating are dropped when this is set."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Shopee serves pages per region. Residential proxies in the marketplace country give the most stable results.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}