{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Shop Market Intelligence Suite",
    "description": "Research TikTok Shop markets in one run. Rank products, compare sellers, discover creators and shoppable videos, analyze reviews and sentiment, and return evidence-backed opportunities.",
    "version": "0.1",
    "x-build-id": "pzyn0BfJQ4VIRQHMQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nexascout~tiktok-shop-market-intelligence-suite/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nexascout-tiktok-shop-market-intelligence-suite",
        "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/nexascout~tiktok-shop-market-intelligence-suite/runs": {
      "post": {
        "operationId": "runs-sync-nexascout-tiktok-shop-market-intelligence-suite",
        "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/nexascout~tiktok-shop-market-intelligence-suite/run-sync": {
      "post": {
        "operationId": "run-sync-nexascout-tiktok-shop-market-intelligence-suite",
        "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": {
          "productUrls": {
            "title": "TikTok Shop product URLs",
            "maxItems": 10,
            "type": "array",
            "description": "Optional known products to include in the market study.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL",
                  "description": "A public TikTok Shop product-detail URL."
                }
              },
              "required": [
                "url"
              ]
            },
            "default": [
              {
                "url": "https://shop.tiktok.com/us/pdp/hpbs-24000mah-power-bank-6000a-jump-starter-150psi-inflate/1731973421800919262"
              }
            ]
          },
          "searchQueries": {
            "title": "Product niches or keywords",
            "maxItems": 3,
            "type": "array",
            "description": "Specific product niches used to discover and compare TikTok Shop products.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "TikTok Shop region",
            "enum": [
              "US"
            ],
            "type": "string",
            "description": "TikTok Shop market code. This release supports the United States.",
            "default": "US"
          },
          "analysisMode": {
            "title": "Analysis mode",
            "enum": [
              "FULL",
              "MARKET",
              "PRODUCTS"
            ],
            "type": "string",
            "description": "FULL includes products, sellers, creators, creatives, and public review sentiment. MARKET skips review-page extraction. PRODUCTS performs the lightest product-only study.",
            "default": "FULL"
          },
          "maxProductsPerQuery": {
            "title": "Maximum products per niche",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum verified products included for each niche.",
            "default": 1
          },
          "maxReviewsPerProduct": {
            "title": "Maximum reviews per product",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum public text reviews analyzed for each product in FULL mode.",
            "default": 3
          },
          "minimumReviewTextLength": {
            "title": "Minimum review text length",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Ignore public review text shorter than this many characters.",
            "default": 3
          },
          "maxCreativesPerProduct": {
            "title": "Maximum creatives per product",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum public video/product associations retained per product in MARKET and FULL modes.",
            "default": 3
          },
          "minVideoViews": {
            "title": "Minimum public video views",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Exclude creatives below this public view count. Keep 0 when view count may be unavailable.",
            "default": 0
          },
          "searchPublicTikTokVideos": {
            "title": "Search public TikTok videos",
            "type": "boolean",
            "description": "Search indexed public TikTok video pages when product pages expose no videos. Search-context matches remain explicitly unverified.",
            "default": true
          },
          "maxBrowserRequests": {
            "title": "Maximum browser pages per run",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Hard cap across product, search, creative, and review pages.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "US residential proxy is recommended because TikTok Shop is geo-sensitive.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          },
          "maxConcurrency": {
            "title": "Maximum extraction concurrency",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "Keep at 1–2 to reduce TikTok security challenges and proxy traffic.",
            "default": 2
          },
          "navigationTimeoutSecs": {
            "title": "Navigation timeout (seconds)",
            "minimum": 15,
            "maximum": 120,
            "type": "integer",
            "description": "Maximum time allowed for each HTTP or browser navigation.",
            "default": 45
          },
          "includeRawData": {
            "title": "Include raw source data",
            "type": "boolean",
            "description": "Include captured raw objects when available. This can greatly increase export size.",
            "default": false
          },
          "includeSearchFallbacks": {
            "title": "Include unverified search-only products",
            "type": "boolean",
            "description": "Allow indexed product leads when live TikTok Shop validation fails.",
            "default": false
          },
          "maxRunSeconds": {
            "title": "Run time budget (seconds)",
            "minimum": 60,
            "maximum": 3600,
            "type": "integer",
            "description": "Total run budget including startup when available. Stops extraction 25 seconds early to save the report. Large studies can increase this and the Apify run timeout together. Unfinished coverage is marked explicitly.",
            "default": 240
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}