FETCHAPI

List a TikTok user's latest posts API

One call returns up to 10 videos posted by a TikTok user. Each item is a video with playback URL, caption, engagement stats, and music info. The answer shows 10 items; get the next page by passing the `cursor` value to the `cursor` parameter.

7 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.

Get a keySee it in the catalogUse it from MCP

Price per call, by route

The upstream price you are metered at, cheapest first. A route without a published price says so.

ProviderEndpointPriceTested
tiktok-scraper7RapidAPI listing
Get User's PostCHEAPESTGET user/posts$0.00002$0.02 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api23RapidAPI listing
Download All User VideosGET api/download/user/video$0.00005$0.05 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api23RapidAPI listing
Get User Liked PostsGET api/user/liked-posts$0.00005$0.05 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api23RapidAPI listing
Get User PostsGET api/user/posts$0.00005$0.05 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api6RapidAPI listing
Post User VideosPOST user/videos$0.001998$2.00 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api6RapidAPI listing
User's VideosGET user/videos$0.001998$2.00 / 1k calls✓ 2026-10-06pricing ↗
tiktok-api6RapidAPI listing
User's Videos ContinuationGET user/videos/continuation$0.001998$2.00 / 1k calls✓ 2026-10-06pricing ↗

What it returns

From a real call to the cheapest route: tiktok-scraper7.

One call returns up to 10 videos posted by a TikTok user. Each item is a video with playback URL, caption, engagement stats, and music info. The answer shows 10 items; get the next page by passing the `cursor` value to the `cursor` parameter.
data.videos[].idVideo IDdata.videos[].video_idAlternative video IDdata.videos[].playPlayable video URLdata.videos[].coverVideo thumbnail URLdata.videos[].titleVideo captiondata.videos[].author.idCreator user IDdata.videos[].author.unique_idCreator usernamedata.videos[].digg_countLike countdata.videos[].play_countView countdata.cursorCursor for next page

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_user_s_post", 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_user_liked_posts", params, pages=3) follows it for you.

Paging (tiktok-api23): 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-api23.get_user_posts", params, pages=3) follows it for you.

Call it

HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.

GET /api/gw/rapidapi-tiktok-scraper7/user/posts$0.00002 / call✓ working · tested 2026-10-060.98 s latency
Parameters
ParameterTypeNotes
unique_idstring · queryoptional
cursorstring · queryoptionalUsed to get the content of the next page · default 0
user_idstring · queryoptionaldefault 107955
countstring · queryoptionalmax 30 · default 10
sort_typestring · queryoptionalSort Type 0-Latest 1-Hot · default 0
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/posts?count=10&cursor=0&user_id=107955&sort_type=0" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-scraper7.get_user_s_post", {"count": "10", "cursor": "0", "user_id": "107955", "sort_type": "0"})
Real example answer (trimmed) · 2026-10-03
{
  "msg": "success",
  "code": 0,
  "data": {
    "cursor": "1788444219118",
    "videos": [
      {
        "play": "https://v19.tiktokcdn-eu.com/19196572c2b4a12ee07e319a13a40222/6ac2aeed/video/tos/alisg/tos-alisg-ve-37c799-sg/oAcUigEXfRBf6fBAJqEVffAoy3hAeAiBfuvewiB/?a=1233&bt…",
        "size": 15062406,
        "cover": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast8-p-0068-tx2/oM8tULGCGRQNtQAnUfIIpKJA4AHAVfAMfqeuVF~tplv-tiktokx-cropcenter:300:400.jpeg?dr=10399&refresh_tok…",
        "is_ad": false,
        "music": "https://sf16-music.tiktokcdn-eu.com/obj/ies-music-tx2/7692467603113134879.mp3",
        "title": "ATEEZ on the FYF. BTS on tour. dance challenges on repeat. @rachelszero and friends reminisce on K-Pop Summer on TikTok",
        "author": {
          "id": "107955",
          "avatar": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:300:300.jpeg?dr=10397&refresh_token=8d7a4c…",
          "nickname": "TikTok",
          "unique_id": "tiktok"
        },
        "is_top": 0,
        "region": "US",
        "wmplay": "https://v19.tiktokcdn-eu.com/703199245c567ea9022c3a86c8a37a7c/6ac2aeed/video/tos/alisg/tos-alisg-ve-37c799-sg/osEfiVoEXcBfBifqmefZYfvUuReBfAAdigJABhA/?a=1233&bt…",
        "anchors": null,
        "wm_size": 13427269,
        "aweme_id": "v15044gf0000davu1gfog65v8vaf05og",
        "duration": 65,
        "…": "18 more fields"
      },
      {
        "play": "https://v19.tiktokcdn-eu.com/434c312fbfbd53be5c1f71b76cae18e5/6ac2af04/video/tos/alisg/tos-alisg-ve-37c799-sg/o8lQUIDfAAnTQvlqGLe2wqGFAkeoeIR3BA0pg7/?a=1233&bti…",
        "size": 18878962,
        "cover": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast8-p-0068-tx2/oM1EAXqI9sdDaCGhAJVcYfE2FEARCAv3leTUAE~tplv-tiktokx-cropcenter:300:400.jpeg?dr=10399&refresh_tok…",
        "is_ad": false,
        "music": "https://sf16-music.tiktokcdn-eu.com/obj/ies-music-tx2/7691701980183415582.mp3",
        "title": "if your FYF had you hitting the Zara Larsson, you'll know Pop Girl Summer is never-ending. @McCall Mirabella the music and moments that shaped the season 🐬",
        "author": {
          "id": "107955",
          "avatar": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:300:300.jpeg?dr=10397&refresh_token=8d7a4c…",
          "nickname": "TikTok",
          "unique_id": "tiktok"
        },
        "is_top": 0,
        "region": "US",
        "wmplay": "https://v19.tiktokcdn-eu.com/417b41999f5fab666cb126cd6e220968/6ac2af04/video/tos/alisg/tos-alisg-ve-37c799-sg/oAvqYLn0gAilgGvZAQLeeCUGpe2q3ewIQRFV7I/?a=1233&bti…",
        "anchors": null,
        "wm_size": 17058658,
        "aweme_id": "v15044gf0000dauo9t7og65pdvdkrqng",
        "duration": 88,
        "…": "18 more fields"
      },
      "… 2 more"
    ],
    "hasMore": true
  },
  "processed_time": 0.9389
}
Other routes for this job
tiktok-api23 · Download All User Videos$0.00005
GET /api/gw/rapidapi-tiktok-api23/api/download/user/video$0.00005 / call✓ working · tested 2026-10-061.21 s latency
Parameters
ParameterTypeNotes
minCursornumber · queryoptional`minCursor` parameter is used for pagination. In the first request, the default value of `minCursor` is 0. For subsequent requests, the value of `minCursor` will be taken from the response of the previous request. Both `minCursor` and `maxCursor` must be provided to paginate in the next request.
maxCursornumber · queryoptional`maxCursor` parameter is used for pagination. In the first request, the default value of `maxCursor` is 0. For subsequent requests, the value of `maxCursor` will be taken from the response of the previous request. Both `minCursor` and `maxCursor` must be provided to paginate in the next request.
secUidstring · queryrequiredUser secUid · default MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/download/user/video?secUid=MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api23.download_all_user_videos", {"secUid": "MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6"})
tiktok-api23 · Get User Liked Posts$0.00005
GET /api/gw/rapidapi-tiktok-api23/api/user/liked-posts$0.00005 / call✓ working · tested 2026-10-060.89 s latency
Parameters
ParameterTypeNotes
countnumber · queryoptional`count` parameter specifies the number of results to be returned. The default and maximum value is `30` · default 30
cursornumber · queryoptional`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
secUidstring · queryrequireddefault MS4wLjABAAAA-hnFaH9aGUYLRspPmUXT3nZOha3-CEyChdtqwlyFaG1M_kAi4MD0AaZkbuIsPIzc
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/user/liked-posts?count=30&cursor=0&secUid=MS4wLjABAAAA-hnFaH9aGUYLRspPmUXT3nZOha3-CEyChdtqwlyFaG1M_kAi4MD0AaZkbuIsPIzc" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api23.get_user_liked_posts", {"count": "30", "cursor": "0", "secUid": "MS4wLjABAAAA-hnFaH9aGUYLRspPmUXT3nZOha3-CEyChdtqwlyFaG1M_kAi4MD0AaZkbuIsPIzc"})
tiktok-api23 · Get User Posts$0.00005
GET /api/gw/rapidapi-tiktok-api23/api/user/posts$0.00005 / call✓ working · tested 2026-10-061.29 s latency
Parameters
ParameterTypeNotes
countnumber · queryoptional`count` parameter specifies the number of results to be returned. The default and maximum value is `35` · default 35
cursorstring · queryoptional`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
secUidstring · queryrequireddefault MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/user/posts?count=35&cursor=0&secUid=MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api23.get_user_posts", {"count": "35", "cursor": "0", "secUid": "MS4wLjABAAAAqB08cUbXaDWqbD6MCga2RbGTuhfO2EsHayBYx08NDrN7IE3jQuRDNNN6YwyfH6_6"})
tiktok-api6 · Post User Videos$0.001998
POST /api/gw/rapidapi-tiktok-api6/user/videos$0.001998 / call✓ working · tested 2026-10-069.80 s latency
Parameters
ParameterTypeNotes
usernamestr · bodyJSON body fielde.g. "mrbeast"
HTTP
curl -X POST "https://fetchapi.co/api/gw/rapidapi-tiktok-api6/user/videos" \
  -H "x-api-key: YOUR_KEY" -H "content-type: application/json" \
  -d '{"username": "mrbeast"}'
MCP
call_endpoint("rapidapi-tiktok-api6.post_user_videos", {}, {"username": "mrbeast"})
tiktok-api6 · User's Videos$0.001998
GET /api/gw/rapidapi-tiktok-api6/user/videos$0.001998 / call✓ working · tested 2026-10-065.01 s latency
Parameters
ParameterTypeNotes
usernamestring · queryrequireddefault mrbeast
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api6/user/videos?username=mrbeast" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api6.user_s_videos", {"username": "mrbeast"})
tiktok-api6 · User's Videos Continuation$0.001998
GET /api/gw/rapidapi-tiktok-api6/user/videos/continuation$0.001998 / call✓ working · tested 2026-10-061.70 s latency
Parameters
ParameterTypeNotes
continuation_tokenstring · queryrequireddefault 1655841269000
usernamestring · queryrequireddefault mrbeast
secondary_idstring · queryrequireddefault MS4wLjABAAAABKjQkOz_IIzXXzEAl_9LGsWhvK-gBnlczwRPXK8EmxAp6K3X0qiaP5_OEqmm0XwG
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api6/user/videos/continuation?username=mrbeast&secondary_id=MS4wLjABAAAABKjQkOz_IIzXXzEAl_9LGsWhvK-gBnlczwRPXK8EmxAp6K3X0qiaP5_OEqmm0XwG&continuation_token=1655841269000" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api6.user_s_videos_continuation", {"username": "mrbeast", "secondary_id": "MS4wLjABAAAABKjQkOz_IIzXXzEAl_9LGsWhvK-gBnlczwRPXK8EmxAp6K3X0qiaP5_OEqmm0XwG", "continuation_token": "1655841269000"})

Related TikTok APIs

All 43 TikTok jobs →

One key for every API on this page.

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.