{
  "openapi": "3.0.1",
  "info": {
    "title": "Tiktok Trending Hashtags Analytics Scraper",
    "description": "Tiktok Trending Hashtags Analytics Scraper delivers real-time analytics for trending TikTok hashtags. Extract views, growth, engagement signals, related tags, and performance insights. Ideal for research, content planning, and workflows needing accurate hashtag analytics.",
    "version": "0.1",
    "x-build-id": "yhsmnXEWoLKoUEdlc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~tiktok-trending-hashtags-analytics-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-tiktok-trending-hashtags-analytics-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/api-empire~tiktok-trending-hashtags-analytics-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-tiktok-trending-hashtags-analytics-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/api-empire~tiktok-trending-hashtags-analytics-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-tiktok-trending-hashtags-analytics-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": "top100 = board ranking only (analytics is an empty object). top100_with_analytics = ranking plus the popularity curve, industry IDs and top creators. analytics = the same analytics shape, restricted to the names you list in hashtag_list (they must be on today's live board — this actor reads the board, it cannot look up an arbitrary hashtag).",
            "default": "top100_with_analytics"
          },
          "country": {
            "title": "Country / region",
            "enum": [
              "ALL",
              "AL",
              "AR",
              "AT",
              "AU",
              "BD",
              "BE",
              "BG",
              "BH",
              "BR",
              "BY",
              "CA",
              "CH",
              "CL",
              "CN",
              "CO",
              "CZ",
              "DE",
              "DK",
              "EE",
              "EG",
              "ES",
              "FI",
              "FR",
              "GB",
              "GR",
              "HK",
              "HR",
              "HU",
              "ID",
              "IE",
              "IL",
              "IN",
              "IQ",
              "IS",
              "IT",
              "JO",
              "JP",
              "KH",
              "KR",
              "KW",
              "KZ",
              "LB",
              "LT",
              "LU",
              "LV",
              "MA",
              "MN",
              "MO",
              "MX",
              "MY",
              "NG",
              "NL",
              "NO",
              "NZ",
              "OM",
              "PE",
              "PH",
              "PK",
              "PL",
              "PT",
              "QA",
              "RO",
              "SA",
              "SE",
              "SG",
              "SK",
              "TH",
              "TR",
              "TW",
              "UA",
              "AE",
              "US",
              "UZ",
              "VN",
              "ZA"
            ],
            "type": "string",
            "description": "TikTok publishes a trending board for 27 regions only: 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. Every other value in this list — including ALL — is accepted, but TikTok silently returns the US board for it. Those runs are flagged countrySupported=false / countryFallbackApplied=true on every row, never faked.",
            "default": "US"
          },
          "top100_period": {
            "title": "Board window (days)",
            "enum": [
              "7",
              "30",
              "90",
              "120"
            ],
            "type": "string",
            "description": "TikTok serves three real windows: 7, 30 and 90 days. 120 is kept for backwards compatibility but does not exist upstream — TikTok returns the 7-day board for it, and the run reports periodUsed=7 / periodAliasApplied=true. The popularity curve length follows this window.",
            "default": "7"
          },
          "analytics_period": {
            "title": "Analytics period (days) — no effect",
            "enum": [
              "7",
              "30",
              "120",
              "365",
              "1095"
            ],
            "type": "string",
            "description": "Kept for backwards compatibility only. TikTok scopes the popularity curve by the board window above and exposes no second period parameter, so this value changes nothing. Every row reports analyticsPeriodRequested and analyticsPeriodSupported=false.",
            "default": "30"
          },
          "top100_industry": {
            "title": "Industry filter — no effect on this actor",
            "enum": [
              "",
              "Apparel & Accessories",
              "Baby, Kids & Maternity",
              "Beauty & Personal Care",
              "Business Services",
              "Education",
              "Financial Services",
              "Food & Beverage",
              "Games",
              "Healthcare",
              "Home Improvement",
              "Household Products",
              "Life Services",
              "News & Entertainment",
              "Pets",
              "Real Estate",
              "Software & Apps",
              "Sports & Outdoor",
              "Tech & Electronics",
              "Travel",
              "Vehicle & Transportation"
            ],
            "type": "string",
            "description": "Kept for backwards compatibility only. TikTok's trend loader accepts no industry parameter (25 spellings tested, byte-identical rows), and this base actor does no client-side filtering. Rows still carry the raw industryIds TikTok attaches to each hashtag, and every row reports industryFilterSupported=false.",
            "default": ""
          },
          "top100_new_on_board": {
            "title": "New to the board only — no effect",
            "type": "boolean",
            "description": "Kept for backwards compatibility only. TikTok returns identical rows with and without this flag and publishes no field that marks a new entry (rankDiffType is absent from 0/243 live rows). Every row reports newOnBoardSupported=false.",
            "default": false
          },
          "hashtag_list": {
            "title": "Custom hashtag list (analytics mode)",
            "type": "array",
            "description": "Hashtag names without the # sign. Used only when result_type = analytics. Names are matched against the live board for the country and window you selected; anything not on today's board is skipped with a warning and no row is invented for it.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "total_hashtags": {
            "title": "Max hashtags to return",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Upper bound on the rows saved. The real ceiling is TikTok's: the public board serves at most 3 hashtags per country + window, and limit / page / pageSize / offset are all ignored by the server. Values above 3 are accepted and logged, they do not add rows.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Apify Proxy or your own proxy URLs.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}