{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Trending Hashtags Scraper With Exact View & Post Counts",
    "description": "TikTok Trending Hashtags Scraper With Exact View & Post Counts Scrape trending TikTok hashtags with real-time metrics, related tags, growth data, and top content insights. This actor delivers structured JSON or CSV, perfect for tracking trends, researching audiences.",
    "version": "0.1",
    "x-build-id": "ZwbUrb0QOzfusgRh3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~tiktok-trending-hashtags-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-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/scraper-engine~tiktok-trending-hashtags-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-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/scraper-engine~tiktok-trending-hashtags-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-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": {
          "measureMode": {
            "title": "🎯 Measurement Source",
            "enum": [
              "trending",
              "custom",
              "trending_and_custom"
            ],
            "type": "string",
            "description": "• 🔥 **Trending now** — measure the hashtags TikTok is currently ranking in your chosen market.\n• #️⃣ **My own hashtag list** — measure exactly the hashtags you supply, with no trending dependency.\n• 🔀 **Both** — trending hashtags plus your list, de-duplicated.",
            "default": "trending"
          },
          "hashtagsToMeasure": {
            "title": "#️⃣ My Hashtags",
            "uniqueItems": true,
            "type": "array",
            "description": "Hashtags to resolve to exact counts, with or without a leading `#`. Every hashtag that exists on TikTok returns real numbers here — it does **not** need to be trending. Example: `payday`, `rainbowpfp`, `fyp`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "marketCode": {
            "title": "🌍 Market",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "IE",
              "NZ",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "BE",
              "AT",
              "CH",
              "SE",
              "NO",
              "DK",
              "FI",
              "IS",
              "PL",
              "CZ",
              "SK",
              "HU",
              "RO",
              "BG",
              "HR",
              "GR",
              "PT",
              "EE",
              "LV",
              "LT",
              "LU",
              "UA",
              "BY",
              "KZ",
              "UZ",
              "JP",
              "KR",
              "TW",
              "TH",
              "VN",
              "PH",
              "ID",
              "MY",
              "SG",
              "KH",
              "MN",
              "MO",
              "BD",
              "PK",
              "IL",
              "TR",
              "SA",
              "AE",
              "EG",
              "QA",
              "KW",
              "BH",
              "OM",
              "JO",
              "LB",
              "IQ",
              "MA",
              "ZA",
              "NG",
              "BR",
              "MX",
              "AR",
              "CL",
              "CO",
              "PE",
              "AL"
            ],
            "type": "string",
            "description": "Which country's trending leaderboard to read. Only used by the trending modes — your own hashtag list is global. There is **no worldwide leaderboard** on TikTok's public surface, so this is always a single real country.",
            "default": "US"
          },
          "windowDays": {
            "title": "🕐 Trending Window",
            "enum": [
              "7",
              "30"
            ],
            "type": "string",
            "description": "The leaderboard window. **Only 7 and 30 exist.** TikTok's `120`, `365` and `1095` options are not real windows — `120` silently serves the 7-day data — so they are not offered here. Exact view and post counts are **lifetime totals** and are unaffected by this setting.",
            "default": "7"
          },
          "resolveExactCounts": {
            "title": "🔢 Resolve Exact View & Post Counts",
            "type": "boolean",
            "description": "Fetch the true **global lifetime** integers for every hashtag from TikTok's `statsV2`. Note these are a different quantity from the figures the Creative Center trends page prints: those are scoped to the market you selected, so a hashtag can show 188.7M on the US leaderboard while its global lifetime total is 492,043,129. Both are returned and both are labelled. Turn this off to skip the extra request per hashtag — the exact columns will then be `null` rather than guessed.",
            "default": true
          },
          "statsRouteCountry": {
            "title": "🧭 Exact-Count Route",
            "enum": [
              "auto",
              "CA",
              "AU",
              "NZ",
              "JP",
              "SG",
              "BR",
              "MX"
            ],
            "type": "string",
            "description": "TikTok serves the exact-count endpoint only to some regions — it answers with an empty body to US and EU traffic, including Apify's own datacenter egress. The lookup is therefore routed through a residential exit in a region that answers. Counts are lifetime **global** totals, so the route does not change the numbers. Leave on Auto unless one region is slow for you.",
            "default": "auto"
          },
          "statsConcurrency": {
            "title": "⚡ Parallel Stat Lookups",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "How many exact-count lookups run at once. Lower this if you see blocked attempts in the log. Range 1–12.",
            "default": 6
          },
          "minViewCount": {
            "title": "👁️ Minimum Lifetime Views",
            "minimum": 0,
            "type": "integer",
            "description": "Drop hashtags whose **exact global lifetime** view count is below this number. Example: `1000000000` keeps only billion-view hashtags. 0 disables the filter.",
            "default": 0
          },
          "minPostCount": {
            "title": "📝 Minimum Lifetime Posts",
            "minimum": 0,
            "type": "integer",
            "description": "Drop hashtags whose **exact global lifetime** post count is below this number. Example: `100000` keeps only hashtags with 100k+ videos. 0 disables the filter.",
            "default": 0
          },
          "industryContains": {
            "title": "🏷️ Industry Label Contains",
            "type": "string",
            "description": "Keep only hashtags whose industry label matches this text, case-insensitive. Example: `Games`, `Beauty`, `Food`. TikTok ignores server-side industry filtering on its public surface, so this is applied to the labels actually parsed from each row. Leave empty to keep all industries.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy Configuration",
            "type": "object",
            "description": "Optional. Leave disabled unless the log reports blocked attempts."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}