{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Shop Shops & Live Scraper",
    "description": "Scrape top TikTok Shop shops and live streams by sales: revenue (GMV), units sold, growth, the affiliate / own-account / shop-window split, live views and duration in 15 markets. Find them by keyword, category, creator or shop. Optional daily analytics. JSON, CSV, API.",
    "version": "0.1",
    "x-build-id": "2Z8wclB8lPracx2cL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lergassy~tiktok-shop-shops-live-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lergassy-tiktok-shop-shops-live-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/lergassy~tiktok-shop-shops-live-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lergassy-tiktok-shop-shops-live-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/lergassy~tiktok-shop-shops-live-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lergassy-tiktok-shop-shops-live-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": {
          "listType": {
            "title": "📋 List",
            "enum": [
              "shops",
              "lives"
            ],
            "type": "string",
            "description": "<b>Top shops</b>: shops ranked by revenue with the affiliate / own-account / shop-window split. <b>Top live streams</b>: TikTok Shop lives ranked by revenue with views, start time and duration.",
            "default": "shops"
          },
          "keywords": {
            "title": "🔍 Keywords",
            "type": "array",
            "description": "Give this or another input below — or leave all empty for the overall top shops or lives of the chosen country. Shops or lives matching each keyword: <b>air fryer</b>, <b>lip gloss</b>, <b>protein</b>.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "🗂️ Categories",
            "type": "array",
            "description": "Optional. TikTok Shop category names — <b>Beauty & Personal Care</b>, <b>Phones & Electronics</b>, <b>Skincare</b>, <b>Air Fryers</b>. Each one is a separate list of top shops or lives; the matched category is in the row.",
            "items": {
              "type": "string"
            }
          },
          "productIds": {
            "title": "🛍️ Products",
            "type": "array",
            "description": "Optional, <b>live streams only</b>. TikTok Shop product links or IDs: the lives that sold each product.",
            "items": {
              "type": "string"
            }
          },
          "creators": {
            "title": "👤 Creators",
            "type": "array",
            "description": "Optional, <b>live streams only</b>. TikTok usernames (<code>@name</code>), profile links or creator IDs: the lives of each creator.",
            "items": {
              "type": "string"
            }
          },
          "shopIds": {
            "title": "🏪 Shops",
            "type": "array",
            "description": "Optional, <b>live streams only</b>. TikTok Shop shop IDs or store links: the lives selling for each shop.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "US",
              "GB",
              "ID",
              "TH",
              "VN",
              "PH",
              "MY",
              "SG",
              "JP",
              "MX",
              "DE",
              "IT",
              "FR",
              "ES",
              "BR"
            ],
            "type": "string",
            "description": "TikTok Shop market. Revenue is in US dollars for every market.",
            "default": "US"
          },
          "period": {
            "title": "📅 Period",
            "enum": [
              "last30Day",
              "last7Day",
              "lastDay"
            ],
            "type": "string",
            "description": "Sales window for revenue, units sold and growth.",
            "default": "last30Day"
          },
          "month": {
            "title": "Calendar month",
            "type": "string",
            "description": "Optional, overrides Period: a past month as <code>2026-09</code>."
          },
          "sortBy": {
            "title": "↕️ Sort by",
            "enum": [
              "revenue",
              "unitsSold",
              "revenueGrowth",
              "affiliateRevenue",
              "ownAccountRevenue",
              "shopWindowRevenue",
              "productCount",
              "price",
              "views",
              "newest",
              "duration"
            ],
            "type": "string",
            "description": "Order of the list, highest first. Options marked (shops) or (lives) apply to that list only; otherwise revenue is used. Keyword shop lists come in relevance order.",
            "default": "revenue"
          },
          "maxResultsPerSource": {
            "title": "💯 Max shops or lives per input",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Upper limit of shops or lives from each keyword, category, product, creator or shop (or from the overall top list). Duplicates across inputs are skipped and not charged. Free Apify plan: up to 20 from each of the first 2 inputs.",
            "default": 100
          },
          "addAnalytics": {
            "title": "📈 Shop / live analytics ($)",
            "type": "boolean",
            "description": "<b>Paused until 22 October 2026</b> (rows come as plain rows at the plain price); from then $0.04 per row. Not on the free Apify plan. Shops: number of creators, products, videos and lives selling for the shop. Lives: viewers, GPM (revenue per 1,000 views) and products shown. Each such row is charged as a row with analytics instead of a plain row.",
            "default": false
          },
          "minRevenue": {
            "title": "Minimum revenue (USD) (shops)",
            "minimum": 0,
            "type": "integer",
            "description": "Only rows with at least this revenue in the period. 0 = no floor.",
            "default": 0
          },
          "maxRevenue": {
            "title": "Maximum revenue (USD) (shops)",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no ceiling.",
            "default": 0
          },
          "minPrice": {
            "title": "Minimum price (USD) (shops)",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no floor.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum price (USD) (shops)",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no ceiling.",
            "default": 0
          },
          "minFollowers": {
            "title": "Minimum creator followers (lives)",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no floor.",
            "default": 0
          },
          "maxFollowers": {
            "title": "Maximum creator followers (lives)",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no ceiling.",
            "default": 0
          },
          "shopType": {
            "title": "Shop type (shops)",
            "enum": [
              "all",
              "BRAND",
              "RETAILER"
            ],
            "type": "string",
            "description": "Keep brand shops or retailer shops only.",
            "default": "all"
          },
          "ascending": {
            "title": "Lowest first",
            "type": "boolean",
            "description": "Reverse the order: lowest values first.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}