TikTok API endpoint
Returns TikTok Creative Center's ranked trending hashtags for a country, period, and optional industry. TikTok gates this endpoint's full result set behind a logged-in TikTok One account: an anonymous request always receives at most 3 hashtags per filter combination regardless of country, period, or industry, so selecting an industry returns that industry's own ranked top three. See the filters endpoint for the complete country, period, and industry value lists.
/tiktok/creative-center/hashtagsQuery parameters:
country_code: required. ISO-2 country code. Example: US. See /api/v1/tiktok/creative-center/filters for the complete country list.period: optional. Lookback window in days. Default: 7. Allowed values: 7, 30, 90.industry_id: optional. Creative Center industry id to restrict the ranking to. Allowed values: 10000000000, 11000000000, 12000000000, 13000000000, 14000000000, 15000000000, 17000000000, 18000000000, 19000000000, 21000000000, 22000000000, 23000000000, 24000000000, 25000000000, 26000000000, 27000000000, 28000000000, 29000000000. See /api/v1/tiktok/creative-center/filters for each id's display name.Notable response behavior:
total_count is always <= 3) per filter combination, regardless of
country, period, or industry. This was verified live on 2026-10-18 across
all 27 reportable countries, all three periods, and all 18 industry ids.26000000000 (Life Services) returned a valid empty result on 2026-10-18.hashtags array, not an
error: 19 additional countries (NL, SE, PL, RU, CN, IN, PK, NG, AT, CH, BE,
NO, FI, DK, IE, PT, GR, HU, RO) all returned HTTP 200 with an empty list on
2026-10-18.popularity_curve is a daily time series (roughly one point per day of the
requested period) showing the hashtag's relative popularity trend.top_creators lists the top creators currently associated with the hashtag.| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| hashtag_id | 3 | |
| hashtag_name | 3 | |
| rank | 3 | 1 to 3, median 2 |
| publish_count | 3 | 23,651 to 107,135, median 27,747 |
| video_views | 3 | 18,410,403 to 213,063,413, median 29,754,975 |
| popularity_curve | 3 | median 7 entries |
| top_creators | 3 | median 3 entries |
| industry_ids | 2 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| country_code | string | Yes | ISO-2 country code | US | |
| period | integer | No | Lookback window in days Allowed values: 7, 30, 90. | ||
| industry_id | string | No | Creative Center industry id to restrict the ranking to Allowed values: 10000000000, 11000000000, 12000000000, 13000000000, 14000000000, 15000000000, 17000000000, 18000000000, 19000000000, 21000000000, 22000000000, 23000000000, 24000000000, 25000000000, 26000000000, 27000000000, 28000000000, 29000000000. | 22000000000 |
curl -X GET "https://api.crawlora.net/api/v1/tiktok/creative-center/hashtags?country_code=US&period=7&industry_id=10000000000" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"hashtags": [
{
"hashtag_id": "7034820182681862190",
"hashtag_name": "spidermanbrandnewday",
"rank": 1,
"publish_count": 155696,
"video_views": 580603391,
"industry_ids": [
23000000000
],
"popularity_curve": [
{
"timestamp": 1784851200,
"value": 1.09
},
{
"timestamp": 1785369600,
"value": 100
}
],
"top_creators": [
{
"creator_id": "7517276699046887479",
"tiktok_uid": "6699136201699640325",
"handle": "spidermanmovie",
"nickname": "Spider-Man Movie",
"country_code": "US",
"rank": 1,
"follower_count": 5492852,
"avatar_url": "https://example.tiktokcdn.com/avatar.jpeg"
}
]
}
],
"total_count": 3
}
}Request schema
No body schema
Response schema
#/definitions/creativecenter.trendingHashtagsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | creativecenter.TrendingHashtagsResp | No | ||||
| data.hashtags | array | No | ||||
| data.hashtags[].hashtag_id | string | No | ||||
| data.hashtags[].hashtag_name | string | No | ||||
| data.hashtags[].industry_ids | array | No | ||||
| data.hashtags[].popularity_curve | array | No | ||||
| data.hashtags[].popularity_curve[].timestamp | integer | No | ||||
| data.hashtags[].popularity_curve[].value | number | No | ||||
| data.hashtags[].publish_count | integer | No | ||||
| data.hashtags[].rank | integer | No | ||||
| data.hashtags[].top_creators | array | No | ||||
| data.hashtags[].top_creators[].avatar_url | string | No | ||||
| data.hashtags[].top_creators[].country_code | string | No | ||||
| data.hashtags[].top_creators[].creator_id | string | No | ||||
| data.hashtags[].top_creators[].follower_count | integer | No | ||||
| data.hashtags[].top_creators[].handle | string | No | ||||
| data.hashtags[].top_creators[].nickname | string | No | ||||
| data.hashtags[].top_creators[].rank | integer | No | ||||
| data.hashtags[].top_creators[].tiktok_uid | string | No | ||||
| data.hashtags[].video_views | integer | No | ||||
| data.total_count | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 503 | Upstream failure | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tiktok/creative-center/hashtags?country_code=US&period=7&industry_id=10000000000" \
-H "x-api-key: $CRAWLORA_API_KEY"