TikTok Hashtags by Category rank_change via get_top_trends

Pass sort rank_change plus an official category on get_top_trends to list TikTok Trending Hashtags by Category climbers, then compare 1d fills against empty 30d defaults from one account.

Live data as of 2026-08-30

TikTok Trending Hashtags by Category rank_change on Trends MCP is get_top_trends with type TikTok Trending Hashtags by Category, an official category name, sort rank_change, and window 1d. From the August 30, 2026 pull, every board stamped as_of 2026-08-30T02:01:37 UTC. Games 1d used baseline 2026-08-29T02:01:36 UTC and returned count 25. grandtheftauto6 sat at rank 161, prev_rank 177, rank_change 16. Windows 3d, 7d, 14d, and 30d returned count 0 with baseline_ts null and an insufficient snapshot history note. Omitting window defaults to 30d and returns that empty body. Free tier access is 100 requests per month.

Games 1d closed at 25 climbers, all past rank 25

From the Trends MCP scan of August 30, 2026, TikTok Trending Hashtags by Category sort rank_change stamped 2026-08-30T02:01:37 UTC and filled 25 climber rows on Games window 1d, 0 rows on Games windows 3d through 30d, and 21 rows on the sibling TikTok Trending Hashtags 1d board, so a default sort rank pull at limit 25 never lists these mover fields.

Games 1d climbers (first 10 ASCII rows, same as_of, baseline 2026-08-29T02:01:36 UTC):

Current rankHashtagprev_rankrank_change
161grandtheftauto617716
162oncehuman17513
79hok889
155gamesnotiktok1649
115nikke1238
124nikkegoddessofvictory1328
77totaldramaisland847
59totaldrama656
160rov1666
63gtavi685

limit 50 on the same Games 1d call still returned count 25. Offset 25 then returned count 0 with the note that no items on the current board climbed versus the 1d baseline; everything held or fell. Raising limit does not invent extra climbers after the list is exhausted.

Default sort rank on Games filled 25 rows at offset 0 and still filled 25 at offset 175, closing at rank 200 (peterbot). Rank 1 was gaming. Rank 2 was fortnite. Rank 3 was minecraft. Rank 4 was gta6. Rank 5 was pokemon. The largest 1d climb sat at current rank 161. The closest 1d climber to the head was hoyoverse at rank 37, prev_rank 40, rank_change 3. redditstoriestts sat at rank 176 on the current board and at rank 176, prev_rank 180, rank_change 4 on the climber list. Default limit 25 stops at dota2 and never prints ranks 37, 161, or 176. The current-rank board for a category is documented on the TikTok Hashtags by Category API.

Omitting window sends 30d and returns count 0

sort rank_change without a window is a 30d request, and Games on this stamp set baseline_ts to null and returned count 0 with a note that no baseline snapshot sat within 10 days of 2026-07-31, so a copy-paste that only adds sort rank_change still looks empty.

WindowCategorybaseline_tsCountNote
1dGames2026-08-29T02:01:3625grandtheftauto6 +16 at rank 161
(omitted, defaults 30d)Gamesnull0no baseline within 10 days of 2026-07-31
3dGamesnull0no baseline within 1 days of 2026-08-27
7dGamesnull0no baseline within 3 days of 2026-08-23
14dGamesnull0no baseline within 5 days of 2026-08-16
30dGamesnull0no baseline within 10 days of 2026-07-31
3dBeauty and Personal Carenull0same 2026-08-27 missing-history note
3d(category omitted)null0same feed-level missing-history note
1dTikTok Trending Hashtags2026-08-29T02:01:3621dolly +65 at rank 97

The 3d note still says "within 1 days of 2026-08-27" even though the requested window is 3d. Beauty and Personal Care 3d and an unfiltered 3d call repeated that feed-level note, so the gap is not a Games-only miss. Pass window 1d until a longer baseline exists.

Sibling TikTok Hashtags rank_change on the same as_of filled 21 overall climbers. dolly sat at rank 97, prev_rank 162, rank_change 65. dollyparton sat at overall rank 5, prev_rank 14, rank_change 9. genshinimpact sat at overall rank 164, prev_rank 172, rank_change 8, while Games current rank put genshinimpact at 9. gta6 sat at overall rank 57, prev_rank 60, rank_change 3, while Games current rank put gta6 at 4. Overall rank 1 remained tiktokshopbacktoschool. Overall rank 10 was gaming.

How to call sort rank_change on a hashtag category board

get_top_trends with type TikTok Trending Hashtags by Category, category Games, sort rank_change, and window 1d returns climber objects, and REST mode get_top_trends bills that call as one request per page, so one Games 1d probe plus Video Games 1d plus Beauty and Personal Care 1d plus three empty longer Games windows is six requests before any get_growth follow-up.

{
  "mode": "get_top_trends",
  "type": "TikTok Trending Hashtags by Category",
  "category": "Games",
  "sort": "rank_change",
  "window": "1d",
  "limit": 50
}
{
  "mode": "get_top_trends",
  "type": "TikTok Trending Hashtags by Category",
  "category": "Video Games",
  "sort": "rank_change",
  "window": "1d",
  "limit": 50
}
{
  "mode": "get_growth",
  "source": "tiktok, google search",
  "keyword": "grandtheftauto6",
  "percent_growth": ["7D", "14D", "30D"]
}

An unknown category returns HTTP 400 with the 79 valid names, including Games, Video Games, Beauty, Beauty and Personal Care, Food, Culture, Card and Board Games, and Movies and TV. Names are case-sensitive on this type; the 400 payload is the authoritative list. Offset and limit still apply; details live on get_top_trends offset and limit.

Video Games copies the current-rank head, not the climber list

category Video Games and category Games returned the same current-rank top 10 on this stamp (gaming, fortnite, minecraft, gta6, pokemon, gta, freefire, fortniteclips, genshinimpact, fnaf), while Video Games 1d then ranked a different mover set led by evelone.

Video Games 1d, same as_of and baseline as Games 1d:

Current rankHashtagprev_rankrank_changeOn Games 1d?
175evelone20025no (Games current rank 180)
157grandtheftauto617215yes, Games 161 / 177 / +16
158oncehuman17012yes, Games 162 / 175 / +13
78hok879yes, Games 79 / 88 / +9
112nikke1208yes, Games 115 / 123 / +8

evelone is the proof the tail diverges. Games current rank 180 held evelone, so the Games 1d climber page omitted it. Video Games current rank 175 listed the same hashtag as a +25 climb from prev_rank 200. Copying a Games 1d payload onto Video Games drops that row.

source tiktok for evelone returned 30 points ending 2026-08-27. Recent value 100.0 versus 14.7 on 2026-08-20 (+580.27 percent), with volume 7,060,509 versus 2,363,106. 30D compared 100.0 versus 0.0 on 2026-07-29; quote those two values rather than the 999999.0 percent the API prints when the baseline is zero. source tiktok 3M on other hashtags in this run returned date_out_of_range because that series only spans 2026-07-29 through 2026-08-27.

Unfiltered rank_change reuses ranks across 79 boards

Omit category on sort rank_change and each row stays a category-local climb, so rank 102 can appear twice in one page while the category_path changes, which is the mixed-captain shape of the unfiltered current-rank board applied to movers.

Unfiltered 1d, limit 25, same as_of and baseline (CJK row omitted):

Current rankHashtagprev_rankrank_changecategory_path
85wordassociation192107Card and Board Games
109loveislandreunion19990Entertainment and Sports News
102josueroofing15957Business Services
102josueroofing15957Career and Professional Growth
15timcurry6954Movies and TV
62nationaldogday11351Pet Care and Accessories
121thyroid17251Health
121thyroid17251Health and Wellness

josueroofing and thyroid each occupy the same rank on two official names. nationaldogday also appeared as Pets rank 82, prev_rank 157, rank_change 75 on the same page. timcurry at Movies and TV rank 15 is a mixed-board climber inside the first 25 current ranks, which Games 1d never produced. Do not treat this unfiltered page as a global hashtag mover list. Pair it with the filtered TikTok Trending Hashtags board when a single 1-N ranking is required.

Beauty 1d still filled at offset 75

Beauty and Personal Care 1d does not exhaust at count 25 the way Games did, because limit 50 returned 50 rows, offset 50 returned 25 more, and offset 75 still returned 25, so default limit 25 hides most of that board's movers.

Beauty and Personal Care 1d top ASCII climbers (same as_of, baseline 2026-08-29T02:01:36 UTC):

Current rankHashtagprev_rankrank_change
152eyemakeup17422
123fallnails14421
118lipoil13315
179hygienetok19314
75makeuproutine849

The offset 50 page then included acne at rank 20, prev_rank 22, rank_change 2, plus perfumetok at 22, curls at 23, lorealparispartner at 24, and fragrancetiktok at 25. Those five sit inside the current top 25, which Games 1d never did. Beauty current rank 1 was makeup on both Beauty and Beauty and Personal Care. Rank 2 diverged: makeuptutorial on Beauty, hairtok on Beauty and Personal Care. Do not copy a Beauty payload onto Beauty and Personal Care past rank 1.

Food 1d at limit 50 filled 50. grocerysavings sat at rank 159, prev_rank 197, rank_change 38. 120pepperoni sat at 106 / 143 / +37. luxurycatering sat at 135 / 172 / +37. source tiktok and source google search both returned unavailable for grocerysavings, so a +38 climb is not a substitute for a volume series.

Growth follow-ups on the same pull day (tiktok 30 daily points, recent_date 2026-08-27; google search 261 weekly points, recent_date 2026-08-29):

KeywordLive rank contextSourceWindowRecent vs baseline
grandtheftauto6Games 1d rank 161 / +16tiktok7D100.0 vs 58.9 (+69.78%); volume 4,642,920 vs 2,781,743
grandtheftauto6Games 1d rank 161 / +16google search7D100.0 vs 0.0 (low quality, over 90 percent zeros)
gamingGames current rank 1, not a 1d climbertiktok7D45.5 vs 42.7 (+6.56%); volume 150,440,990 vs 149,356,534
gamingGames current rank 1google search7D30.0 vs 31.0 (-3.23%); 30D flat at 30.0
fortniteGames current rank 2, not a 1d climbertiktok7D2.5 vs 58.1 (-95.7%); volume 111,899,489 vs 160,538,969
fortniteGames current rank 2google search7D27.0 vs 35.0 (-22.86%)
gta6Games current rank 4; overall 57 / +3tiktok7Dunavailable
gta6Games current rank 4google search7D100.0 vs 37.0 (+170.27%)
oncehumanGames 1d rank 162 / +13tiktok7Dunavailable
oncehumanGames 1d rank 162 / +13google search7D29.0 vs 12.0 (+141.67%)
eyemakeupBeauty 1d rank 152 / +22tiktok7D100.0 vs 1.1; volume 3,911,365 vs 1,285,357
eyemakeupBeauty 1d rank 152 / +22google search7D46.0 vs 48.0 (-4.17%)

fortnite can sit at Games rank 2 while tiktok interest falls. grandtheftauto6 can sit at Games rank 161 while tiktok prints 100.0. Quote both payloads.

Common questions

Rows become objects with rank, keyword, prev_rank, rank_change, and category_path instead of a three-item rank-hashtag-category array. On August 30, 2026 the Games 1d window stamped 2026-08-30T02:01:37 UTC against baseline 2026-08-29T02:01:36 UTC and returned count 25. grandtheftauto6 sat at rank 161, prev_rank 177, rank_change 16. limit 50 on the same call still returned count 25.
sort rank_change defaults to window 30d. Games with no window on this stamp set baseline_ts to null and returned count 0 with a note that no baseline sat within 10 days of 2026-07-31. Windows 3d, 7d, and 14d returned the same empty shape with insufficient snapshot history. Pass window 1d to get the only filled lookback on this feed right now.
Not on this stamp. Default sort rank matched through the top 10 on both boards, led by gaming, fortnite, minecraft, gta6, and pokemon. Video Games 1d then put evelone at rank 175, prev_rank 200, rank_change 25, a row absent from the Games 1d list. Games still listed evelone at current rank 180.
No. grocerysavings sat at Food 1d rank 159, prev_rank 197, rank_change 38, while source tiktok and source google search both returned unavailable. oncehuman sat at Games 1d rank 162 while tiktok returned unavailable and google search sat at 29.0 versus 12.0 over 7 days. Quote the live rank and the growth payload separately.
get_top_trends is counted per feed type, per category, and per page, so one Games 1d call is one request, separate from Video Games 1d and from default sort rank. Offset 25 on the empty Games 1d tail still billed a page and repeated the held-or-fell note. Free covers 100 requests per month and Starter is $19 for 1,000, with extra percent_growth windows inside one get_growth call still counting as a single request.