
One call returns up to 10 videos from a TikTok collection. Each item is a video with full metadata including creator, engagement stats, and timestamps. The answer held 2 items in our call. Get the next page by passing the returned cursor value to the cursor parameter.
4 live routes on TikTok, from $0.00002 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-scraper7RapidAPI listing | Get Collection's VideosCHEAPESTGET collection/posts | $0.00002$0.02 / 1k calls |
tiktok-scraper7RapidAPI listing | Get Playlist's VideosGET mix/posts | $0.00002$0.02 / 1k calls |
tiktok-api23RapidAPI listing | Get Collection PostsGET api/collection/posts | $0.00005$0.05 / 1k calls |
tiktok-api23RapidAPI listing | Get Effect PostsGET api/effect/posts | $0.00005$0.05 / 1k calls |
From a real call to the cheapest route: tiktok-scraper7.
data.videos[].video_idTikTok video IDdata.videos[].aweme_idAlternative video IDdata.videos[].titleVideo captiondata.videos[].author.unique_idCreator's usernamedata.videos[].author.idCreator's user IDdata.videos[].digg_countNumber of likesdata.videos[].play_countNumber of viewsdata.videos[].comment_countNumber of commentsdata.cursorCursor for next pagePaging (tiktok-scraper7): read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats. From MCP: call_endpoint("rapidapi-tiktok-scraper7.get_collection_s_videos", params, pages=3) follows it for you.
Paging (tiktok-scraper7): read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats. From MCP: call_endpoint("rapidapi-tiktok-scraper7.get_playlist_s_videos", params, pages=3) follows it for you.
Paging (tiktok-api23): read `cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats. From MCP: call_endpoint("rapidapi-tiktok-api23.get_collection_posts", params, pages=3) follows it for you.
Paging (tiktok-api23): read `cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats. From MCP: call_endpoint("rapidapi-tiktok-api23.get_effect_posts", params, pages=3) follows it for you.
HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| cursor | string · query | optional | load more · default 0 |
| count | number · query | optional | max 30 · default 10 |
| collection_id | string · query | required | default 7394627756635573022 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/collection/posts?count=10&cursor=0&collection_id=7394627756635573022" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-scraper7.get_collection_s_videos", {"count": "10", "cursor": "0", "collection_id": "7394627756635573022"}){
"msg": "success",
"code": 0,
"data": {
"cursor": 10,
"videos": [
{
"play": "https://v45-tzt-ljy1e-ccjy.tiktokcdn.com/121472919b47746ec7209e9afc49dcf6/6ac2aee4/video/tos/alisg/t…",
"size": 7171166,
"cover": "https://p19-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oYQIDWNuYCYeHwMTg8ffGkBAQLFT0YdJD7qAjS~t…",
"is_ad": false,
"music": "https://v45.tiktokcdn.com/b894bd336167bc3e79219950b01445a8/6ac2aee4/video/tos/maliva/tos-maliva-ve-2…",
"title": "",
"author": {
"id": "6791598551904076805",
"avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/16b25128fbffca038bc04db11c0fd800~tplv-tikt…",
"nickname": "Noah Lyles",
"unique_id": "nojo18"
},
"is_top": 0,
"region": "US",
"wmplay": "https://v45-tzt-ljy1e-ccjy.tiktokcdn.com/c257ff0ae7f0ba9813c13aa730633020/6ac2aee4/video/tos/alisg/t…",
"anchors": null,
"wm_size": 8616053,
"aweme_id": "v12044gd0000cqocah7og65jmsjo0vmg",
"duration": 48,
"…": "17 more fields"
},
"… 3 more"
],
"hasMore": true
},
"processed_time": 2.3128
}| Parameter | Type | Notes | |
|---|---|---|---|
| cursor | string · query | optional | has more · default 0 |
| count | number · query | optional | max 30 · default 10 |
| mix_id | string · query | required | default 7551954991259339534 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/mix/posts?count=10&cursor=0&mix_id=7551954991259339534" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-scraper7.get_playlist_s_videos", {"count": "10", "cursor": "0", "mix_id": "7551954991259339534"})| Parameter | Type | Notes | |
|---|---|---|---|
| count | number · query | optional | default 30 |
| cursor | string · query | optional | |
| collectionId | string · query | required | default 7442134949027351314 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/collection/posts?count=30&collectionId=7442134949027351314" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_collection_posts", {"count": "30", "collectionId": "7442134949027351314"})| Parameter | Type | Notes | |
|---|---|---|---|
| cursor | number · query | optional | `cursor` parameter is used for pagination. In the first request, the default value of `cursor` is 0. For subsequent requests, the value of `cursor` will be taken from the response of the previous request · default 0 |
| count | number · query | optional | `count` parameter specifies the number of results to be returned. The default and maximum value is `30` · default 30 |
| effectId | string · query | required | default 321535 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/effect/posts?count=30&cursor=0&effectId=321535" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_effect_posts", {"count": "30", "cursor": "0", "effectId": "321535"})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.