
One call returns up to 16 trending TikTok posts. Each item is a post with video, music, and engagement stats. The answer held 16 items on this page. Get the next page by passing the cursor value from the answer into the cursor parameter.
2 live routes on TikTok, from $0.00005 per call. Every route below answered our last live test on 2026-10-06; the gateway re-tests them daily.
The upstream price you are metered at, cheapest first. A route without a published price says so.
| Provider | Endpoint | Price |
|---|---|---|
tiktok-api23RapidAPI listing | Get Trending PostsCHEAPESTGET api/post/trending | $0.00005$0.05 / 1k calls |
tiktok-api23RapidAPI listing | Get Trending VideoGET api/trending/video | $0.00005$0.05 / 1k calls |
From a real call to the cheapest route: tiktok-api23.
itemList[].idPost IDitemList[].descPost caption/descriptionitemList[].stats.playCountNumber of viewsitemList[].stats.diggCountNumber of likesitemList[].stats.commentCountNumber of commentsitemList[].stats.shareCountNumber of sharesitemList[].music.idAudio track IDitemList[].music.titleAudio track titleitemList[].video.playAddrVideo playback URLcursorPagination cursor for next pageHTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| count | number · query | optional | `count` parameter specifies the number of results to be returned. The default and maximum value is `16` · default 16 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/post/trending?count=16" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_trending_posts", {"count": "16"}){
"extra": {
"now": 1791057290000,
"logid": "20261004035449912EFAD53C5F05F4A512",
"fatal_item_ids": []
},
"cursor": "0",
"log_pb": {
"impr_id": "20261004035449912EFAD53C5F05F4A512"
},
"hasMore": true,
"itemList": [
{
"id": "7692090203355319559",
"desc": "фотки в тгк «юник еня» #2k17 #2k17vibes #сохраненки #закат ",
"isAd": false,
"music": {
"id": "7028918534302370562",
"title": "Фараон нон стоп",
"tt2dsp": {},
"playUrl": "https://v16m.tiktokcdn.com/aa915ae4ccb88d4e2d310d24baa84acb/…",
"private": false,
"duration": 18,
"original": true,
"authorName": "crystalldrpo",
"coverLarge": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/73…",
"coverThumb": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/73…",
"coverMedium": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/73…",
"isCopyrighted": false,
"shoot_duration": 18,
"is_commerce_music": true,
"…": "1 more fields"
},
"stats": {
"diggCount": 47400,
"playCount": 197900,
"shareCount": 5084,
"collectCount": 2009,
"commentCount": 1155
},
"video": {
"id": "7692090203355319559",
"size": 519471,
"cover": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/o0b1f…",
"ratio": "540p",
"width": 576,
"format": "mp4",
"height": 1024,
"VQScore": "57.46",
"bitrate": 490819,
"claInfo": {
"noCaptionReason": 3,
"hasOriginalAudio": false,
"enableAutoCaption": true
},
"videoID": "v14044g50000davsm3vog65li3cmbthg",
"duration": 8,
"playAddr": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alis…",
"codecType": "h264",
"…": "11 more fields"
},
"author": {
"id": "7005321811936183297",
"ftc": false,
"secUid": "MS4wLjABAAAAtsVXJE0YfAMEPubrMPIrW-4eCQ5_7UyjKD4iKXzlf6vyRdYQ…",
"secret": false,
"nickname": "царствие подъездное",
"relation": 0,
"uniqueId": "uniqueenya",
"verified": false,
"signature": "я есть вайб\n\nтгк: юник еня\n\nгруппа вк: юник еня",
"avatarThumb": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/ae7…",
"duetSetting": 0,
"isADVirtual": false,
"avatarLarger": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/ae7…",
"avatarMedium": "https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/ae7…",
"…": "7 more fields"
},
"digged": false,
"secret": false,
"statsV2": {
"diggCount": "47400",
"playCount": "197900",
"shareCount": "5084",
"repostCount": "0",
"collectCount": "2009",
"commentCount": "1155"
},
"ShowAIGC": true,
"contents": [
{
"desc": "фотки в тгк «юник еня» #2k17 #2k17vibes #сохраненки #закат ",
"textExtra": [
{
"end": "…",
"type": "…",
"start": "…",
"awemeId": "…",
"subType": "…",
"isCommerce": "…",
"hashtagName": "…"
},
"… 2 more"
]
}
],
"collected": false,
"forFriend": false,
"…": "27 more fields"
},
"… 2 more"
],
…| Parameter | Type | Notes | |
|---|---|---|---|
| page | number · query | optional | default 1 |
| period | number · query | optional | `7` | `30` · default 30 |
| order_by | string · query | optional | - `vv`: hot - `like`: like - `comment`: comment - `repost`: share · default vv |
| limit | number · query | optional | default 20 |
| country | string · query | optional | Country code. Head [here](https://gist.githubusercontent.com/apiboxguru/0571aef1a7c41a18d5de56d4c2b7da44/raw/43d88761beca96c2465bf99a89fc5060c0a6cd81/tiktok_trending_video_support_countries_with_codes.json) for a full list of supported countries · default US |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/trending/video?page=1&limit=20&period=30&country=US&order_by=vv" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_trending_video", {"page": "1", "limit": "20", "period": "30", "country": "US", "order_by": "vv"})Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.