{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Trending Hashtags Scraper",
    "description": "TikTok Trending Hashtags Scraper — Extract trending TikTok hashtags, hashtag views, video counts, related hashtags, and popularity metrics. Useful for trend discovery, hashtag research, content planning, influencer marketing, and competitor analysis.",
    "version": "0.1",
    "x-build-id": "fXDj8Rq6ENa9e2Q1X"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/socialdataapi~tiktok-trending-hashtags-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-socialdataapi-tiktok-trending-hashtags-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/socialdataapi~tiktok-trending-hashtags-scraper/runs": {
      "post": {
        "operationId": "runs-sync-socialdataapi-tiktok-trending-hashtags-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/socialdataapi~tiktok-trending-hashtags-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-socialdataapi-tiktok-trending-hashtags-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": {
          "result_type": {
            "title": "🔧 Result Type",
            "enum": [
              "top100",
              "top100_with_analytics",
              "analytics"
            ],
            "type": "string",
            "description": "Choose what the run should return. Top 100 Ranking returns just the trending list. Top 100 + Analytics adds a nested analytics object to every ranked hashtag. Hashtag Analytics returns analytics only - for your own Hashtag List if you set one, otherwise for the current trending list.",
            "default": "top100"
          },
          "country": {
            "title": "📍 Country",
            "enum": [
              "ALL",
              "US",
              "FR",
              "DE",
              "IT",
              "ES",
              "GB",
              "AR",
              "AU",
              "BR",
              "CA",
              "CO",
              "EG",
              "ID",
              "IL",
              "JP",
              "KR",
              "MY",
              "MX",
              "PH",
              "SA",
              "SG",
              "ZA",
              "TW",
              "TH",
              "TR",
              "AE",
              "VN"
            ],
            "type": "string",
            "description": "Country to pull the ranking and analytics for. ALL is an alias for the United States, matching how TikTok's own client resolves an unset country.",
            "default": "ALL"
          },
          "top100_period": {
            "title": "📅 Top 100 Period",
            "enum": [
              "7",
              "30",
              "90",
              "120"
            ],
            "type": "string",
            "description": "Time window for the Top 100 ranking. Used by Top 100 Ranking and Top 100 + Analytics. 120 is accepted for backward compatibility and is treated as 90.",
            "default": "7"
          },
          "analytics_period": {
            "title": "📅 Analytics Period",
            "enum": [
              "7",
              "30",
              "90",
              "120"
            ],
            "type": "string",
            "description": "Time window for the analytics trend curve. Used when Result Type is Hashtag Analytics. 120 is accepted for backward compatibility and is treated as 90.",
            "default": "30"
          },
          "top100_industry": {
            "title": "🎯 Industry Filter",
            "enum": [
              "",
              "10000000000",
              "11000000000",
              "12000000000",
              "13000000000",
              "14000000000",
              "15000000000",
              "16000000000",
              "17000000000",
              "18000000000",
              "19000000000",
              "20000000000",
              "21000000000",
              "22000000000",
              "23000000000",
              "24000000000",
              "25000000000",
              "26000000000",
              "27000000000",
              "28000000000",
              "29000000000",
              "30000000000"
            ],
            "type": "string",
            "description": "Narrow the Top 100 ranking to one TikTok Creative Center industry category. Leave on All Industries to skip filtering.",
            "default": ""
          },
          "top100_new_on_board": {
            "title": "✅ New on Board Only",
            "type": "boolean",
            "description": "Return only hashtags whose rank is new compared to this actor's own previous run for the same country, period and hashtag - perfect for spotting fresh trends. Has no effect on the very first run for a given country/period, since every hashtag is new then.",
            "default": false
          },
          "hashtag_list": {
            "title": "🔎 Hashtag List",
            "uniqueItems": true,
            "type": "array",
            "description": "Add your own hashtags (without the #) to fetch analytics for directly - they do not need to be part of the current trending ranking. Only used when Result Type is Hashtag Analytics. Leave empty to get analytics for the current trending list instead.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "total_hashtags": {
            "title": "🔢 Max Hashtags",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of hashtags to return (1-100). TikTok's logged-out preview caps real coverage well below 100 for most country/period combinations. Free plan: up to 20 hashtags per run (all requested hashtags together) and 200 per month; paid plans have no limit.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "Choose which proxies to use. By default, no proxy is used for the first attempt of each request; the actor automatically retries through Apify Proxy if TikTok blocks a request."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}