# RapidAPI · tiktok-scraper7 (tikwm-tikwm-default)

Gateway provider `rapidapi-tiktok-scraper7` · call `https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/<path>` with header `x-api-key` (get a key at https://fetchapi.co/keys) · MCP: tools `search_endpoints`, `get_endpoint`, `call_endpoint` at https://fetchapi.co/api/mcp · listing: https://rapidapi.com/tikwm-tikwm-default/api/tiktok-scraper7

Upstream plan: PRO: $59/month for 3,000,000 requests; free tier: BASIC: $0, 300 requests/month, hard limit (https://rapidapi.com/tikwm-tikwm-default/api/tiktok-scraper7/pricing).

27 working endpoints, each tested live through this gateway. Endpoints that returned no data in our latest test, write actions and endpoints that need the end user's own login are not listed.

## `rapidapi-tiktok-scraper7.get_ads_detail` — Get Ads Detail

`GET /ads/top/ads/detail` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 469 ms

One call returns details of a single TikTok ad by material ID. The answer contains one ad object with video info, engagement metrics, targeting countries, and campaign objectives. No pagination.

| param | required | example / default |
|---|---|---|
| `material_id` | yes | 7611853750504914952 |

Fields: `data.id` Ad material ID; `data.ad_title` Ad title/caption; `data.like` Like count; `data.comment` Comment count; `data.share` Share count; `data.ctr` Click-through rate; `data.video_info.vid` Video ID; `data.video_info.duration` Video length in seconds; `data.video_info.video_url` Video URLs by quality; `data.country_code` Target countries

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/ads/top/ads/detail?material_id=7611853750504914952" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "7611853750504914952",
  "ctr": 0.97,
  "cost": 0,
  "like": 96,
  "share": 0,
  "source": "Others",
  "comment": 0,
  "ad_title": "Canadian fall 🍁   Outdoor plans ✔️   Pants chosen ✔️ #moosehill #pants #outdoors ",
  "favorite": false,
  "is_search": false,
  "brand_name": "",
  "objectives": [
   {
    "label": "campaign_objective_video_view",
    "value": 4
   }
  ],
  "source_key": 73,
  "video_info": {
   "vid": "v15044gf0000d5s93jnog65qcipu7si0",
   "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-p-0068c799-us/o4kX4A8cak8LijVdQFPARZvLEzZRivBEBB6iI~tplv-noop.image?dr=18692&refresh_token=687f41e0&x-expires=1791078849&x-signature=Ei%2BnfaR0s9dSRDnEdn%2F1t944lmE%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my2&VideoID=v15044gf0000d5s93…",
   "width": 720,
   "height": 1280,
   "duration": 30.721,
   "video_url": {
    "540p": "https://v16m-default.tiktokcdn.com/31dcf5fe610a8d64656e2eac1464b23b/6ac1b1c1/video/tos/alisg/tos-alisg-ve-37c799-sg/okGsPIpgOII8dLeI5q2eTfT8XHEICjAkxSQSAI/?a=0&bti=NTU4QDM1NGA%3D&&bt=565&ft=cApXJCz7ThWHJegnLGZmo0P&mime_type=video_mp4&rc=Z2Q1OmdoOjU5aWhkaWQ8NkBpM3Z4bHQ5cm08ODMzaTczNEBfNi5jMC0wXjYxYGE…",
    "720p": "https://v16m-default.tiktokcdn.com/8af0894356d7bbfa39fe2ce6b5758052/6ac1b1c1/video/tos/alisg/tos-alisg-ve-37c799-sg/o4xOQqIkdGAeIsNcaSLpIjSgjIHA5CK8IfeNxI/?a=0&bti=NTU4QDM1NGA%3D&&bt=1788&ft=cApXJCz7ThWHJegnLGZmo0P&mime_type=video_mp4&rc=ZDM3ZjU0ZTg7OTRoMzk4OEBpM3Z4b
…
```

## `rapidapi-tiktok-scraper7.get_challenge_s_detail` — Get Challenge's Detail

`GET /challenge/info` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 864 ms

One call returns details of a TikTok challenge (hashtag) by challenge ID or name. The answer contains one challenge object with description, view count, user count, and cover image. No pagination.

| param | required | example / default |
|---|---|---|
| `challenge_id` | no | 33380 |
| `challenge_name` | no |  |

Fields: `data.id` Challenge ID; `data.cha_name` Challenge name; `data.desc` Challenge description; `data.user_count` Number of users who participated; `data.view_count` Total views of challenge videos; `data.cover` Challenge cover image URL; `data.is_commerce` Whether challenge is commerce-related

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/challenge/info?challenge_id=33380" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "33380",
  "desc": "#Cosplay your favorite character, and show the world your power!",
  "type": 2,
  "cover": "https://p16-common-sign.tiktokcdn.com/tiktok-obj/8dc87afbcc425ff89c9c68e5514ddb8e.jpeg~tplv-tiktokx-origin.image?dr=14575&refresh_token=937ec3b4&x-expires=1791090000&x-signature=DhpwTtn37ghG9xBdGsMg9CrYDGE%3D&t=4d5b0474&ps=13740610&shp=3d78c6bd&shcp=9b759fb9&idc=my&plt=gomtdiscovery_challenge_banner",
  "cha_name": "Cosplay",
  "is_pgcshow": false,
  "user_count": 47986362,
  "view_count": 455791706894,
  "is_commerce": false,
  "is_challenge": false,
  "is_strong_music": false
 },
 "processed_time": 0.82
}
```

## `rapidapi-tiktok-scraper7.get_challenge_s_videos` — Get Challenge's Videos

`GET /challenge/posts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 705 ms

One call returns up to 10 trending videos from a TikTok challenge/hashtag. Each item is a video with metadata like play count, likes, and creator info. The answer held 3 items in our call. Get the next page by passing the returned cursor value to the cursor parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `cursor` | no | 0 |
| `challenge_id` | yes | 33380 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` TikTok video ID; `data.videos[].aweme_id` Alternative video ID; `data.videos[].title` Video caption/description; `data.videos[].author.unique_id` Creator's username; `data.videos[].author.id` Creator's user ID; `data.videos[].digg_count` Number of likes; `data.videos[].play_count` Number of views; `data.videos[].comment_count` Number of comments; `data.videos[].create_time` Unix timestamp of post creation; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/challenge/posts?count=10&cursor=0&challenge_id=33380" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "videos": [
   {
    "play": "https://v16m.tiktokcdn-us.com/6ab9ed3a57eb0e91489d94222bdb3e8c/6ac1b1bd/video/tos/useast5/tos-useast5-pve-0068-tx/o0SRDEgpI4qQfgEnEBcHYSFE8nLB8DfP98AcJm/?a=1233&bti=NXYpNDs8QGo6OjZAOm00NTAuYCMxNDNg&&bt=2527&ft=74~WHDCnNWJVQc6Gpq8ksdjDVUZqYlLexuN~hWLrK&mime_type=video_mp4&rc=NDg2aDUzZ2ZkOmczaTY0aEBpa…",
    "size": 4313242,
    "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oQ5UPLoRIQEIAccTe5eTOATAGAfMqGIGOA4NJf~tplv-tiktokx-origin.image?dr=8593&refresh_token=800735b8&x-expires=1791140400&x-signature=VRjKHtGPRwY95ZqF%2BkIYz9RrI1s%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=c0f880ed&idc=useast8&biz_tag=tt_vi…",
    "is_ad": false,
    "music": "https://v16m.tiktokcdn-us.com/c5257c140eb6da87cb7def4ae9d735fc/6ac2065f/video/tos/alisg/tos-alisg-v-27dcd7/oQCeEGMEJXxaeopTgTQMve8owng7An78DgTD0T/?a=1233&bti=Ojs2NGYpQHM6OjZALjU2OmQvcCMxNDNg&&bt=125&ft=74~WHDCnNWJVQc6Gpq8ksdoDVUZqYlLexuN~hWLrK&mime_type=audio_mpeg&rc=aThlOTk3aTc6Z2g1Z2Q6Z0BpMzZ1dXc5…",
    "title": "i’m so excited for the next few cosplays i have coming up 🥳 #miku #hatsunemiku #cosplay #vocaloidcosplay #fyp ",
    "author": {
     "id": "7390850036296631342",
     "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/e67d68bd094ae6825ea27e7eef4f7aa1~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=d7e4bdb4&x-expires=1791140400&x-signature=j4cr6VWAZo7shn0jIk2S%2BXP5wTg%3D&t=
…
```

## `rapidapi-tiktok-scraper7.get_collection_by_user` — Get Collection By User

`GET /collection/list` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 819 ms

One call returns a user's saved collections (playlists of videos). Each item is a collection with its ID, name, and video count. The answer held 1 item in our call. Get the next page by passing the returned cursor value to the cursor parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `user_id` | no | 107955 |
| `cursor` | no | 0 |
| `unique_id` | no | tiktok |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.collection_list[].id` Collection ID; `data.collection_list[].name` Collection name; `data.collection_list[].video_count` Number of videos in collection; `data.cursor` Cursor for next page; `data.hasMore` Whether more collections exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/collection/list?count=10&cursor=0&user_id=107955&unique_id=tiktok" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 1,
  "hasMore": false,
  "collection_list": [
   {
    "id": "7394627756635573022",
    "name": "Summer of Sports",
    "state": 3,
    "video_count": 139
   }
  ]
 },
 "processed_time": 0.7876
}
```

## `rapidapi-tiktok-scraper7.get_collection_s_detail` — Get Collection's Detail

`GET /collection/info` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 793 ms

One call returns metadata about a single TikTok collection by its URL. The answer includes the collection ID, name, video count, and creator info.

| param | required | example / default |
|---|---|---|
| `url` | yes | https://www.tiktok.com/@tiktok/collection/Summer%20of%20Spor |

Fields: `data.id` Collection ID; `data.name` Collection name; `data.video_count` Number of videos in collection; `data.creator_user_id` Creator's user ID; `data.creator_username` Creator's username

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/collection/info?url=https://www.tiktok.com/@tiktok/collection/Summer%20of%20Sports-7394627756635573022" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "7394627756635573022",
  "name": "Summer of Sports",
  "state": 3,
  "video_count": 139,
  "creator_user_id": "107955",
  "creator_username": "TikTok"
 },
 "processed_time": 0.7504
}
```

## `rapidapi-tiktok-scraper7.get_collection_s_videos` — Get Collection's Videos

`GET /collection/posts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 2357 ms

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.

| param | required | example / default |
|---|---|---|
| `cursor` | no | 0 |
| `count` | no | 10 |
| `collection_id` | yes | 7394627756635573022 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` TikTok video ID; `data.videos[].aweme_id` Alternative video ID; `data.videos[].title` Video caption; `data.videos[].author.unique_id` Creator's username; `data.videos[].author.id` Creator's user ID; `data.videos[].digg_count` Number of likes; `data.videos[].play_count` Number of views; `data.videos[].comment_count` Number of comments; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/collection/posts?count=10&cursor=0&collection_id=7394627756635573022" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "videos": [
   {
    "play": "https://v45-tzt-ljy1e-ccjy.tiktokcdn.com/121472919b47746ec7209e9afc49dcf6/6ac2aee4/video/tos/alisg/tos-alisg-ve-37c799-sg/oUkVwAAXMSQY8EEmusFfDBgIfxk1VtIbRGDnEE/?a=1233&bti=OzR2KXMxd3V5aW53bEBqOjo2QDM6bWZeYmZsXitsaHFgIzE0M2A%3D&&bt=1152&ft=TtG9XUwpMRFJsdr0_vWHg4jjWQ9DGbRfSAxwF_SQtdlQ2Nz7T&mime_type=…",
    "size": 7171166,
    "cover": "https://p19-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oYQIDWNuYCYeHwMTg8ffGkBAQLFT0YdJD7qAjS~tplv-tiktokx-cropcenter-q:300:400:q70.webp?dr=14782&refresh_token=3e373ca8&x-expires=1791140400&x-signature=RscQLt6qna0Q%2FGSqdzb10bJ30PY%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=a3668259&idc=my&s=O…",
    "is_ad": false,
    "music": "https://v45.tiktokcdn.com/b894bd336167bc3e79219950b01445a8/6ac2aee4/video/tos/maliva/tos-maliva-ve-27dcd7c799-us/oY8wmswWfBIAhK6PLBEz2VA1xiBpiKcQ9G4Mo4/?a=1233&bti=bGRobHJkMXJud2YpOUBzOjo2QG0rcW9zY2hxZjpkNS5wIzE0M2A%3D&&bt=125&ft=TtpTatwpMRFJsdr0_vWHg4jjWQ9DGbRfSAxwF_SQtdlQ2Nz7T&mime_type=audio_mpeg…",
    "title": "",
    "author": {
     "id": "6791598551904076805",
     "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/16b25128fbffca038bc04db11c0fd800~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=10793&refresh_token=ae2da21d&x-expires=1791140400&x-signature=0fPasbpHtyRgievHguwQtvdgZ6Q%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=a3668259&idc=my&s=OTHERS_COLL…",
     "nickname": "Noah Lyles",
     "uni
…
```

## `rapidapi-tiktok-scraper7.get_comment_reply` — Get Comment Reply

`GET /comment/reply` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 325 ms

One call returns up to 10 replies to a specific TikTok comment. Each item is a reply with text, author info, and engagement metrics. The answer held 3 items in our call. Get the next page by passing the returned cursor value to the cursor parameter.

| param | required | example / default |
|---|---|---|
| `cursor` | no | 0 |
| `count` | no | 10 |
| `comment_id` | yes | 7233490004960510747 |
| `video_id` | yes | 7233463396124052782 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.comments[].id` Comment/reply ID; `data.comments[].text` Reply text content; `data.comments[].user.unique_id` Replier's username; `data.comments[].user.id` Replier's user ID; `data.comments[].digg_count` Number of likes on reply; `data.comments[].create_time` Unix timestamp of reply; `data.cursor` Cursor for next page; `data.total` Total number of replies

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/comment/reply?count=10&cursor=0&video_id=7233463396124052782&comment_id=7233490004960510747" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "total": 10,
  "cursor": 10,
  "hasMore": false,
  "comments": [
   {
    "id": "7233640563336905518",
    "text": "what font?",
    "user": {
     "id": "6939690324520862726",
     "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/f850d4c84158af001b6d690a85935808~tplv-tiktokx-cropcenter-q:100:100:q70.jpeg?dr=8835&refresh_token=54df8cf4&x-expires=1791140400&x-signature=msDli9bPAXiyHIKQDJz1owJJvSw%3D&t=223449c4&ps=87d6e48a&shp=30310797&shcp=ff37627b&idc=useast5&sc…",
     "ins_id": "",
     "region": "US",
     "secret": false,
     "sec_uid": "MS4wLjABAAAAvAQcFz-6t6wBlxxVIj2yFm5oJtCsdJqmTOYT3szA_8ncgZZsMHfwmF-EW373Q9ed",
     "language": "en",
     "nickname": "𝑇𝑖𝑛𝑎🌸",
     "verified": false,
     "signature": "",
     "unique_id": "choco123456_7",
     "twitter_id": "",
     "aweme_count": 0,
     "create_time": 0,
     "twitter_name": "",
     "follower_count": 0,
     "following_count": 0,
     "total_favorited": 0,
     "favoriting_count": 0,
     "youtube_channel_id": "",
     "youtube_channel_title": ""
    },
    "images": [],
    "status": 1,
    "video_id": "7233463396124052782",
    "digg_count": 1,
    "create_time": 1684213216
   },
   {
    "id": "7233659412224361259",
    "text": "Tiktok changed the font, now its driving me crazy. Like when you look at the numbers, it has changed.",
    "user": {
     "id": "7176187881835201578",
     "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-u
…
```

## `rapidapi-tiktok-scraper7.get_fyp_videos` — Get FYP Videos

`GET /feed/list` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 4687 ms

One call returns up to 10 trending videos for a region's For You Page. Each item is a video with full metadata. The answer held 4 items in our call. This endpoint does not support pagination via cursor.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `region` | yes | us |

Fields: `data[].video_id` TikTok video ID; `data[].aweme_id` Alternative video ID; `data[].title` Video caption; `data[].author.unique_id` Creator's username; `data[].author.id` Creator's user ID; `data[].digg_count` Number of likes; `data[].play_count` Number of views; `data[].comment_count` Number of comments; `data[].region` Video region

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/feed/list?count=10&region=us" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": [
  {
   "play": "https://v45.tiktokcdn-us.com/095f6eee74c2c29f273dfba0e3154d9d/6ac1b1a6/video/tos/useast8/tos-useast8-ve-0068c002-tx2/ooAEiAaKBUAhruBzo9VFEQiEBKyvqCRIBEuSR/?a=1233&bti=Ozk3QGo4dik3OjlmMzAuYCM6bTQ0MDo%3D&&bt=1154&ft=aEKfuqT0mI2PD12lzymI3wUhwmy2MeF~O5&mime_type=video_mp4&rc=NzhpOjk1aThmZGY1PGQ7ZUBpM2Rw…",
   "size": 1060072,
   "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/ogTAqE6gIqCVKz8vBoiABFIKyEEriBaRKU9iB~tplv-tiktokx-shrink_ep:640:640:q78.jpeg?dr=8592&refresh_token=6973f071&x-expires=1791140400&x-signature=S1p%2BH16kOpfkq%2BTtLrwPCYyHfO0%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=1a816805&idc=useas…",
   "is_ad": false,
   "music": "https://v16-ies-music.tiktokcdn-us.com/2a222bc85151821256d5dd55daed736c/6aca9818/video/tos/useast8/tos-useast8-v-27dcd7-tx2/oQOeQ6FqQABYZkmWjIeLeD3JGbOGBLIeKUEFwQ/?a=583965&bti=OHYpOTY0Zik3OjlmOm01MzE6ZDQ0MDo%3D&&bt=125&ft=aERJYqT0mI2PD12lzymI3wUhwmy2MeF~O5&mime_type=audio_mpeg&rc=OGY1NTxkN2Q5ZjZkPD…",
   "title": "Shi tragic 🥺 poor baby was looking for his owner 🐶",
   "author": {
    "id": "7208670591380849707",
    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7315890359760863278~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=8834&refresh_token=812af53a&x-expires=1791140400&x-signature=Uq%2BeJGfgdQsNU8FIXJazFsxq%2BVk%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=1a816805&idc=useast5&sc=avatar&s…",
    "nickname": "Medazelli☔️",
…
```

## `rapidapi-tiktok-scraper7.get_music_s_detail` — Get Music's Detail

`GET /music/info` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1005 ms

One call returns metadata about a TikTok audio track by its URL. The answer includes the music ID, title, artist, duration, and how many videos use it.

| param | required | example / default |
|---|---|---|
| `url` | yes | https://www.tiktok.com/music/Bad-Habits-6974398592418809857 |

Fields: `data.id` Music/audio track ID; `data.title` Track title; `data.author` Artist/creator name; `data.album` Album name; `data.duration` Track duration in seconds; `data.video_count` Number of videos using this track; `data.original` Whether this is an original sound

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/music/info?url=https://www.tiktok.com/music/Bad-Habits-6974398592418809857" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "6974398592418809857",
  "play": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/oki9vCGe7QdcFEYq0lFfBBgEaac8XmQyZqDqtl",
  "album": "Bad Habits",
  "cover": "https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oEg8AYitGAvD6OBAiUAqjza3orCA5EIPxEW48.jpeg",
  "title": "Bad Habits",
  "author": "eydrey",
  "duration": 60,
  "original": false,
  "video_count": 149313
 },
 "processed_time": 0.9485
}
```

## `rapidapi-tiktok-scraper7.get_music_s_videos` — Get Music's Videos

`GET /music/posts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1668 ms

One call returns up to 10 videos that use a specific TikTok audio track. Each item is a video with full metadata. The answer held 3 items in our call. Get the next page by passing the returned cursor value to the cursor parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `cursor` | no | 0 |
| `music_id` | yes | 6974398592418809857 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` TikTok video ID; `data.videos[].aweme_id` Alternative video ID; `data.videos[].title` Video caption; `data.videos[].author.unique_id` Creator's username; `data.videos[].author.id` Creator's user ID; `data.videos[].digg_count` Number of likes; `data.videos[].play_count` Number of views; `data.videos[].comment_count` Number of comments; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/music/posts?count=10&cursor=0&music_id=6974398592418809857" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 12,
  "videos": [
   {
    "play": "https://v31-jp.tiktokcdn.com/bedfacbdeb2160bef30033f03ae94932/6ac2aedc/video/tos/useast2a/tos-useast2a-ve-0068c002/4041af65e4e940d689c6d442c2df27fc/?a=1233&bti=NDg5QGo7dik3OjlmNC4uYCM6bTQ0MDo%3D&&bt=1728&ft=XsFbCqx4m3OPD124hymI3wUPnODKaeF~O5&mime_type=video_mp4&rc=ZTo6NGY7aTQ5ODg8PDdpNEBpM25oc2c6ZnN…",
    "size": 3605509,
    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-p-0068/09b3e2a7552543b799edf524b4313664_1635708754~tplv-tiktokx-cropcenter-q:300:400:q70.webp?dr=14782&refresh_token=b8c1d7c7&x-expires=1791140400&x-signature=M6aA5CN2nu72O5BOLpTKC9bsbv4%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=f6441914&idc=my&sc=c…",
    "is_ad": false,
    "music": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/oki9vCGe7QdcFEYq0lFfBBgEaac8XmQyZqDqtl",
    "title": "me acabo de levantar jsjjsjsjs #fyp #mexican #latina #originalsong #badhabits #eydrey",
    "author": {
     "id": "6625035394072494085",
     "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/50305f35e623696795d7cabd260ae55f~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=10793&refresh_token=e12daf6f&x-expires=1791140400&x-signature=IrF%2BU%2B%2BsIDwvc4S6bDmnyNX0NCI%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=f6441914&idc=my&sc=avat…",
     "nickname": "eydrey",
     "unique_id": "itseydrey"
    },
    "is_top": 0,
    "region": "US",
    "wmplay": "https://v31-jp.tiktokcdn.com/72f569c7a24
…
```

## `rapidapi-tiktok-scraper7.get_playlist_by_user` — Get Playlist By User

`GET /mix/list` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 673 ms

One call returns a user's playlists (saved music mixes). Each item is a playlist with its ID, name, and type. The answer held 3 items in our call. Get the next page by passing the returned cursor value to the cursor parameter.

| param | required | example / default |
|---|---|---|
| `unique_id` | no | tiktok |
| `count` | no | 10 |
| `user_id` | no | 107955 |
| `cursor` | no | 0 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.mix_list[].id` Playlist ID; `data.mix_list[].name` Playlist name; `data.mix_list[].type` Playlist type; `data.cursor` Cursor for next page; `data.hasMore` Whether more playlists exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/mix/list?count=10&cursor=0&user_id=107955&unique_id=tiktok" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 5,
  "hasMore": false,
  "mix_list": [
   {
    "id": "7681171537575824159",
    "name": "Songs Of The Summer 2026",
    "type": 1
   },
   {
    "id": "7659874208872221471",
    "name": "Behind The Breakthrough",
    "type": 1
   },
   {
    "id": "7516638364301265695",
    "name": "In The Mix",
    "type": 1
   },
   "… 2 more"
  ]
 },
 "processed_time": 0.6424
}
```

## `rapidapi-tiktok-scraper7.get_playlist_s_detail` — Get Playlist's Detail

`GET /mix/info` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1396 ms

One call returns metadata about a single TikTok playlist by its URL. The answer includes the playlist ID, name, video count, and creator username.

| param | required | example / default |
|---|---|---|
| `url` | yes | https://www.tiktok.com/@tiktok/playlist/In%20The%20Mix-75166 |

Fields: `data.id` Playlist ID; `data.name` Playlist name; `data.video_count` Number of videos in playlist; `data.type` Playlist type; `data.creator_unique_id` Creator's username

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/mix/info?url=https://www.tiktok.com/@tiktok/playlist/In%20The%20Mix-7516638364301265695" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "7516638364301265695",
  "name": "In The Mix",
  "type": 1,
  "video_count": 23,
  "creator_unique_id": "tiktok"
 },
 "processed_time": 1.3631
}
```

## `rapidapi-tiktok-scraper7.get_playlist_s_videos` — Get Playlist's Videos

`GET /mix/posts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1560 ms

One call returns up to 10 videos from a TikTok playlist. Each item is a video with playback URL, metadata, and engagement stats. The answer shows 10 items per page; get the next page by passing the `cursor` value (10 in this case) to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `cursor` | no | 0 |
| `count` | no | 10 |
| `mix_id` | yes | 7551954991259339534 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].id` Video ID; `data.videos[].video_id` Alternative video ID; `data.videos[].play` Playable video URL; `data.videos[].cover` Video thumbnail URL; `data.videos[].title` Video caption/title; `data.videos[].author.id` Creator user ID; `data.videos[].author.unique_id` Creator username; `data.videos[].digg_count` Like count; `data.videos[].play_count` View count; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/mix/posts?count=10&cursor=0&mix_id=7551954991259339534" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "videos": [
   {
    "play": "https://v19.tiktokcdn.com/f800e251d750ae9af182c894ff07a609/6ac2affe/video/tos/alisg/tos-alisg-ve-37c799-sg/osTBMBAQc3ilnEw0EkgHPiuYaMIPA4kRypiUS/?a=1233&bti=NjR2KTM2OWYpNzo5Zi86bTMyNTpkNDQwOg%3D%3D&&bt=944&ft=XsFb_qT0mI2PD12jzymI3wU7d8pFMeF~O5&mime_type=video_mp4&rc=OzU6NzNpMzkzOTs1PDdoZEBpM3J2Z2o5c…",
    "size": 39359341,
    "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/ocPPUzcMMB3MMYk4iI4EcwapBEIL0gSAqitAy~tplv-tiktokx-dmt-logoccm:300:400:tos-useast5-i-0068-tx/ooKEqzADiFpfACSALo6FRDgATEEXfDvDIMpMUI.webp?dr=1368&refresh_token=195ccf54&x-expires=1791140400&x-signature=h4K4t9d0ippRj7%2FIq32yaPl2aqE%3D&t=bacd…",
    "is_ad": false,
    "music": "https://sf16-ies-music-va.tiktokcdn.com/obj/ies-music-ttp-dup-us/7551591869751364407.mp3",
    "title": "Oh hey! You likey? Push the buttons, make the comments! K, today we are chit chattin about maps. Get a Road Atlas! Video series inspired by @Chris Valenti #prepare ",
    "author": {
     "id": "6778260995771040774",
     "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/2f5bcfa267cad8940b83d8eb8472abff~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=10793&refresh_token=d8f743b5&x-expires=1791140400&x-signature=kYEdD9WTiDC6mjebczJEbKoNuT4%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=1d1a97fc&idc=my&sc=avatar&s=T…",
     "nickname": "Bentley Hensel",
     "unique_id": "bentleyhensel"
    },
    "is_top"
…
```

## `rapidapi-tiktok-scraper7.get_top_ads` — Get Top Ads

`GET /ads/top/ads` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 444 ms

One call returns up to 20 trending TikTok ads filtered by country, language, and period. Each item is an ad with brand name, video details, and performance metrics like CTR and likes. The answer shows 20 items per page; get the next page by incrementing the `page` parameter.

| param | required | example / default |
|---|---|---|
| `limit` | no | 20 |
| `industry` | no |  |
| `objective` | no |  |
| `ad_language` | no | en,de |
| `ad_format` | no | 1 |
| `keyword` | no |  |
| `period` | no | 30 |
| `country_code` | no | US,DE |
| `order_by` | no | impression |
| `like` | no |  |
| `page` | yes | 1 |

Fields: `data.materials[].id` Ad ID; `data.materials[].brand_name` Brand running the ad; `data.materials[].ad_title` Ad text/caption; `data.materials[].video_info.cover` Ad thumbnail URL; `data.materials[].video_info.video_url` Ad video URLs by resolution; `data.materials[].ctr` Click-through rate; `data.materials[].like` Like count; `data.materials[].cost` Estimated cost; `data.pagination.page` Current page number; `data.pagination.has_more` Whether more pages exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/ads/top/ads?page=1&limit=20&period=30&order_by=impression&ad_format=1&ad_language=en,de&country_code=US,DE" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "materials": [
   {
    "id": "7673308566858088449",
    "ctr": 0.36,
    "cost": 2,
    "like": 54954,
    "ad_title": "🌙 Woke up like this at 56. No injectables, just one jar. The new @lorealparis Triple Power Rich Night Moisturizer takes the night shift so I don't have to do ten steps before bed! #LOrealParisPartner #LOrealTriplePower #skincare #genxcrew #skincaretips ",
    "favorite": false,
    "is_search": true,
    "brand_name": "l'oreal paris",
    "video_info": {
     "vid": "v12044gd0000d9uh1p7og65vbai0osr0",
     "cover": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-37c799-sg/o0XxfADf2EhHRFjQUWckDCkIAIK9CqEI1jfREM~tplv-noop.image?dr=18692&refresh_token=744ebae7&x-expires=1791078863&x-signature=i%2FQrhdLnZjd3bpKPBSqnvMyJNdA%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my2&VideoID=v12044gd0000d9uh1p7og…",
     "width": 720,
     "height": 1280,
     "duration": 43.234,
     "video_url": {
      "720p": "https://v16m-default.tiktokcdn.com/fbd9b48126309bf4502a7bcf652b261d/6ac1b1cf/video/tos/alisg/tos-alisg-ve-37c799-sg/owWUj0DQHAZfQjuiAIF2fEkDkfqcMSREHICh9E/?a=0&bti=NTU4QDM1NGA%3D&&bt=1402&ft=cApXJCz7ThWHQegnLGZmo0P&mime_type=video_mp4&rc=NDVnNjNkOWQ2aDRnN2RmaEBpM3YzZHk5cnNrPDMzZzczNEBhM2A1Yl81X2MxXl…"
     }
    },
    "industry_key": "label_14109000000",
    "objective_key": "campaign_objective_video_view"
   },
   {
    "id": "7680863927458562066",
    "ctr": 0.45,
    "cost": 2,
    "like": 4246,
    
…
```

## `rapidapi-tiktok-scraper7.get_user_s_detail` — Get User's Detail

`GET /user/info` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 807 ms

One call returns a TikTok user's profile details including follower count, verification status, and bio. The answer contains one user object with stats like heart count and video count.

| param | required | example / default |
|---|---|---|
| `unique_id` | no |  |
| `user_id` | no | 107955 |

Fields: `data.user.id` User ID; `data.user.uniqueId` Username; `data.user.nickname` Display name; `data.user.signature` Bio/description; `data.user.verified` Verification status; `data.user.avatarLarger` Profile picture URL; `data.stats.followerCount` Follower count; `data.stats.followingCount` Following count; `data.stats.videoCount` Total videos posted; `data.stats.heart` Total likes received

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/info?user_id=107955" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "user": {
   "id": "107955",
   "ftc": false,
   "ins_id": "",
   "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
   "secret": false,
   "bioLink": {
    "link": "tiktok.com/discovermore"
   },
   "nickname": "TikTok",
   "relation": 0,
   "uniqueId": "tiktok",
   "verified": true,
   "signature": "Your next discovery is waiting on TikTok.",
   "createTime": 1425144149,
   "twitter_id": "",
   "avatarThumb": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=b7e2bf41&x-expires=1791226800&x-signature=cpAoPG%2B%2Fk0ZSqQDSlsY8ef9FfvU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8",
   "duetSetting": null,
   "isADVirtual": false,
   "avatarLarger": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.webp?dr=9640&refresh_token=0997bc20&x-expires=1791226800&x-signature=4qVF6AH9g5Y8Yub9Z1TR8yZUdFI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8",
   "avatarMedium": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=e50d1d61&x-expires=1791226800&x-signature=2VBK2jzi41L4W2W6I%2BzUIblInIo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8",
   "isUnderAge18": false,
   "openFavorit
…
```

## `rapidapi-tiktok-scraper7.get_user_s_favorite_videos` — Get User's Favorite Videos

`GET /user/favorite` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 125 ms

One call returns a user's liked/favorited videos. The answer shows an empty videos array with `hasMore: false`, meaning this user has no public favorites or they are not accessible.

| param | required | example / default |
|---|---|---|
| `cursor` | no | 0 |
| `count` | no | 10 |
| `unique_id` | no |  |
| `user_id` | no | 6741307595983946754 |

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/favorite?count=10&cursor=0&user_id=6741307595983946754" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": "",
  "videos": [],
  "hasMore": false
 },
 "processed_time": 0.0801
}
```

## `rapidapi-tiktok-scraper7.get_user_s_followers` — Get User's Followers

`GET /user/followers` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 350 ms

One call returns up to 100 followers of a TikTok user. Each item is a follower profile with user ID, username, and stats. The answer shows 100 items; get the next page by passing the `time` value from the response to the `time` parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 100 |
| `time` | no | 0 |
| `user_id` | yes | 107955 |

Fields: `data.followers[].id` Follower user ID; `data.followers[].unique_id` Follower username; `data.followers[].nickname` Follower display name; `data.followers[].avatar` Follower profile picture URL; `data.followers[].follower_count` Follower's follower count; `data.followers[].aweme_count` Follower's video count; `data.total` Total follower count; `data.hasMore` Whether more followers exist; `data.time` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/followers?time=0&count=100&user_id=107955" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "time": 1791057007,
  "total": 96042310,
  "hasMore": true,
  "followers": [
   {
    "id": "7424243254990996486",
    "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/5e02e5eb496b898fd5ee2f377f14dd94~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=99844d9a&x-expires=1791140400&x-signature=Ugsq%2FEmOCI8OgMCflctFSU4UAUA%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=65db1d19&idc=useast5",
    "ins_id": "",
    "region": "MA",
    "secret": false,
    "sec_uid": "MS4wLjABAAAAEcAg7pnepIHwbQ-u0HGugu8sA3nYQKfFxmspMRvdo-MRaT0pHyWrJ6OJ7XmkCvSU",
    "language": "ar",
    "nickname": "@marwane_✨ _La_0",
    "verified": false,
    "signature": "",
    "unique_id": "marwane_777",
    "twitter_id": "",
    "aweme_count": 5,
    "create_time": 1728591484,
    "twitter_name": "",
    "follower_count": 928,
    "following_count": 117,
    "total_favorited": 17,
    "favoriting_count": 5243,
    "youtube_channel_id": "",
    "youtube_channel_title": ""
   },
   {
    "id": "7221398457277662213",
    "avatar": "https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=6347f996&x-expires=1791140400&x-signature=mSZIfZ2Z54%2BLoGYTmZZ38PGmaGc%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=65db1d19&idc=useast5",
    "ins_id": "",
    "region": "ZA",
    "secret": false,
    "sec_uid": "MS4wLjABAAAAsabY9djNg_ZWWWvh8UyF1O34LU_vHvXU6EuExVQGJViU7BMFw
…
```

## `rapidapi-tiktok-scraper7.get_user_s_followings` — Get User's Followings

`GET /user/following` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 702 ms

One call returns up to 100 accounts a TikTok user follows. Each item is a followed account profile with user ID, username, and stats. The answer shows 3 items with `hasMore: false`, meaning this user follows only 3 accounts.

| param | required | example / default |
|---|---|---|
| `time` | no | 0 |
| `count` | no | 100 |
| `user_id` | yes | 107955 |

Fields: `data.followings[].id` Followed user ID; `data.followings[].unique_id` Followed username; `data.followings[].nickname` Followed display name; `data.followings[].avatar` Followed profile picture URL; `data.followings[].verified` Verification status; `data.followings[].follower_count` Followed account's follower count; `data.followings[].aweme_count` Followed account's video count; `data.total` Total following count; `data.hasMore` Whether more accounts exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/following?time=0&count=100&user_id=107955" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "time": 1447292191,
  "total": 3,
  "hasMore": false,
  "followings": [
   {
    "id": "6551237489917432832",
    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8a3909f393315b8cf96ea44747b6dfbb~tplv-tiktokx-cropcenter-q:300:300:q70.webp?dr=10793&refresh_token=b3fb8df3&x-expires=1791140400&x-signature=xcRpjdk7cjjPbGa%2BOaTj14Tji6Y%3D&t=223449c4&ps=87d6e48a&shp=30310797&shcp=65db1d19&idc=my&sc=avatar&s…",
    "ins_id": "",
    "region": "US",
    "secret": false,
    "sec_uid": "MS4wLjABAAAAXqqA-cLDC0hfQPIrS5APYNsg04zkl-socWCkqkI3UIOaEe6_Qnokg0GcWpLnMNQP",
    "language": "en",
    "nickname": "tiktok creators",
    "verified": true,
    "signature": "The official account for TikTok Creators who inspire creativity and bring joy ✨\n\n⬇️ Creator Programs 💰⬇️",
    "unique_id": "tiktokcreators",
    "twitter_id": "",
    "aweme_count": 1134,
    "create_time": 1525328841,
    "twitter_name": "",
    "follower_count": 8895907,
    "following_count": 569,
    "total_favorited": 33679289,
    "favoriting_count": 1914,
    "youtube_channel_id": "",
    "youtube_channel_title": ""
   }
  ]
 },
 "processed_time": 0.6636
}
```

## `rapidapi-tiktok-scraper7.get_user_s_post` — Get User's Post

`GET /user/posts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 985 ms

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.

| param | required | example / default |
|---|---|---|
| `unique_id` | no |  |
| `cursor` | no | 0 |
| `user_id` | no | 107955 |
| `count` | no | 10 |
| `sort_type` | no | 0 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].id` Video ID; `data.videos[].video_id` Alternative video ID; `data.videos[].play` Playable video URL; `data.videos[].cover` Video thumbnail URL; `data.videos[].title` Video caption; `data.videos[].author.id` Creator user ID; `data.videos[].author.unique_id` Creator username; `data.videos[].digg_count` Like count; `data.videos[].play_count` View count; `data.cursor` Cursor for next page

```bash
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: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "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&bti=M0BzOTg7QGo6OjZALnAjLTAzYCMxNDNg&&bt=1809&ft=ERfCkaZWD0EI12Nv1T80zIxRmLBgTq_45SY&mime_type=video_mp4&rc=ZTk2NjMzPGloZWY6NDQ8NkBpajhpeXk5cm…",
    "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_token=6cd1fd26&x-expires=1791140400&x-signature=Rz5RJIVAPbA9Vrl6Tu%2FZKYCrA7Y%3D&t=4d5b0474&ps=13740610&shp=d05b14bd&shcp=34ff8df6&idc=useast2b…",
    "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=8d7a4cf5&x-expires=1791140400&x-signature=U8gAwfQ7LDGRCGBzK5V7a9ezZTU%3D&t=4d5b0474&ps=13740610&shp=d05b14bd&shcp=34ff8df6&idc=useast2b",
     "nickname": "TikTok",
     "unique_id": "tiktok"
    },
    "is_top": 0,
    "region": "US",
    "wmplay": "https://v19.tiktokcdn-eu.com/703199245c567e
…
```

## `rapidapi-tiktok-scraper7.get_user_s_repost` — Get User's Repost

`GET /user/reposts` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1027 ms

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

| param | required | example / default |
|---|---|---|
| `cursor` | no | 0 |
| `user_id` | no | 107955 |
| `unique_id` | no |  |
| `count` | no | 10 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].id` Video ID; `data.videos[].video_id` Alternative video ID; `data.videos[].play` Playable video URL; `data.videos[].cover` Video thumbnail URL; `data.videos[].title` Video caption; `data.videos[].author.id` Original creator user ID; `data.videos[].author.unique_id` Original creator username; `data.videos[].digg_count` Like count; `data.videos[].play_count` View count; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/reposts?count=10&cursor=0&user_id=107955" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": "10",
  "videos": [
   {
    "play": "https://v45.tiktokcdn-us.com/a3584fe36118fc40770bfbdd9637db68/6ac1b19f/video/tos/useast8/tos-useast8-pve-0068-tx2/o0W8aVAvfAImvzqXQDRqVOB9DEEVFErFfABEHk/?a=1233&bti=N3YpODQ3QGo6OjZAOm0tMTMuYCMxNDNg&&bt=917&ft=aEKfuqT0mI2PD12qzymI3wU2VgxFMeF~O5&mime_type=video_mp4&rc=Zzw7Nmc2Z2UzZGY8Zjk5OEBpam9yb2w5c…",
    "size": 1763784,
    "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oweGQRme6J1L1Fq4rsFeQ6sGALLbQqABeKGUPI~tplv-tiktokx-dmt-logoccm:300:400:tos-useast8-i-0068-tx2/oUqAUf4i5JeIBALGYQOQubjAAeRNA1eFomGGIA.jpeg?dr=8595&refresh_token=c458abaf&x-expires=1791140400&x-signature=EX8gA5D12A%2BLqqjPQrJ8s%2BXQW%2BU…",
    "is_ad": false,
    "music": "https://v45.tiktokcdn-us.com/0eab07861deab025859df3b2d3c872aa/6ac2063b/video/tos/useast8/tos-useast8-v-27dcd7-tx2/oM9eUQ9YGRemBFGmAIecJJHGSLHBXqQQBsemr4/?a=1233&bti=N3YpODQ3QGo6OjZAOm0tMTMuYCMxNDNg&&bt=125&ft=aEKfuqT0mI2PD12qzymI3wU2VgxFMeF~O5&mime_type=audio_mpeg&rc=Njs3OjQ3aDc2ZzRoOWdmPEBpajxrdnU5…",
    "title": "This @TikTok TikTok ad campaign is live right now — and it’s airing on major national TV channels like @Fox News @CNN. What a great opportunity to be part of the movement getting the younger generation into the skilled trades. There’s not a better lens for them to look at a career path than social p…",
    "author": {
     "id": "6653919748492099589",
     "avatar": "https://p16-common-sign.tiktokcdn-us.com/
…
```

## `rapidapi-tiktok-scraper7.get_user_s_story` — Get User's Story

`GET /user/story` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1099 ms

One call returns a TikTok user's stories (ephemeral content). Each item is a story with images, music, and engagement stats. The answer shows 3 items; get the next page by passing the `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `unique_id` | no |  |
| `user_id` | no | 7128593328456041478 |
| `cursor` | no |  |
| `count` | no |  |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` Story ID; `data.videos[].images[]` Story image URLs; `data.videos[].cover` Story thumbnail URL; `data.videos[].title` Story caption; `data.videos[].author.id` Creator user ID; `data.videos[].author.unique_id` Creator username; `data.videos[].digg_count` Like count; `data.videos[].play_count` View count; `data.videos[].create_time` Story creation timestamp; `data.cursor` Cursor for next page

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/story?user_id=7128593328456041478" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": "1791038335655",
  "videos": [
   {
    "play": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/o07XMxhsZWZikSBLgqQiQUhnIPXk1EiARFe7kB",
    "size": 0,
    "cover": "https://p16-common-sign.tiktokcdn-eu.com/tos-no1a-i-photomode-no/e95eff107d414321b30f95d610022feb~tplv-photomode-image-cover:640:0:q70.webp?dr=1350&refresh_token=77d25cf6&x-expires=1792350000&x-signature=I%2FZg6b3pCRUhXFyyv7k4Pd8ZqQo%3D&t=5897f7ec&ps=d5b8ac02&shp=d05b14bd&shcp=1d1a97fc&idc=useast2b&…",
    "is_ad": false,
    "music": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/o07XMxhsZWZikSBLgqQiQUhnIPXk1EiARFe7kB",
    "title": "",
    "author": {
     "id": "7128593328456041478",
     "avatar": "https://p19-common-sign.tiktokcdn-eu.com/tos-no1a-avt-0068c001-no/f3270a9951371e1021ce27ca3ab61855~tplv-tiktokx-cropcenter-q:300:300:q70.webp?dr=9605&refresh_token=6ba7555d&x-expires=1791140400&x-signature=xS83ZR4evX0ZLd%2F%2BQTuTInKO76s%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=1d1a97fc&idc=useas…",
     "nickname": "isi💕 || twitch.tv/isiicos",
     "unique_id": "isi.cos"
    },
    "images": [
     "https://p16-common-sign.tiktokcdn-eu.com/tos-no1a-i-photomode-no/e95eff107d414321b30f95d610022feb~tplv-photomode-image-v1:q70.webp?dr=1334&refresh_token=40af5d4a&x-expires=1792350000&x-signature=K5iPCy7F0KuOgftzoTtyTqO0pVs%3D&t=5897f7ec&ps=b40d0ec8&shp=d05b14bd&shcp=1d1a97fc&idc=useast2b&s=AWEME_DET…"
    ],
    "is_top": 0,
    "
…
```

## `rapidapi-tiktok-scraper7.get_video_detail` — Get Video Detail

`GET /` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1499 ms

One call returns detailed metadata for a single TikTok video by URL. The answer contains one video object with playback URLs (including HD), creator info, engagement stats, and music details.

| param | required | example / default |
|---|---|---|
| `hd` | no | 1 |
| `url` | yes | https://www.tiktok.com/@tiktok/video/7516594811734854943 |

Fields: `data.id` Video ID; `data.play` Standard quality video URL; `data.hdplay` High definition video URL; `data.cover` Video thumbnail URL; `data.title` Video caption; `data.author.id` Creator user ID; `data.author.unique_id` Creator username; `data.digg_count` Like count; `data.play_count` View count; `data.music_info.title` Audio track name

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7?hd=1&url=https://www.tiktok.com/@tiktok/video/7516594811734854943" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "id": "7516594811734854943",
  "play": "https://v19.tiktokcdn-us.com/c8d5018d98e5ef6ebd9b4a4af4f98d75/6ac1b1e7/video/tos/useast8/tos-useast8-ve-0068c002-tx2/osELsHREIEAf1ERQQobAMCeIVBF5KTUDEikEts/?a=1233&bti=OTg7QGo5QHM6OjZALTAzYCMvcCMxNDNg&&bt=908&ft=4bUg3M9h8Zmo0~nHya4jVMU1inWrKsd.&mime_type=video_mp4&rc=aTtkaTZkOjo0OWgzODgzNUBpM2RqNnA5…",
  "size": 7786703,
  "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oEHDFBY8EEsfU55QQGR0EfEEVTUIoQAZIEQRAV~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg?dr=8596&refresh_token=937a81d6&x-expires=1791140400&x-signature=09tugO1HJrrHN7R84hOmA9Z%2FVCA%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=1d1a97fc&idc=use…",
  "is_ad": true,
  "music": "https://v16-ies-music.tiktokcdn-us.com/913a1b5574adae0a9de8b00c50aebee4/6aca9849/video/tos/useast8/tos-useast8-v-27dcd7-tx2/owRMABKIgSBgiu0H8iC4KuiB2B9SfcB6EQAnSq/?a=583965&bti=OUBzOTg7QGo6OjZAL3AjLTAzYCMxNDNg&&bt=125&ft=4KUr5M9h8Zmo0~nHya4jVMU1inWrKsd.&mime_type=audio_mpeg&rc=PDtkZDZpOmdnNjg0PDhpZ0…",
  "title": "🌈🐬🦄 life after @Zara Larsson Symphony vocals 🌈🐬🦄",
  "author": {
   "id": "107955",
   "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=8834&refresh_token=c61962ad&x-expires=1791140400&x-signature=btAZAoyldGnNzxGHdJ4mbRHTDI0%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=1d1a97fc&idc=useast5&sc…",
   "nickname": "TikTok",
   
…
```

## `rapidapi-tiktok-scraper7.get_video_s_comments` — Get Video's Comments

`GET /comment/list` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 406 ms

One call returns up to 10 comments on a TikTok video. Each item is a comment with text, author info, and engagement metrics. The answer shows 10 comments per page; get the next page by passing the returned `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `cursor` | no | 0 |
| `url` | yes | https://www.tiktok.com/@tiktok/video/7233463396124052782 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.comments[].id` Comment ID; `data.comments[].text` Comment text; `data.comments[].user.id` Commenter's user ID; `data.comments[].user.nickname` Commenter's display name; `data.comments[].user.unique_id` Commenter's username; `data.comments[].digg_count` Number of likes on the comment; `data.comments[].create_time` Comment creation timestamp; `data.comments[].reply_total` Number of replies to this comment; `data.total` Total comments on the video; `data.hasMore` Whether more comments exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/comment/list?url=https://www.tiktok.com/@tiktok/video/7233463396124052782&count=10&cursor=0" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "total": 1075,
  "cursor": 10,
  "hasMore": true,
  "comments": [
   {
    "id": "7233465763741795074",
    "text": "CHANGE THE FONT BACKK TIKTOK PLEASE I LOVE YOUU🤭🤭",
    "user": {
     "id": "7058979305002992645",
     "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/c9ac26f121c31b945b9dd911a72da505~tplv-tiktokx-cropcenter-q:100:100:q70.jpeg?dr=8835&refresh_token=8b334950&x-expires=1791140400&x-signature=mJnJxRYneomfkFCSa7yZKtEgFjo%3D&t=223449c4&ps=87d6e48a&shp=30310797&shcp=ff37627b&idc=useast5&sc=avat…",
     "ins_id": "",
     "region": "AE",
     "secret": false,
     "sec_uid": "MS4wLjABAAAA4jdtpJTjx1CA7ThGOmhDxlL52iLtfNGRQRNPuK-R6EX5_8Uuv0UvSgX5-T9uAq6j",
     "language": "en",
     "nickname": "ليا",
     "verified": false,
     "signature": "@fcbarcelona",
     "unique_id": "lea.3lt",
     "twitter_id": "",
     "aweme_count": 0,
     "create_time": 0,
     "twitter_name": "",
     "follower_count": 0,
     "following_count": 0,
     "total_favorited": 0,
     "favoriting_count": 0,
     "youtube_channel_id": "",
     "youtube_channel_title": ""
    },
    "images": [],
    "status": 1,
    "video_id": "7233463396124052782",
    "digg_count": 259,
    "create_time": 1684172502,
    "reply_total": 6
   },
   {
    "id": "7233465486443840299",
    "text": "Early",
    "user": {
     "id": "7012436820965901318",
     "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/63ac61eb
…
```

## `rapidapi-tiktok-scraper7.search_challenge` — Search Challenge

`GET /challenge/search` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1297 ms

One call returns up to 10 TikTok challenges (hashtags/trends) matching a keyword. Each item is a challenge with name, description, and engagement stats. The answer shows 10 challenges per page; get the next page by passing the returned `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `cursor` | no | 0 |
| `keywords` | yes | cosplay |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.challenge_list[].id` Challenge ID; `data.challenge_list[].cha_name` Challenge name; `data.challenge_list[].desc` Challenge description; `data.challenge_list[].user_count` Number of users who participated; `data.challenge_list[].view_count` Total views on challenge videos; `data.challenge_list[].cover` Challenge cover image URL; `data.hasMore` Whether more challenges exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/challenge/search?count=10&cursor=0&keywords=cosplay" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "hasMore": true,
  "challenge_list": [
   {
    "id": "33380",
    "desc": "#Cosplay your favorite character, and show the world your power!",
    "type": 2,
    "cover": "https://p16-amd-va.tiktokcdn.com/obj/tiktok-obj/8dc87afbcc425ff89c9c68e5514ddb8e.jpeg",
    "cha_name": "Cosplay",
    "is_pgcshow": false,
    "user_count": 47951191,
    "view_count": 455797189160,
    "is_commerce": false,
    "is_challenge": false,
    "is_strong_music": false
   },
   {
    "id": "4804974",
    "desc": "",
    "type": 1,
    "cover": "",
    "cha_name": "cosplaygirl",
    "is_pgcshow": false,
    "user_count": 1231387,
    "view_count": 12244748974,
    "is_commerce": false,
    "is_challenge": false,
    "is_strong_music": false
   },
   {
    "id": "1613328538253314",
    "desc": "",
    "type": 1,
    "cover": "",
    "cha_name": "cosplaytiktok",
    "is_pgcshow": false,
    "user_count": 303806,
    "view_count": 1967235376,
    "is_commerce": false,
    "is_challenge": false,
    "is_strong_music": false
   },
   "… 7 more"
  ]
 },
 "processed_time": 1.2523
}
```

## `rapidapi-tiktok-scraper7.search_photo` — Search Photo

`GET /photo/search` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 867 ms

One call returns up to 10 TikTok photo posts matching a keyword. Each item is a photo post with images, title, author, and engagement metrics. The answer shows 10 posts per page; get the next page by passing the returned `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `region` | no | us |
| `cursor` | no | 0 |
| `count` | no | 10 |
| `keywords` | yes | fyp |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` Post ID; `data.videos[].title` Post caption; `data.videos[].author.id` Author's user ID; `data.videos[].author.nickname` Author's display name; `data.videos[].author.unique_id` Author's username; `data.videos[].images[]` Array of image URLs in the post; `data.videos[].digg_count` Number of likes; `data.videos[].play_count` Number of views; `data.videos[].comment_count` Number of comments; `data.hasMore` Whether more posts exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/photo/search?count=10&cursor=0&region=us&keywords=fyp" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "videos": [
   {
    "play": "https://v19.tiktokcdn-us.com/049fe5b1a48d1c8c234c241e5702ff40/6aca9815/video/tos/alisg/tos-alisg-v-27dcd7/oYcM5HDFIFEeMyCTJEEgSSoQDebNfTW5Ug1cAH/?a=1233&bti=NEBzNTY6QGo6OjZALnAjNDQuYCMxNDNg&&bt=125&ft=aEKfuqT0m7jPD12GhymI3wUX73yKMeF~O5&mime_type=audio_mpeg&rc=NmhoOjRnNjk0PDo6Nzo2NkBpajpyO3g5cjRnOzMz…",
    "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-i-photomode-tx/68f30c7dbb424082bf21360de6f1d7e8~tplv-photomode-image-cover:640:0:q70.webp?biz_tag=mt_photo.photo_tab_cover&dr=12229&idc=useast5&ps=d5b8ac02&refresh_token=da3e03a2&s=SEARCH&sc=cover&shcp=c1333099&shp=d05b14bd&t=5897f7ec&x-expires=17…",
    "is_ad": false,
    "music": "https://v19.tiktokcdn-us.com/049fe5b1a48d1c8c234c241e5702ff40/6aca9815/video/tos/alisg/tos-alisg-v-27dcd7/oYcM5HDFIFEeMyCTJEEgSSoQDebNfTW5Ug1cAH/?a=1233&bti=NEBzNTY6QGo6OjZALnAjNDQuYCMxNDNg&&bt=125&ft=aEKfuqT0m7jPD12GhymI3wUX73yKMeF~O5&mime_type=audio_mpeg&rc=NmhoOjRnNjk0PDo6Nzo2NkBpajpyO3g5cjRnOzMz…",
    "title": "#fyp 🫶🏻",
    "author": {
     "id": "248038184234713089",
     "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/95a4e2b5ab8896c654fcf490be2dee42~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=8834&refresh_token=6a3fe2bb&x-expires=1791140400&x-signature=%2FfhIG3%2FEl7wY%2FJKYHQppB8r5Es0%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=c1333099&idc=useast5&s…",
     "nickname": "Juju",
     "unique_id": "_queenjory"
…
```

## `rapidapi-tiktok-scraper7.search_user` — Search User

`GET /user/search` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1157 ms

One call returns up to 10 TikTok users matching a keyword. Each item is a user profile with follower count, verification status, and bio. The answer shows 10 users per page; get the next page by passing the returned `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `keywords` | no | tiktok |
| `follower_count` | no | 0 |
| `cursor` | no | 0 |
| `other_pref` | no | 0 |
| `profile_type` | no | 0 |
| `count` | no | 10 |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.user_list[].user.id` User ID; `data.user_list[].user.nickname` User's display name; `data.user_list[].user.uniqueId` User's username; `data.user_list[].user.verified` Whether user is verified; `data.user_list[].user.signature` User's bio; `data.user_list[].user.secUid` User's secure ID for API calls; `data.user_list[].stats.followerCount` Number of followers; `data.user_list[].stats.videoCount` Number of videos posted; `data.user_list[].stats.heartCount` Total likes received; `data.hasMore` Whether more users exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/user/search?count=10&cursor=0&keywords=tiktok&other_pref=0&profile_type=0&follower_count=0" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "hasMore": true,
  "user_list": [
   {
    "user": {
     "id": "107955",
     "ftc": false,
     "ins_id": "tiktok",
     "region": "US",
     "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
     "secret": false,
     "nickname": "TikTok",
     "relation": 0,
     "uniqueId": "tiktok",
     "verified": true,
     "signature": "Your next discovery is waiting on TikTok.",
     "twitter_id": "",
     "avatarThumb": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter-q:100:100:q70.webp?biz_tag=musically_user.user_cover&dr=8835&idc=useast5&ps=87d6e48a&refresh_token=a0cc5f66&s=SEARCH&sc=avatar&shcp=c1333099&shp=30310797&t=223449c4&x-expires=179…",
     "duetSetting": 0,
     "isADVirtual": false,
     "avatarLarger": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp?dr=8837&refresh_token=6c1a1467&x-expires=1791140400&x-signature=O7sIwQJN7yHTvHoctIkbm9bzT3g%3D&t=223449c4&ps=87d6e48a&shp=30310797&shcp=c1333099&idc=useast5&…",
     "avatarMedium": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter-q:720:720:q70.webp?dr=8836&refresh_token=da69a367&x-expires=1791140400&x-signature=qQ7kZjUn3ODeV3YeiM6N4Q%2BZkwI%3D&t=223449c4&ps=87d6e48a&shp=30310797&shcp=c1333099&idc=useas
…
```

## `rapidapi-tiktok-scraper7.search_video` — Search Video

`GET /feed/search` · ✓ working (tested 2026-10-06) · $0.000020/call upstream · sampled 2026-10-03, 1057 ms

One call returns up to 10 TikTok videos matching a keyword. Each item is a video post with play URL, author, and engagement metrics. The answer shows 10 videos per page; get the next page by passing the returned `cursor` value to the `cursor` parameter.

| param | required | example / default |
|---|---|---|
| `count` | no | 10 |
| `region` | no | us |
| `cursor` | no | 0 |
| `publish_time` | no | 0 |
| `sort_type` | no | 0 |
| `keywords` | yes | fyp |

Paging: read `data.cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats.

Fields: `data.videos[].video_id` Video ID; `data.videos[].title` Video caption; `data.videos[].author.id` Author's user ID; `data.videos[].author.nickname` Author's display name; `data.videos[].author.unique_id` Author's username; `data.videos[].play` Video playback URL; `data.videos[].cover` Video thumbnail URL; `data.videos[].digg_count` Number of likes; `data.videos[].play_count` Number of views; `data.videos[].comment_count` Number of comments; `data.videos[].duration` Video duration in seconds; `data.hasMore` Whether more videos exist

```bash
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/feed/search?count=10&cursor=0&region=us&keywords=fyp&sort_type=0&publish_time=0" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "msg": "success",
 "code": 0,
 "data": {
  "cursor": 10,
  "videos": [
   {
    "play": "https://v45.tiktokcdn-us.com/6e32aa0ac63a0b859f75171b9f152f65/6ac1b1f5/video/tos/useast8/tos-useast8-ve-0068c002-tx2/oIiWp4A6fAIgXMHFQBIzBaArsiiqiCMLo1QER8/?a=1233&bti=NTY6QGo0QHM6OjZANDQuYCMucCMxNDNg&&bt=1690&ft=73kDHDyjNl~VQQUnU~d-sdhDVUZqYlRi0S-~hWLrK&mime_type=video_mp4&rc=ZzhnNGRmOGQ5OTk2O2c1O0…",
    "size": 16975677,
    "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/okIKtnXExBqgeARD5EQAmFEEZVDWx1EmQfWTKV~tplv-tiktokx-cropcenter:500:800.jpeg?biz_tag=musically_video.video_cover&dr=9638&idc=useast5&ps=13740610&refresh_token=c1f3a73d&shcp=9b759fb9&shp=c1333099&t=4d5b0474&x-expires=1791075600&x-signatur…",
    "is_ad": false,
    "music": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/6a790bec1bf640c185753440ca131a7e",
    "title": "#foryou #fyp viral #tiktok #fyp#foryoupage",
    "author": {
     "id": "7481549626936820779",
     "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/46071386cc3f3732fc1a126722d7b927~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg?dr=8834&refresh_token=888b8e2a&x-expires=1791140400&x-signature=a8AMhg4%2FhTr8W93aRiMHi0I18HA%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=c1333099&idc=useast5…",
     "nickname": "user8791456172668",
     "unique_id": "ewmiaqj"
    },
    "is_top": 0,
    "region": "US",
    "wmplay": "https://v45.tiktokcdn-us.com/7992cc2016d68eb6fa9decd183cab1bf/6ac1b1f5/video/tos/useast8/
…
```
