{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Shop Scraper - DEPRECATED",
    "description": "DEPRECATED - Please use the new version: https://apify.com/alizarin_refrigerator-owner/tiktok-shop-scraper-v2 - This actor is no longer maintained. The new V2 version includes better anti-detection, improved pricing, multi-region support, and AI sentiment analysis.",
    "version": "1.0",
    "x-build-id": "HQMY5WeroyHEplYQ2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~tiktok-shop-scraper-e-commerce-intelligence-at-scale/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-tiktok-shop-scraper-e-commerce-intelligence-at-scale",
        "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/alizarin_refrigerator-owner~tiktok-shop-scraper-e-commerce-intelligence-at-scale/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-tiktok-shop-scraper-e-commerce-intelligence-at-scale",
        "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/alizarin_refrigerator-owner~tiktok-shop-scraper-e-commerce-intelligence-at-scale/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-tiktok-shop-scraper-e-commerce-intelligence-at-scale",
        "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": {
          "searchQueries": {
            "title": "Search Queries",
            "type": "array",
            "description": "Keywords to search for products on TikTok Shop. Uses Google to discover product URLs, then scrapes each product page.",
            "default": [
              "wireless earbuds"
            ],
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Product URLs",
            "type": "array",
            "description": "Direct TikTok Shop product URLs to scrape (most reliable method). Example: https://shop.tiktok.com/view/product/1234567890",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "shopUrls": {
            "title": "Store/Shop URLs",
            "type": "array",
            "description": "TikTok Shop store URLs to scrape all products from (e.g. shop.tiktok.com/us/store/name/id)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxProducts": {
            "title": "Max Products",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of products to scrape per search query",
            "default": 50
          },
          "region": {
            "title": "Region",
            "enum": [
              "US",
              "UK",
              "DE",
              "FR",
              "ES",
              "IT",
              "ID",
              "MY",
              "PH",
              "SG",
              "TH",
              "VN"
            ],
            "type": "string",
            "description": "TikTok Shop region — affects available products, pricing, and currency",
            "default": "US"
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Generate sample data for testing — no actual scraping, no charges. Set FALSE for real scraping.",
            "default": false
          },
          "sessionCookies": {
            "title": "Session Cookies (JSON)",
            "type": "string",
            "description": "JSON array of cookies exported from Cookie-Editor browser extension. Optional — improves success rate on category pages."
          },
          "sadCaptchaApiKey": {
            "title": "SadCaptcha API Key",
            "type": "string",
            "description": "API key for automatic CAPTCHA solving. TikTok uses drag puzzle CAPTCHAs — SadCaptcha solves them automatically. Get a key at sadcaptcha.com. Strongly recommended for real scraping."
          },
          "useCamoufox": {
            "title": "Use Camoufox (Stealth Browser)",
            "type": "boolean",
            "description": "Use Camoufox anti-detection browser. Highly recommended — TikTok blocks standard browsers.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Use Apify proxy with RESIDENTIAL group for best results."
          },
          "dataforseoLogin": {
            "title": "DataForSEO Login",
            "type": "string",
            "description": "DataForSEO API login (email). Required for search query discovery. Get one at dataforseo.com. Can also be set as DATAFORSEO_LOGIN env var."
          },
          "dataforseoPassword": {
            "title": "DataForSEO Password",
            "type": "string",
            "description": "DataForSEO API password. Can also be set as DATAFORSEO_PASSWORD env var."
          },
          "cookieStorageKey": {
            "title": "Cookie Manager Storage Key",
            "type": "string",
            "description": "Key to load cookies from the Cookie Manager's Named KV Store. Use this instead of manually pasting sessionCookies. Run Cookie Manager in 'capture' mode first to store cookies, then reference the same storageKey here."
          },
          "cookieKvStoreName": {
            "title": "Cookie KV Store Name",
            "type": "string",
            "description": "Name of the Named Key-Value Store where Cookie Manager saved the session. Defaults to 'cookie-sessions'.",
            "default": "cookie-sessions"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}