MENU navbar-image

🎵 TikTok

TikTok API for public profiles, videos, comments, hashtags, and search.

Read-only. A field TikTok does not show is null.

Video objects share one shape:

Users

Public profiles.

GET /v1/tiktok/user/info

requires authentication

A user's public profile: id, secUid, username, nickname, url, bio, bioLink, avatar, verified, private, isOrganization, language, createTime, and stats (followers, following, likes, videos, friends). A private account still returns its profile with private: true. An identical request within 10 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/user/info'
params = {
  'username': 'tiktok',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/user/info';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'username' => 'tiktok',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/user/info"
);

const params = {
    "username": "tiktok",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/user/info?username=tiktok" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "username": "tiktok"
    },
    "body": {
        "id": "107955",
        "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
        "username": "tiktok",
        "nickname": "TikTok",
        "url": "https://www.tiktok.com/@tiktok",
        "bio": "Your next discovery is waiting on TikTok.",
        "bioLink": "tiktok.com/discovermore",
        "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=0f588a3a&x-expires=1791219600&x-signature=aqhaM%2FJZw7o1eWrKKqNOPBtgL4w%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
        "verified": true,
        "private": false,
        "isOrganization": true,
        "language": "en",
        "createTime": "2015-02-28T17:22:29Z",
        "stats": {
            "followers": 96040155,
            "following": 1,
            "likes": 464921055,
            "videos": 1509,
            "friends": 1
        }
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/user/info

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username optional string

Username, with or without @. Required unless url is given. Example: tiktok

url optional string

A tiktok.com profile link.

GET /v1/tiktok/user/videos

requires authentication

A user's posted videos, newest first, about 24 per page: user (id, secUid, username, nickname, private), cursor, hasMore, and videos. Pass the returned cursor for the next page; pages are read in order, so later pages take longer. A private account or one with no videos returns an empty list. An identical request within 5 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/user/videos'
params = {
  'username': 'tiktok',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/user/videos';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'username' => 'tiktok',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/user/videos"
);

const params = {
    "username": "tiktok",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/user/videos?username=tiktok" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "username": "tiktok",
        "cursor": "0"
    },
    "body": {
        "user": {
            "id": "107955",
            "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
            "username": "tiktok",
            "nickname": "TikTok",
            "private": false
        },
        "cursor": "1785429084000",
        "hasMore": true,
        "videos": [
            {
                "id": "7692114317151423775",
                "url": "https://www.tiktok.com/@tiktok/video/7692114317151423775",
                "description": "ATEEZ on the FYF. BTS on tour. dance challenges on repeat. @rachelszero and friends reminisce on K-Pop Summer on TikTok",
                "createTime": "2026-10-02T16:52:37Z",
                "type": "video",
                "duration": 65,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oM8tULGCGRQNtQAnUfIIpKJA4AHAVfAMfqeuVF~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=QW4r7mJnwPQ%2BuMT4%2BbgOlHTa0DI%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oM8tULGCGRQNtQAnUfIIpKJA4AHAVfAMfqeuVF~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=QW4r7mJnwPQ%2BuMT4%2BbgOlHTa0DI%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/oAcUigEXfRBf6fBAJqEVffAoy3hAeAiBfuvewiB/?a=1988&bti=ODszNWYuMDE6&&bt=1809&ft=-Csk_mH1PD12NLKoon-Ux912GY6e3wv25AcAp&mime_type=video_mp4&rc=ZTk2NjMzPGloZWY6NDQ8NkBpajhpeXk5cmp4ZDMzaTczNEAwNC0wLi42XzMxXjItLzJiYSNsLV41MmRjLnNhLS1kMTJzcw%3D%3D&expire=1791225896&l=20261004024351DC04281A2D8226F8039D&ply_type=2&policy=2&signature=2565b6df5068f5aa91a5e68f4d410efd&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 116800,
                    "likes": 2286,
                    "comments": 673,
                    "shares": 194,
                    "saves": 178
                },
                "author": {
                    "id": "107955",
                    "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                    "username": "tiktok",
                    "nickname": "TikTok",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": true
                },
                "music": {
                    "id": "7692114426937346847",
                    "title": "original sound",
                    "author": "TikTok",
                    "original": true,
                    "duration": 65,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-2370c799-sg/oQ9nQ1eGUQiem7qQkw6cLfY8fFqJDIKALAAvQA/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThdC--GXq8Zmo&mime_type=audio_mpeg&rc=anBvbHI5cm94ZDMzaTU8NEBpanBvbHI5cm94ZDMzaTU8NEAwcWNoMmRzL3NhLS1kMTJzYSMwcWNoMmRzL3NhLS1kMTJzcw%3D%3D&vvpl=1&l=20261004024351DC04281A2D8226F8039D&VExpiration=1791139496&VSignature=3ffSDpWvKMKunRnrgdYNmQ&btag=e00050000&sp_exp=hash_v0"
                },
                "hashtags": [],
                "mentions": [
                    "rachelszero"
                ]
            },
            {
                "id": "7691450773619625247",
                "url": "https://www.tiktok.com/@tiktok/video/7691450773619625247",
                "description": "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 🐬",
                "createTime": "2026-09-30T21:57:30Z",
                "type": "video",
                "duration": 88,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oM1EAXqI9sdDaCGhAJVcYfE2FEARCAv3leTUAE~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=D3UkG2NJUAiqIZPPUUbzG5tQUyk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "dynamicCover": "https://p19-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oM1EAXqI9sdDaCGhAJVcYfE2FEARCAv3leTUAE~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=MyhvO8LySSbI%2BPJHCJljIo5h8VU%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/o8lQUIDfAAnTQvlqGLe2wqGFAkeoeIR3BA0pg7/?a=1988&bti=ODszNWYuMDE6&&bt=1675&ft=-Csk_mH1PD12NLKoon-Ux912GY6e3wv25AcAp&mime_type=video_mp4&rc=NjY1N2c5O2k6NTloZTg2ZkBpanRueXM5cndyZDMzaTczNEA1MzJgLmM2NjQxXmNiNS5fYSNrb2FhMmQ0NnJhLS1kMTJzcw%3D%3D&expire=1791225919&l=20261004024351DC04281A2D8226F8039D&ply_type=2&policy=2&signature=2da7becc0f98f6d7923161fd8e6d2295&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 184500,
                    "likes": 3570,
                    "comments": 915,
                    "shares": 328,
                    "saves": 336
                },
                "author": {
                    "id": "107955",
                    "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                    "username": "tiktok",
                    "nickname": "TikTok",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": true
                },
                "music": {
                    "id": "7691470224670935838",
                    "title": "original sound",
                    "author": "TikTok",
                    "original": true,
                    "duration": 87,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-2370c799-sg/o0eqdjxGAJAJAmDTAEL6ejUGPerf6ixIQQFC9E/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThdC--GXq8Zmo&mime_type=audio_mpeg&rc=M3lnb2w5cjxyZDMzaTU8NEBpM3lnb2w5cjxyZDMzaTU8NEBxbmBjMmRzcHJhLS1kMTJzYSNxbmBjMmRzcHJhLS1kMTJzcw%3D%3D&vvpl=1&l=20261004024351DC04281A2D8226F8039D&VExpiration=1791139518&VSignature=AB4RshuSsIZssy2GjXZB9w&btag=e00050000&sp_exp=hash_v0"
                },
                "hashtags": [],
                "mentions": [
                    "mccallmirabella"
                ]
            },
            {
                "id": "7691013160425327903",
                "url": "https://www.tiktok.com/@tiktok/video/7691013160425327903",
                "description": "K-pop fans have been BUSY. @rachelszero shares how your fan cams, DIYs, and choreo made this a K-pop summer 🫰",
                "createTime": "2026-09-29T17:39:33Z",
                "type": "video",
                "duration": 88,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/osaE1A7E9lIJA1BR9Ti9C3i3LvAAqQ4TAP2Br~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=Jzty50GzXjAVznyThcHS0003URs%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/osaE1A7E9lIJA1BR9Ti9C3i3LvAAqQ4TAP2Br~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=Jzty50GzXjAVznyThcHS0003URs%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/o4RG2UqAejhe6t03MQgUN7WNayAFnA80QeRfQB/?a=1988&bti=ODszNWYuMDE6&&bt=1185&ft=-Csk_mH1PD12NLKoon-Ux912GY6e3wv25AcAp&mime_type=video_mp4&rc=ZGc0MzgzZjM3aTg3ZTU8OEBpajY6c3A5cm95ZDMzaTczNEBeNS8zLTI0XzAxXi9gL2JgYSNiXi5nMmRrYXFhLS1kMTJzcw%3D%3D&expire=1791225919&l=20261004024351DC04281A2D8226F8039D&ply_type=2&policy=2&signature=1da5fb8bc54b597f13b7ec0557519f29&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 149000,
                    "likes": 3746,
                    "comments": 749,
                    "shares": 270,
                    "saves": 368
                },
                "author": {
                    "id": "107955",
                    "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                    "username": "tiktok",
                    "nickname": "TikTok",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": true
                },
                "music": {
                    "id": "7691013272866802463",
                    "title": "original sound",
                    "author": "TikTok",
                    "original": true,
                    "duration": 88,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fc663f04&x-expires=1791223200&x-signature=C04o1M3qhROGZ%2BFZG4fjNtl6mcE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-2370c799-sg/oMK63J4y9UAeFIIqF7LeQFAqa7IAeqIfmAG9Qv/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThdC--GXq8Zmo&mime_type=audio_mpeg&rc=amdlc3k5cm95ZDMzaTU8NEBpamdlc3k5cm95ZDMzaTU8NEBebDVjMmRzY3FhLS1kMTJzYSNebDVjMmRzY3FhLS1kMTJzcw%3D%3D&vvpl=1&l=20261004024351DC04281A2D8226F8039D&VExpiration=1791139519&VSignature=aiK1FJ8Ye2rB7HpDvWF6bQ&btag=e00050000&sp_exp=hash_v0"
                },
                "hashtags": [],
                "mentions": [
                    "rachelszero"
                ]
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/user/videos

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username optional string

Username, with or without @. Required unless url is given. Example: tiktok

url optional string

A tiktok.com profile link.

cursor optional string

Cursor from the previous page. Default: 0.

Videos

Videos and photo posts, their comments, and embeds.

GET /v1/tiktok/video/info

requires authentication

One video or photo post in the shared video shape. Pass id or any TikTok video link, including vm.tiktok.com short links. An identical request within 5 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/video/info'
params = {
  'id': '7106594312292453675',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/video/info';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '7106594312292453675',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/video/info"
);

const params = {
    "id": "7106594312292453675",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/video/info?id=7106594312292453675" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "7106594312292453675"
    },
    "body": {
        "id": "7106594312292453675",
        "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675",
        "description": "how many frogs did you find? 🐸 check out tiktok’s #Minecraft community today! @Gorillo",
        "createTime": "2022-06-07T20:15:29Z",
        "type": "video",
        "duration": 24,
        "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/beee36ba02ef449397b2d128bc32dd9d_1654632931~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=po0g9uEgJNduBpoBXZ%2B0fEHIzpQ%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
        "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/447945bfeb2542759118f06cbe030e9a_1654632930~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=ITopkHdiPAQKuttC1Q6m8AucVYk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
        "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast5/tos-useast5-ve-0068c003-tx/290d9614206e4076b11579a437577a48/?a=1988&bti=ODszNWYuMDE6&&bt=1046&ft=aEeq8qT0mIoPD12_mEmI3wUXt_AbMeF~O5&mime_type=video_mp4&rc=aWdlODs6aDUzOGloMzg7NUBpM3F2cjU6Zmx1ZDMzZzczNEA1LWE2MDAuXzExYGIxNTJgYSNgYmFgcjQwMGNgLS1kMS9zcw%3D%3D&expire=1791221593&l=202610031732490B862DA8C9E3833DB283&ply_type=2&policy=2&signature=0a9388266e4ce9a53fe63372d0c67d47&tk=tt_chain_token&btag=e000b8000",
        "images": [],
        "width": 576,
        "height": 1024,
        "isAd": false,
        "locationCreated": "US",
        "stats": {
            "plays": 581500,
            "likes": 98900,
            "comments": 1269,
            "shares": 359,
            "saves": 59224
        },
        "author": {
            "id": "107955",
            "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
            "username": "tiktok",
            "nickname": "TikTok",
            "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=727755af&x-expires=1791219600&x-signature=rQOf1K4lRR5W9PvHbAPT4F0H4Uc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
            "verified": true
        },
        "music": {
            "id": "7106594280055130923",
            "title": "original sound",
            "author": "TikTok",
            "original": true,
            "duration": 24,
            "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=727755af&x-expires=1791219600&x-signature=rQOf1K4lRR5W9PvHbAPT4F0H4Uc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
            "playUrl": "https://v16m.tiktokcdn-us.com/c9524de441bc50f80b49f0b240707665/6ac190b9/video/tos/useast5/tos-useast5-v-27dcd7-tx/3b1e3e03a4fe4d4f825b981b86870986/?a=1233&bti=ODszNWYuMDE6&&bt=123&ft=GSDrKInz7Thl-5-GXq8Zmo&mime_type=video_mp4&rc=ajV0bTM6ZnJ1ZDMzZzU8NEBpajV0bTM6ZnJ1ZDMzZzU8NEBiajFxcjRvMGNgLS1kMS9zYSNiajFxcjRvMGNgLS1kMS9zcw%3D%3D&vvpl=1&l=202610031732490B862DA8C9E3833DB283&btag=e00078000"
        },
        "hashtags": [
            "minecraft"
        ],
        "mentions": [
            "gorilloyt"
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/video/info

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id optional string

Video id. Required unless url is given. Example: 7106594312292453675

url optional string

A TikTok video link.

GET /v1/tiktok/video/batch

requires authentication

Up to 5 videos in one call, fetched in parallel. body keeps the order of ids. A video that couldn't be read is { "id", "error" }.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/video/batch'
params = {
  'ids': '7106594312292453675,6718335390845095173',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/video/batch';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'ids' => '7106594312292453675,6718335390845095173',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/video/batch"
);

const params = {
    "ids": "7106594312292453675,6718335390845095173",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/video/batch?ids=7106594312292453675%2C6718335390845095173" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "ids": "7106594312292453675,6718335390845095173",
        "count": 2
    },
    "body": [
        {
            "id": "7106594312292453675",
            "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675",
            "description": "how many frogs did you find? 🐸 check out tiktok’s #Minecraft community today! @Gorillo",
            "createTime": "2022-06-07T20:15:29Z",
            "type": "video",
            "duration": 24,
            "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/beee36ba02ef449397b2d128bc32dd9d_1654632931~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=po0g9uEgJNduBpoBXZ%2B0fEHIzpQ%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/447945bfeb2542759118f06cbe030e9a_1654632930~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=ITopkHdiPAQKuttC1Q6m8AucVYk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast5/tos-useast5-ve-0068c003-tx/290d9614206e4076b11579a437577a48/?a=1988&bti=ODszNWYuMDE6&&bt=1046&ft=aEeq8qT0mIoPD12_mEmI3wUXt_AbMeF~O5&mime_type=video_mp4&rc=aWdlODs6aDUzOGloMzg7NUBpM3F2cjU6Zmx1ZDMzZzczNEA1LWE2MDAuXzExYGIxNTJgYSNgYmFgcjQwMGNgLS1kMS9zcw%3D%3D&expire=1791221593&l=202610031732490B862DA8C9E3833DB283&ply_type=2&policy=2&signature=0a9388266e4ce9a53fe63372d0c67d47&tk=tt_chain_token&btag=e000b8000",
            "images": [],
            "width": 576,
            "height": 1024,
            "isAd": false,
            "locationCreated": "US",
            "stats": {
                "plays": 581500,
                "likes": 98900,
                "comments": 1269,
                "shares": 359,
                "saves": 59224
            },
            "author": {
                "id": "107955",
                "secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
                "username": "tiktok",
                "nickname": "TikTok",
                "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=727755af&x-expires=1791219600&x-signature=rQOf1K4lRR5W9PvHbAPT4F0H4Uc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "verified": true
            },
            "music": {
                "id": "7106594280055130923",
                "title": "original sound",
                "author": "TikTok",
                "original": true,
                "duration": 24,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=727755af&x-expires=1791219600&x-signature=rQOf1K4lRR5W9PvHbAPT4F0H4Uc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "playUrl": "https://v16m.tiktokcdn-us.com/c9524de441bc50f80b49f0b240707665/6ac190b9/video/tos/useast5/tos-useast5-v-27dcd7-tx/3b1e3e03a4fe4d4f825b981b86870986/?a=1233&bti=ODszNWYuMDE6&&bt=123&ft=GSDrKInz7Thl-5-GXq8Zmo&mime_type=video_mp4&rc=ajV0bTM6ZnJ1ZDMzZzU8NEBpajV0bTM6ZnJ1ZDMzZzU8NEBiajFxcjRvMGNgLS1kMS9zYSNiajFxcjRvMGNgLS1kMS9zcw%3D%3D&vvpl=1&l=202610031732490B862DA8C9E3833DB283&btag=e00078000"
            },
            "hashtags": [
                "minecraft"
            ],
            "mentions": [
                "gorilloyt"
            ]
        },
        {
            "id": "6718335390845095173",
            "url": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
            "description": "Scramble up ur name & I’ll try to guess it😍❤️ #foryoupage #petsoftiktok #aesthetic",
            "createTime": "2019-07-27T13:32:38Z",
            "type": "video",
            "duration": 10,
            "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-p-0068/2367c7d45cf54a1397abd0e72bf22eac~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=irRpYolM5kjoKRhTfOHE6OfcL%2Fk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-p-0068/dc1c2b319b174c7eabd57ba4b191cc93~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=gtX5mfysWw6dEOa55KDtEOvrWt4%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast5/tos-useast5-pve-0068-tx/a9d18e19b850455597ce9421ea84a228/?a=1988&bti=ODszNWYuMDE6&&bt=2188&ft=aEeq8qT0mIoPD124mEmI3wU8qOAbMeF~O5&mime_type=video_mp4&rc=PDo2NWU3M2U8ZTM1PGk2ZEBpM245aWhvZ3U4bjMzZzczM0AxL2BiXi8tNTExYF82YjYzYSMzc29gcGdnMXJfLS01MTZzcw%3D%3D&expire=1791221590&l=2026100317325907DBE0E78840855FF812&ply_type=2&policy=2&signature=003dd48542ef1cd937bfd122edb18514&tk=tt_chain_token&btag=e000b0000",
            "images": [],
            "width": 576,
            "height": 1024,
            "isAd": false,
            "locationCreated": "US",
            "stats": {
                "plays": 159400,
                "likes": 35200,
                "comments": 5717,
                "shares": 1497,
                "saves": 649
            },
            "author": {
                "id": "53279706535428096",
                "secUid": "MS4wLjABAAAAPZWNdkF_cmVSPCvV0Y6MCsH29mlAOlMOX3ikzGvlfMm3K6OMZv-JrRImpEHxdIMI",
                "username": "scout2015",
                "nickname": "Scout, Suki & Stella",
                "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/4cbe05e194623e3f19aef975d9fdf26c~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=cd6fbcb7&x-expires=1791219600&x-signature=N%2Bst87dhPV0TIo8NufqSgj4HHTc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "verified": true
            },
            "music": {
                "id": "6689804660171082501",
                "title": "original sound",
                "author": "tiff",
                "original": true,
                "duration": 10,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/62c59c8c91226b51c36d2338519eb63e~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=8ed93f36&x-expires=1791219600&x-signature=tjdHKmZXrJJe%2F92RFP4phEWAPu0%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "playUrl": "https://v19.tiktokcdn-us.com/34b8f4bdf962b4bdb415132a4fb5fd14/6ac190b6/video/tos/useast5/tos-useast5-v-27dcd7-tx/fdec9588d6684e7d97da29739b9d0abf/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Thc-5-GXq8Zmo&mime_type=audio_mpeg&rc=am48ZmQ6ZnFxNzMzNzU8M0Bpam48ZmQ6ZnFxNzMzNzU8M0BpNWRhcjRfaGBgLS1kMTZzYSNpNWRhcjRfaGBgLS1kMTZzcw%3D%3D&vvpl=1&l=2026100317325907DBE0E78840855FF812&btag=e00070000"
            },
            "hashtags": [
                "foryoupage",
                "petsoftiktok",
                "aesthetic"
            ],
            "mentions": []
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/video/batch

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
ids required string

Comma-separated video ids, up to 5. Example: 7106594312292453675,6718335390845095173

GET /v1/tiktok/video/comments

requires authentication

Top-level comments on a video, 20 per page: total, cursor, hasMore, and comments (id, text, createTime, likes, replyCount, pinned, likedByAuthor, author). Pass the returned cursor to get the next page. A video without comments, or one that doesn't exist, returns comments: [].

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/video/comments'
params = {
  'id': '7106594312292453675',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/video/comments';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '7106594312292453675',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/video/comments"
);

const params = {
    "id": "7106594312292453675",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/video/comments?id=7106594312292453675" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "7106594312292453675",
        "cursor": 0
    },
    "body": {
        "total": 1269,
        "cursor": "20",
        "hasMore": true,
        "comments": [
            {
                "id": "7128453658077397765",
                "text": "Tiktok and Minecraft??",
                "createTime": "2022-08-05T18:01:11Z",
                "likes": 3,
                "replyCount": 0,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "6653810561643937797",
                    "secUid": "MS4wLjABAAAAskbqyCl5Kyd95nCiTp4EjUdziGoRqyo_zR7A3MMOvwpq2nDhX86lZ5-IbgGaTCxD",
                    "username": "awwmanbro",
                    "nickname": "a",
                    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/37c63c610a9c03e111bb4431f517e766~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=46e317f1&x-expires=1791133200&x-signature=wZDLWq%2BBBGPUriMhTkH%2F9RJAn%2Fk%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast5"
                }
            },
            {
                "id": "7106606555949433646",
                "text": "15?",
                "createTime": "2022-06-07T21:03:06Z",
                "likes": 156,
                "replyCount": 4,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "7056496677578621998",
                    "secUid": "MS4wLjABAAAA2cYwQvR7G2OZSW7PYRV1cLh5BwnjGuYmOLKPTQj1X6dNu15GxZnbZ_lmgB0iG9PD",
                    "username": "0_.preppy._.vids._0",
                    "nickname": "0_.preppy._.vids._0",
                    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/bfe549787c81bb9281e82b72a327c184~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=d196f3e0&x-expires=1791133200&x-signature=04GNEfD6GwmzrYrvhlyrZCFZIqg%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast5"
                }
            },
            {
                "id": "7112196704363414273",
                "text": "j thought it was 16 because of the emoji😳",
                "createTime": "2022-06-22T22:36:33Z",
                "likes": 190,
                "replyCount": 1,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "7103739906774877189",
                    "secUid": "MS4wLjABAAAAU5E_fuu1r99dykD5XtZzApJE7gJXgy2IRyxPffa_KT_GsGPswYHgk47B625W8PGq",
                    "username": "t3ss51",
                    "nickname": "iprobsfartedrnandudidntknow",
                    "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/e37adafcb59a27497234a40b807e952a~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=441c60eb&x-expires=1791133200&x-signature=ETk4X7Xa6TGxajkivromPy31LS4%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast5"
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/video/comments

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id optional string

Video id. Required unless url is given. Example: 7106594312292453675

url optional string

A TikTok video link.

cursor optional integer

Cursor from the previous page. Default: 0.

GET /v1/tiktok/video/comment-replies

requires authentication

Replies to one comment, 20 per page, in the /video/comments shape. Take commentId from a comment's id.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/video/comment-replies'
params = {
  'id': '7106594312292453675',
  'commentId': '7106606555949433646',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/video/comment-replies';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '7106594312292453675',
            'commentId' => '7106606555949433646',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/video/comment-replies"
);

const params = {
    "id": "7106594312292453675",
    "commentId": "7106606555949433646",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/video/comment-replies?id=7106594312292453675&commentId=7106606555949433646" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "7106594312292453675",
        "commentId": "7106606555949433646",
        "cursor": 0
    },
    "body": {
        "total": 3,
        "cursor": "3",
        "hasMore": false,
        "comments": [
            {
                "id": "7106694601016640298",
                "text": "16",
                "createTime": "2022-06-08T02:44:45Z",
                "likes": 0,
                "replyCount": null,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "6790110031654355973",
                    "secUid": "MS4wLjABAAAAvosMfaqbWUGZoNTWOtdJGUpliaOCjQK7D9HLX8b9ACI_WLteuzs09KQ4E8UmAWuV",
                    "username": "waylonkatty",
                    "nickname": "Waylon",
                    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/81fe25c4a4c9d723ccf446e989d91806~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=3dd72d8c&x-expires=1791133200&x-signature=0jR%2Barmx0HER%2BxE0wVPA9m40nLE%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast8"
                }
            },
            {
                "id": "7106781823955125035",
                "text": "16 where?",
                "createTime": "2022-06-08T08:23:35Z",
                "likes": 0,
                "replyCount": null,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "6875912783813673989",
                    "secUid": "MS4wLjABAAAAL2Ft3eTjZZRcXbMZ3bT305h0vd-JKtJZ97l-7A95iZk6M9f8ZD-zJHYtxqr0-ClZ",
                    "username": "yelglazer46",
                    "nickname": "Riku.bku",
                    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/b507caaaa707d7a35081fae0b88b6e21~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=f90ce250&x-expires=1791133200&x-signature=w9Yxr%2BOlA9gGcaD%2FvXWOAv5ylIs%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast8"
                }
            },
            {
                "id": "7106815856383410990",
                "text": "Caption",
                "createTime": "2022-06-08T10:35:35Z",
                "likes": 0,
                "replyCount": null,
                "pinned": false,
                "likedByAuthor": false,
                "author": {
                    "id": "6790110031654355973",
                    "secUid": "MS4wLjABAAAAvosMfaqbWUGZoNTWOtdJGUpliaOCjQK7D9HLX8b9ACI_WLteuzs09KQ4E8UmAWuV",
                    "username": "waylonkatty",
                    "nickname": "Waylon",
                    "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/81fe25c4a4c9d723ccf446e989d91806~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=3dd72d8c&x-expires=1791133200&x-signature=0jR%2Barmx0HER%2BxE0wVPA9m40nLE%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast8"
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/video/comment-replies

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id required string

Video id. Example: 7106594312292453675

commentId required string

Comment id. Example: 7106606555949433646

cursor optional integer

Cursor from the previous page. Default: 0.

GET /v1/tiktok/video/oembed

requires authentication

TikTok's embed for a video: id, title, author, authorUsername, authorUrl, thumbnail, thumbnailWidth, thumbnailHeight, and html (the embed snippet).

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/video/oembed'
params = {
  'url': 'https://www.tiktok.com/@tiktok/video/7106594312292453675',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/video/oembed';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'url' => 'https://www.tiktok.com/@tiktok/video/7106594312292453675',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/video/oembed"
);

const params = {
    "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/video/oembed?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7106594312292453675" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675"
    },
    "body": {
        "id": "7106594312292453675",
        "title": "how many frogs did you find? 🐸 check out tiktok’s #Minecraft community today! @Gorillo",
        "author": "TikTok",
        "authorUsername": "tiktok",
        "authorUrl": "https://www.tiktok.com/@tiktok",
        "thumbnail": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/beee36ba02ef449397b2d128bc32dd9d_1654632931~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=%2Fz%2FFmFFfS5rqBVQiGhdyPWRuXG4%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
        "thumbnailWidth": 576,
        "thumbnailHeight": 1024,
        "html": "<blockquote class=\"tiktok-embed\" cite=\"https://www.tiktok.com/@tiktok/video/7106594312292453675\" data-video-id=\"7106594312292453675\" data-embed-from=\"oembed\" style=\"max-width:605px; min-width:325px;\"> <section> <a target=\"_blank\" title=\"@tiktok\" href=\"https://www.tiktok.com/@tiktok?refer=embed\">@tiktok</a> <p>how many frogs did you find? 🐸 check out tiktok’s <a title=\"minecraft\" target=\"_blank\" href=\"https://www.tiktok.com/tag/minecraft?refer=embed\">#Minecraft</a> community today! @Gorillo</p> <a target=\"_blank\" title=\"♬ original sound - TikTok\" href=\"https://www.tiktok.com/music/original-sound-7106594280055130923?refer=embed\">♬ original sound - TikTok</a> </section> </blockquote> <script async src=\"https://www.tiktok.com/embed.js\"></script>"
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/video/oembed

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
url required string

A TikTok video link. Example: https://www.tiktok.com/@tiktok/video/7106594312292453675

Hashtags

Hashtag details and the videos that use them.

GET /v1/tiktok/hashtag/info

requires authentication

A hashtag's id, name, url, description, cover, and stats (videos, views). An identical request within 30 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/hashtag/info'
params = {
  'name': 'cooking',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/hashtag/info';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'name' => 'cooking',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/hashtag/info"
);

const params = {
    "name": "cooking",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/hashtag/info?name=cooking" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "name": "cooking"
    },
    "body": {
        "id": "18973",
        "name": "cooking",
        "url": "https://www.tiktok.com/tag/cooking",
        "description": null,
        "cover": "https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/bbbcb935f04337b7e6bdb05ee1b9f5e5.jpeg~tplv-tiktokx-origin.image?dr=9627&x-expires=1791068400&x-signature=6dB0sONWR369Qo1DW4koWsfuYho%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=useast5",
        "stats": {
            "videos": 19093625,
            "views": 552498276146
        }
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/hashtag/info

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
name required string

Hashtag, with or without #. Example: cooking

GET /v1/tiktok/hashtag/videos

requires authentication

Videos using a hashtag, about 30 per page: hashtag (id, name), cursor, hasMore, and videos. Pass name or the hashtag id from /hashtag/info, and the returned cursor for the next page.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/hashtag/videos'
params = {
  'name': 'cooking',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/hashtag/videos';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'name' => 'cooking',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/hashtag/videos"
);

const params = {
    "name": "cooking",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/hashtag/videos?name=cooking" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "name": "cooking",
        "cursor": 0
    },
    "body": {
        "hashtag": {
            "id": "18973",
            "name": "cooking"
        },
        "cursor": "30",
        "hasMore": true,
        "videos": [
            {
                "id": "7643566140492352798",
                "url": "https://www.tiktok.com/@mariahhcooks/video/7643566140492352798",
                "description": "Hot Honey Chicken Pasta 🍯🔥 the viral recipe with over 60+ million views, 20/10 hits every time! Recipe: Chicken Tenders • 1 lb chicken tenderloins • 1 tsp onion powder • 1 tsp garlic powder • 1 tsp seasoned salt • 1 tsp creole seasoning • 1 tsp cayenne pepper (optional, adjust to spice) • 1 tsp all purpose seasoning • 1 sazon packet • 1–2 cups buttermilk • ⅛ cup jalapeño or pickle juice • 3 cups all-purpose flour (season with same seasonings) Hot Honey Sauce • ½ cup buffalo sauce • ¼ cup honey • ⅛ cup hot sauce (optional) Pasta • 1 lb penne pasta • 2 tbsp unsalted butter • 2 garlic cloves, finely minced • ½ yellow onion, finely chopped • 1 ½ cups heavy cream • 1 tsp onion powder • 1 tsp garlic powder • 1 tsp seasoned salt • 1 tsp creole seasoning • 1 tsp cayenne pepper (optional) • 1 tsp all purpose seasoning • 1 tsp black pepper • Grated mozzarella • Grated Parmesan Instructions 1. Season chicken tenderloins add in buttermilk and jalapeño/pickle juice then marinate for at least 30 minutes to an hour.  2. Coat chicken in seasoned flour set aside on wire rack and rest for 10 minutes before frying. Fry at 350°F until golden brown and crispy. Set aside and let cool on a wire rack. 3. In a sauce pan, add 1 tbsp of unsalted butter, buffalo sauce, honey, and hot sauce and simmer until fully combined. Then toss chicken in the hot honey sauce. 4. In a skillet, melt butter and sauté garlic and onion until fragrant. Pour in heavy cream and stir in all seasonings. 5. Add mozzarella and Parmesan until melted and creamy, then toss in cooked pasta. 6. Top creamy pasta with hot honey chicken and extra sauce if desired and enjoy :) #hothoneychickenpasta #hothoney #chickenpasta #pasta #fypシ ",
                "createTime": "2026-05-24T21:00:37Z",
                "type": "video",
                "duration": 65,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oIVDiAiAEAvAIvFAqOuAeZ2fMboRCzEETEEuGL~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=QeieCGPfr8%2B4ATygBs7kg76rXLE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "dynamicCover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oIVDiAiAEAvAIvFAqOuAeZ2fMboRCzEETEEuGL~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=4eYdUvnoqQ0x%2BcmM2Q4SQYyhXm0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-ve-0068c002-tx2/ogCfj2MzJYs8ufpem6yKqFhQAg4WgIUoIRAAla/?a=1988&bti=ODszNWYuMDE6&&bt=1991&ft=aEeq8qT0mIoPD12gmEmI3wUfnOAbMeF~O5&mime_type=video_mp4&rc=NDk3NzNkN2U8ZDM3ZWU1ZUBpMzl4bnE5cm5wOzMzaTczNEAwYDU0Yy1iXjExLTBfYi42YSNoaF4wMmQ0XzZhLS1kMTJzcw%3D%3D&expire=1791221693&l=2026100317334796B780B5591BF720192C&ply_type=2&policy=2&signature=86baaba98478fa0ae87c43cbc451bff8&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 8600000,
                    "likes": 909700,
                    "comments": 1986,
                    "shares": 178200,
                    "saves": 309631
                },
                "author": {
                    "id": "6787900728574903301",
                    "secUid": "MS4wLjABAAAAE84XQuS3ikwhSKTLkeCR6KQaV5jgRM0wC-LTBIkQRmnYp6UP0NctPDHky2FPUbFr",
                    "username": "mariahhcooks",
                    "nickname": "Mariah | Cooking & Baking",
                    "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/afea89e75a557c764622ef0ae33d4d7d~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=1b04007e&x-expires=1791219600&x-signature=7MSY3C%2BV7RQ%2F%2FxCSU%2Fp8UCC0SoU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                    "verified": false
                },
                "music": {
                    "id": "7579333053030451998",
                    "title": "original sound",
                    "author": "Mariah | Cooking & Baking",
                    "original": true,
                    "duration": 73,
                    "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/afea89e75a557c764622ef0ae33d4d7d~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=1b04007e&x-expires=1791219600&x-signature=7MSY3C%2BV7RQ%2F%2FxCSU%2Fp8UCC0SoU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                    "playUrl": "https://v19.tiktokcdn-us.com/f6ee8b64f9e133858c17fe15e70392f1/6ac19125/video/tos/useast8/tos-useast8-v-27dcd7-tx2/owGeAqCbQCKXGQItteTZooBIeb8wmAxMA5EALS/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Thi-5-GXq8Zmo&mime_type=audio_mpeg&rc=M2Y5N2o5cnVtNzMzaTU8NEBpM2Y5N2o5cnVtNzMzaTU8NEBiMmxjMmRjM2thLS1kMTJzYSNiMmxjMmRjM2thLS1kMTJzcw%3D%3D&vvpl=1&l=2026100317334796B780B5591BF720192C&btag=e00050000"
                },
                "hashtags": [
                    "hothoneychickenpasta",
                    "hothoney",
                    "chickenpasta",
                    "pasta",
                    "fypシ"
                ],
                "mentions": []
            },
            {
                "id": "7689569942680685854",
                "url": "https://www.tiktok.com/@_cookedbyjess/video/7689569942680685854",
                "description": "What are you waiting for??😭 Honey Chipotle Chicken Mac & Cheese Tacos🌮  Full recipe on my substack, link in bio💕 Ingredients: Chicken: Boneless, skinless chicken thighs Garlic powder Onion powder Paprika Cayenne pepper Kosher salt Black pepper Chicken bouillon Ground cumin Eggs Cornstarch All-purpose flour Dry Mix: All-purpose flour Cornstarch Rice flour Mac & Cheese: Elbow macaroni Unsalted butter All-purpose flour Chicken bouillon Onion powder Garlic powder Paprika Cayenne pepper Heavy cream Mozzarella cheese Sharp cheddar cheese Honey Chipotle Sauce: Unsalted butter Chipotle peppers in adobo Hot sauce Honey Spicy Pickle Sauce: Mayonnaise Sour cream Sriracha Chipotle peppers in adobo Pickle juice Garlic powder Assembly: Small flour tortillas Mozzarella cheese Vegetable oil #cookedbyjess #comfortfood #tacos #macncheese ",
                "createTime": "2026-09-25T20:18:57Z",
                "type": "video",
                "duration": 60,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o0lLIeX9AgUffeStQAMAQy2nGKqArJFRA1QK83~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=lCbdhJyXOYjPJ%2BXFWSPypzVjbCE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o0lLIeX9AgUffeStQAMAQy2nGKqArJFRA1QK83~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=lCbdhJyXOYjPJ%2BXFWSPypzVjbCE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-pve-0068-tx2/ogVftFYqA4ARuDzdEo1EP5DfKSEEtq2VAQB2Ip/?a=1988&bti=ODszNWYuMDE6&&bt=2837&ft=aEeq8qT0mIoPD12gmEmI3wUfnOAbMeF~O5&mime_type=video_mp4&rc=ZTkzaTg2NGY5aTo7ZDdoN0BpM3d2Z3M5cjZnZDMzaTczNEBjNC0zXmA1NTYxMGM1MzJhYSNoLTRyMmRzYG9hLS1kMTJzcw%3D%3D&expire=1791221688&l=2026100317334796B780B5591BF720192C&ply_type=2&policy=2&signature=d4cc9791bee8b53373c2fe83fed5d8b7&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": true,
                "locationCreated": null,
                "stats": {
                    "plays": 1400000,
                    "likes": 141300,
                    "comments": 596,
                    "shares": 43200,
                    "saves": 44921
                },
                "author": {
                    "id": "7237350154695640107",
                    "secUid": "MS4wLjABAAAA8C8PCVtY40TMT4bSqiE23PRPs0A-lwxNgykMUzbr2fOODGic1ZO-xhm44oOCkF9z",
                    "username": "_cookedbyjess",
                    "nickname": "CookedByJess",
                    "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/06edcafeed3ed0cb85f8c98929158c34~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=e0f00f9c&x-expires=1791219600&x-signature=JEg3xSGl79b9AsJaJs1QmtlIrrw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                    "verified": false
                },
                "music": {
                    "id": "6928871887166507009",
                    "title": "Do For Love - Instrumental",
                    "author": "The Hit Crew",
                    "original": false,
                    "duration": 60,
                    "cover": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oYAwbcjfszitAoApAKB1U8itAjtGwB3E5kvAEW~tplv-tiktokx-cropcenter:200:200.jpeg?dr=9584&t=4d5b0474&ps=933b5bde&shp=08d74b56&shcp=81f88b70&idc=useast5",
                    "playUrl": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/okIaDaFgfwF3WWhsTvfyW872gAQflCMDMgpzjW"
                },
                "hashtags": [
                    "cookedbyjess",
                    "comfortfood",
                    "tacos",
                    "macncheese"
                ],
                "mentions": []
            },
            {
                "id": "7690673524758924557",
                "url": "https://www.tiktok.com/@iramsfoodstory/video/7690673524758924557",
                "description": "Crispy cheeseburger wraps Ingredients  For the beef mixture: 1 lb ground beef ( 80% lean, 20% fat ) 2 tbsp oil 1 yellow onion, finely diced  1 tbsp fresh garlic, minced 1 tbsp tomato paste Salt to taste 1 tsp black pepper  1 tbsp garlic powder  2 tsp smoked paprika powder  1 tsp onion powder  1 large jalapeño, chopped 1 tbsp Worcestershire sauce  1/2 cup water For the cheese burger sauce: 1/2 cup mayonnaise 2 tbsp ketchup 1 tbsp yellow mustard 1/2 tsp Worcestershire sauce  1 1/2 tbsp finely minced dill pickles 1 tbsp pickle juice 1 tsp finely minced onion 1/2 tsp garlic powder 1/4 tsp smoked paprika 1/2 tsp sugar 1/4 tsp black pepper To assemble: 9 medium tortilla wraps 1 1/2 cup Mexican style four cheese  1/2 cup caramelized onions 1/3 cup picked jalapeños, chopped  Oil for pan frying  Method: Heat 1 tbsp oil in a large skillet over medium-high heat. Add onion and cook 3–4 minutes until softened. Add garlic and cook 30 seconds. Add beef and cook, breaking it up, until browned and fully cooked. Drain excess fat if needed, leaving a little behind. Add tomato paste, salt, pepper, garlic powder, smoked paprika and onion powder. Cook 1–2 minutes. Add Worcestershire sauce jalapeños and water. Simmer uncovered 5–7 minutes, stirring occasionally, until the liquid has completely reduced and the beef is moist but not watery. Taste and adjust salt if needed. Remove from heat and cool slightly. For the sauce, mix mayonnaise, ketchup, mustard, Worcestershire sauce, pickles, pickle juice, onion, garlic powder, smoked paprika, sugar and black pepper until smooth. Refrigerate until ready to use. Lay out the tortillas and spread about 1 tbsp sauce slightly below the center. Add about 1/4 cup beef, 2 tbsp cheese, caramelized onions and pickled jalapeños. Fold the bottom over the filling, fold in the sides and roll tightly. Heat a thin layer of oil in a skillet over medium heat. Place wraps seam-side down and cook 2–3 minutes per side, pressing gently, until golden and crispy. Continue cooking until all sides are crisp and the cheese is melted. Rest 1–2 minutes, slice in half and serve immediately with extra cheeseburger sauce.  #recipe #cheeseburger ",
                "createTime": "2026-09-28T19:41:19Z",
                "type": "video",
                "duration": 61,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oowqrLEJi4yrBi8EPRmCiDKhU6urAIzIgaBB3~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=AkIM6JtNbS3go%2B22%2FnSwAaZmfKc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "dynamicCover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/okq6CiBL9rLUrg8BIuaiEj4zIB3lzKiywAPBR~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=8Gi7pu4XskSqOSLcrmpVnLYYFjY%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
                "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast5/tos-useast5-pve-0068-tx/ogwq3LEhi4SrBi89PRSCiQKxU6wrAEzIgaBJ3/?a=1988&bti=ODszNWYuMDE6&&bt=1335&ft=aEeq8qT0mIoPD12gmEmI3wUfnOAbMeF~O5&mime_type=video_mp4&rc=aDg1ZjxoODY0Nmk4OWZoaUBpM3Y8NXE5cm1mZDMzZzczNEBeNDYtYDNgXi4xYjUyXjRfYSNlMHEyMmQ0MnFhLS1kMS9zcw%3D%3D&expire=1791221689&l=2026100317334796B780B5591BF720192C&ply_type=2&policy=2&signature=4bfe5e4862b9111fd87a6af097ed7ba1&tk=tt_chain_token&btag=e00090000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 8100000,
                    "likes": 649100,
                    "comments": 887,
                    "shares": 104700,
                    "saves": 236343
                },
                "author": {
                    "id": "6917123643164722182",
                    "secUid": "MS4wLjABAAAAhDjsksxxyBlDx3D7NJc5gh6N8xPIf_n1q8JymNaebnK17pOpHFzUQt5CB1yB8Dwv",
                    "username": "iramsfoodstory",
                    "nickname": "iramsfoodstory",
                    "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/913e62a1ab3b4a91e40d9d8c2d3909c4~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=9de4d4a0&x-expires=1791219600&x-signature=mOfdBvvdyIM%2FuR00%2F7tD2FuaYbo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                    "verified": false
                },
                "music": {
                    "id": "7690673470694329102",
                    "title": "original sound",
                    "author": "iramsfoodstory",
                    "original": true,
                    "duration": 61,
                    "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/913e62a1ab3b4a91e40d9d8c2d3909c4~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=9de4d4a0&x-expires=1791219600&x-signature=mOfdBvvdyIM%2FuR00%2F7tD2FuaYbo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                    "playUrl": "https://v19.tiktokcdn-us.com/cea120bba64a7a4724f9a8cc94827fee/6ac19119/video/tos/useast5/tos-useast5-v-27dcd7-tx/oMwzIFjUEECEgXu7s6fLfAiCJA9LqDSgDALuBN/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Thi-5-GXq8Zmo&mime_type=audio_mpeg&rc=ajc0eXM5cnJmZDMzZzU8NEBpajc0eXM5cnJmZDMzZzU8NEBjb2psMmRrMnFhLS1kMS9zYSNjb2psMmRrMnFhLS1kMS9zcw%3D%3D&vvpl=1&l=2026100317334796B780B5591BF720192C&btag=e00050000"
                },
                "hashtags": [
                    "recipe",
                    "cheeseburger"
                ],
                "mentions": []
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/hashtag/videos

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
name optional string

Hashtag, with or without #. Required unless id is given. Example: cooking

id optional string

Hashtag id.

cursor optional integer

Cursor from the previous page. Default: 0.

Discover

The explore feed and search suggestions.

GET /v1/tiktok/explore

requires authentication

Videos from TikTok's explore page for a category, about 15 per call. The feed changes between calls; an identical request within 10 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/explore'
params = {
  'category': 'food',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/explore';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'category' => 'food',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/explore"
);

const params = {
    "category": "food",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/explore?category=food" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "category": "all"
    },
    "body": [
        {
            "id": "7664782256527002901",
            "url": "https://www.tiktok.com/@menlegende/video/7664782256527002901",
            "description": "@Légende peyi a😂🔥 @SteveArt #menlégende #funnyvideo #talent #funnybike #fyp ",
            "createTime": "2026-07-21T01:10:01Z",
            "type": "video",
            "duration": 12,
            "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oQaBXuD9FCO3XxeC7REWABIE3ulQQUPfgqs1zE~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=%2B550XT1RFMeY7aF%2FkNhausmVvWc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/ok3IfcD3QFAXQ3BXWHEUzjEaBusgfRl9q1dCgO~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=H5pRzMq52iZN9WjgYZLbe6Zo79I%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o8yElxIvQ3uEUuXBOeoDfBWRX3AFgtsgJ9aqI1/?a=1988&bti=ODszNWYuMDE6&&bt=3116&ft=aEeq8qT0mIoPD12LREmI3wUPbTAbMeF~O5&mime_type=video_mp4&rc=NGlpZmk0OTU5NjQ0Zjk7ZkBpajpkeHE5cndmPDMzODczNEA0LmA1MjFeXi0xMGE1NTRiYSMyNWphMmRzX2NhLS1kMTFzcw%3D%3D&expire=1791221119&l=2026100317250692915F34081EC03CC8D3&ply_type=2&policy=2&signature=b7656887ee7f691b0ac9fc00e957aa66&tk=tt_chain_token&btag=e000f8000",
            "images": [],
            "width": 576,
            "height": 1024,
            "isAd": false,
            "locationCreated": null,
            "stats": {
                "plays": 126100000,
                "likes": 4300000,
                "comments": 44200,
                "shares": 334500,
                "saves": 268425
            },
            "author": {
                "id": "7341753264772383749",
                "secUid": "MS4wLjABAAAAs2KF0OMOnR7_Xxz4JQmMbbG0tHSzZuz_iA6AtAi1wBVzQKHAkqB2HC4UgCwCTEwA",
                "username": "menlegende",
                "nickname": "Menlégende😂🔥",
                "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/4112dd6e9a5df314afe1b94c37a90b60~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=e5c047ce&x-expires=1791219600&x-signature=T4o6Ix6gmpCug9wkF1dQYmMrwxg%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "verified": false
            },
            "music": {
                "id": "7437246680426122030",
                "title": "original sound",
                "author": "daily_laugh_akrobetoo",
                "original": true,
                "duration": 23,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/cf2aea74f2200283486b1ff7df412c61~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=ef2ff0d7&x-expires=1791219600&x-signature=rrC3Bmy17FiD%2FAo95S54QkjNrUA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "playUrl": "https://v16m.tiktokcdn-us.com/3456715982d4f90274104873d080934f/6ac18eea/video/tos/useast5/tos-useast5-v-27dcd7-tx/oETsin6AEbamCFfBUASIAgD0yDANBwDkUIQfJV/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Th.m5-GXq8Zmo&mime_type=audio_mpeg&rc=M2Q5Omw5cjM5djMzZzU8NEBpM2Q5Omw5cjM5djMzZzU8NEBwaDYtMmRzZW9gLS1kMS9zYSNwaDYtMmRzZW9gLS1kMS9zcw%3D%3D&vvpl=1&l=2026100317250692915F34081EC03CC8D3&btag=e00078000"
            },
            "hashtags": [
                "menlégende",
                "funnyvideo",
                "talent",
                "funnybike",
                "fyp"
            ],
            "mentions": [
                "user7796272466038",
                "stevedraw"
            ]
        },
        {
            "id": "7675067268493004052",
            "url": "https://www.tiktok.com/@agentoflaughter/video/7675067268493004052",
            "description": "pov: first time swimming 😂 💔  #comedy #funny #viral ",
            "createTime": "2026-08-17T18:20:58Z",
            "type": "video",
            "duration": 13,
            "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/ogaABYoCNmBCiOSEAQDl0A4HE6UIAviYxn15A~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=EvSmM%2ByhNdk%2F%2B7YvJ1NhPqScYMA%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/ogaABYoCNmBCiOSEAQDl0A4HE6UIAviYxn15A~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=EvSmM%2ByhNdk%2F%2B7YvJ1NhPqScYMA%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/ooA9avtQEioBAYiUONRaCD8XBi5EGFQFdiIvi/?a=1988&bti=ODszNWYuMDE6&&bt=1600&ft=aEeq8qT0mIoPD12LREmI3wUPbTAbMeF~O5&mime_type=video_mp4&rc=PDs2Ojo6PGRlOTs7aGZnZkBpajh0Onc5cnNvZDMzODczNEAtL2NhMS80XmIxMDBjYTVeYSNqcjVhMmRrLi5hLS1kMWBzcw%3D%3D&expire=1791221120&l=2026100317250692915F34081EC03CC8D3&ply_type=2&policy=2&signature=00ad3aac0372b9f838a2f9279640938c&tk=tt_chain_token&btag=e000f8000",
            "images": [],
            "width": 576,
            "height": 1024,
            "isAd": false,
            "locationCreated": null,
            "stats": {
                "plays": 20100000,
                "likes": 3200000,
                "comments": 62300,
                "shares": 184700,
                "saves": 289169
            },
            "author": {
                "id": "6665668551394148354",
                "secUid": "MS4wLjABAAAA7OW7jRcew-23i7542DPpJot1f5_2WwcX84w4tsKuptd23ua-rM9lqnl4qnCLm0SH",
                "username": "agentoflaughter",
                "nickname": "Agent Of Laughter",
                "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7315108118353870853~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=7767ee6b&x-expires=1791219600&x-signature=C%2BrpbGsCQP03%2ByZFt2DrZ11zUAA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "verified": true
            },
            "music": {
                "id": "7675067297878379271",
                "title": "original sound",
                "author": "Agent Of Laughter",
                "original": true,
                "duration": 13,
                "cover": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7315108118353870853~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=7767ee6b&x-expires=1791219600&x-signature=C%2BrpbGsCQP03%2ByZFt2DrZ11zUAA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "playUrl": "https://v16m.tiktokcdn-us.com/a1a234932976801b7cc58e588b9a3c03/6ac18ee0/video/tos/alisg/tos-alisg-v-27dcd7/oAPAciRElAADiIDqGWCQCaYUd1AoEyAUVBDNy/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Th.m5-GXq8Zmo&mime_type=audio_mpeg&rc=M3BnOm85cjZvZDMzODU8NEBpM3BnOm85cjZvZDMzODU8NEAwXjVpMmQ0Ly5hLS1kMS1zYSMwXjVpMmQ0Ly5hLS1kMS1zcw%3D%3D&vvpl=1&l=2026100317250692915F34081EC03CC8D3&btag=e00078000"
            },
            "hashtags": [
                "comedy",
                "funny",
                "viral"
            ],
            "mentions": []
        },
        {
            "id": "7669725994743336199",
            "url": "https://www.tiktok.com/@lianaparmezana/video/7669725994743336199",
            "description": "I’m back…",
            "createTime": "2026-08-03T08:54:11Z",
            "type": "video",
            "duration": 14,
            "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/o891ToujuAb2BI12wIiEOVqBWfIXdzCiACA1wI~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=PCW4RLKm3tf%2BXJubhx0BTb2fP04%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "dynamicCover": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oYzwI129OxIiCVEnAAIxX2ufWjSwmiIBAdqAEC~tplv-tiktokx-origin.image?dr=9636&x-expires=1791219600&x-signature=h6Aff1Xq%2Fx2PMVw0ExQcoucmBfM%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast5",
            "playUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oEdEwgOI9jAVAu1EIiCWCuiCwB2zfmAXIQAu1q/?a=1988&bti=ODszNWYuMDE6&&bt=1115&ft=aEeq8qT0mIoPD12LREmI3wUPbTAbMeF~O5&mime_type=video_mp4&rc=OWdnaTo8Njs4NWY4Ozg7O0BpM3FnbHA5cmU4PDMzODczNEAxNjRgYWBfNTYxNjUxMF8yYSMvbjFyMmRjYmxhLS1kMTFzcw%3D%3D&expire=1791221121&l=2026100317250692915F34081EC03CC8D3&ply_type=2&policy=2&signature=7158a53784431391f1c62f62212a6f44&tk=tt_chain_token&btag=e000f8000",
            "images": [],
            "width": 576,
            "height": 768,
            "isAd": false,
            "locationCreated": null,
            "stats": {
                "plays": 49200000,
                "likes": 8900000,
                "comments": 16900,
                "shares": 251200,
                "saves": 344286
            },
            "author": {
                "id": "7075744691200050182",
                "secUid": "MS4wLjABAAAAbqb06mVlZWvY2jryZJxy9L_20Caqs6DvrwwtSSEuuRJb_E9KxVs7A96aKFZKQg0n",
                "username": "lianaparmezana",
                "nickname": "just Liana🤪",
                "avatar": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/1fa74090ede8616695ba8850b6acc6e1~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=a5d60c68&x-expires=1791219600&x-signature=0NY6LOlwNbfn1EIxy0n44zmHQwc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "verified": false
            },
            "music": {
                "id": "7337009707813800736",
                "title": "original sound",
                "author": "BEAST EDITS",
                "original": true,
                "duration": 93,
                "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/04ebbe6c8f060a83c1ebc16eef5947d0~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=a9673e0d&x-expires=1791219600&x-signature=gVbHiPPfTmw4v5EsZMVsOGupsvg%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
                "playUrl": "https://v16m.tiktokcdn-us.com/bd7b4e6a75d63f0c990a7d3ea499cf81/6ac18f30/video/tos/useast2a/tos-useast2a-v-2370-euttp/osfvlk1P0BDFNk0IAIrA8ACstUtQulf8DUJkEG/?a=1233&bti=ODszNWYuMDE6&&bt=125&ft=GSDrKInz7Th.m5-GXq8Zmo&mime_type=audio_mpeg&rc=M3B1Ong5cnc3cTMzZjU8M0BpM3B1Ong5cnc3cTMzZjU8M0BxX2QyMmRjajZgLS1kMWNzYSNxX2QyMmRjajZgLS1kMWNzcw%3D%3D&vvpl=1&l=2026100317250692915F34081EC03CC8D3&btag=e00050000"
            },
            "hashtags": [],
            "mentions": []
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/explore

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
category optional string

all (default), comedy, sports, relationship, shows, lipsync, daily_life, beauty_care, games, society, outfit, cars, food, animals, family, drama, fitness_health, education, or technology. Example: food

GET /v1/tiktok/search/suggest

requires authentication

Search suggestions for a partial query, as TikTok shows them while typing.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/search/suggest'
params = {
  'q': 'cook',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/search/suggest';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'cook',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/search/suggest"
);

const params = {
    "q": "cook",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/search/suggest?q=cook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "cook"
    },
    "body": [
        {
            "query": "cooking big hyatt"
        },
        {
            "query": "cooking food videos"
        },
        {
            "query": "cookie monster resort"
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/search/suggest

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
q required string

Partial search query. Example: cook

GET /v1/tiktok/resolve

requires authentication

What a TikTok link points to: type is video (with id, username, isPhoto), user (username), hashtag (name), music (id), or other. vm.tiktok.com and vt.tiktok.com short links are followed.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/resolve'
params = {
  'url': 'https://www.tiktok.com/@tiktok/video/7106594312292453675',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/resolve';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'url' => 'https://www.tiktok.com/@tiktok/video/7106594312292453675',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/resolve"
);

const params = {
    "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/resolve?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7106594312292453675" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "url": "https://www.tiktok.com/@tiktok/video/7106594312292453675"
    },
    "body": {
        "type": "video",
        "id": "7106594312292453675",
        "username": "tiktok",
        "isPhoto": false
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/resolve

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
url required string

A TikTok link. Example: https://www.tiktok.com/@tiktok/video/7106594312292453675

Keyword search for videos and accounts.

GET /v1/tiktok/search/videos

requires authentication

Videos matching a keyword, 12 per page: cursor, hasMore, searchId, and videos. For the next page pass the returned cursor and searchId. An identical request within 5 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/search/videos'
params = {
  'q': 'cooking',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/search/videos';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'cooking',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/search/videos"
);

const params = {
    "q": "cooking",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/search/videos?q=cooking" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "cooking",
        "cursor": "0"
    },
    "body": {
        "cursor": "12",
        "hasMore": true,
        "searchId": "20261004024252EA7BA12830AAC432F4B4",
        "videos": [
            {
                "id": "7629084489569832222",
                "url": "https://www.tiktok.com/@britscookin/video/7629084489569832222",
                "description": "Honey Garlic Chicken! 🍯 🧄  Sticky, sweet, garlicky, and comes together so easy… this one’s a weeknight winner every time!! @Courtney Cook made my recipe the other day and it made me want it all over again!! Serve it over rice with a veggie, so good y’all.  Ingredients:  • 3 lbs boneless, skinless chicken thighs, cut into bite-size pieces  • ½ tbsp garlic salt  • 1 tbsp black pepper  • ¼ cup cornstarch (plus a little extra if you want more crunch)  • 2–3 tbsp vegetable oil (for frying) Sauce:  • ½ cup honey  • ¼ cup soy sauce  • 1 tbsp ginger paste  • 2–3 tbsp minced garlic To Finish:  • Sesame seeds  • Green onions, sliced ⸻ Instructions:  1. Season the chicken In a large bowl, add chicken, garlic salt, black pepper, and cornstarch. Toss until everything is well coated. (Add a little extra cornstarch if you want it extra crispy.)  2. Cook the chicken Heat oil in a large skillet or wok over medium-high heat. Add chicken in batches and cook until browned on both sides with a light crust. Don’t overcrowd the pan. Remove and set aside.  3. Make the sauce Add all the cooked chicken back to the skillet. Pour in honey, soy sauce, ginger paste, and minced garlic. Toss to coat.  4. Simmer Let it simmer for a few minutes until the sauce thickens and gets sticky, coating all the chicken.  5. Finish & serve Top with sesame seeds and green onions. Serve over white rice with your favorite veggie.  #yum #easyrecipe #chicken",
                "createTime": "2026-04-15T20:24:32Z",
                "type": "video",
                "duration": 38,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/o4GHfAeXW0peOLLi47yKANosIfgg6gJANGt6Ze~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=ve%2BzRMkaUKPxUCPWhS6pygqTa5o%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/ocFLAVSTvAjDIUmHE5kf2j9CqSffQl6BID2AQD~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=8DQ1uKEOtFOzRitMYbiMoSdN3U0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/og9I06GEgHyioMfKpfeGegsNXNALA4eAsGzORJ/?a=1988&bti=ODszNWYuMDE6&&bt=2393&ft=-Csk_mH1PD12Nsgoon-Ux2yvWY6e3wv25-cAp&mime_type=video_mp4&rc=Mzc6Zjs1NzMzNzdkOzQ8PEBpamRudnY5cnN5OjMzaTczNEBjYV80Y141XzMxMy9jNDY1YSNhMGdkMmRrMmNhLS1kMTJzcw%3D%3D&expire=1791225811&l=20261004024252EA7BA12830AAC432F4B4&ply_type=2&policy=2&signature=0a1614322063a36fbedaf8b9c39ce0d5&tk=tt_chain_token&btag=e00088000",
                "images": [],
                "width": 720,
                "height": 1282,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 5900000,
                    "likes": 175900,
                    "comments": 485,
                    "shares": 71700,
                    "saves": 172842
                },
                "author": {
                    "id": "6784503679980520453",
                    "secUid": "MS4wLjABAAAAJB3YDsCk3csG0eaFkOz1ZZmBmGHEaNGNwuWCuUsrH4bkeBkVRqrWayrF222oMJ1_",
                    "username": "britscookin",
                    "nickname": "britscookin",
                    "avatar": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/e3bd476f75522834dafbbb522ca17c1c~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=f43c6f84&x-expires=1791223200&x-signature=aAYFgdKC31iH2fsj213lFCy7BWc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
                    "verified": true
                },
                "music": {
                    "id": "7629084492879252255",
                    "title": "original sound",
                    "author": "britscookin",
                    "original": true,
                    "duration": 38,
                    "cover": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/e3bd476f75522834dafbbb522ca17c1c~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=f43c6f84&x-expires=1791223200&x-signature=aAYFgdKC31iH2fsj213lFCy7BWc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
                    "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/maliva/tos-maliva-v-27dcd7c799-us/okAffFQpEAcTKD4GII9IC3ACGcEovTAqAACfIM/?a=1988&bti=ODszNWYuMDE6&&bt=125&ft=GNDpcInz7Th0p--GXq8Zmo&mime_type=audio_mpeg&rc=MzY3c3Y5cjN5OjMzaTU8NEBpMzY3c3Y5cjN5OjMzaTU8NEAvcGRhMmRrNWNhLS1kMTJzYSMvcGRhMmRrNWNhLS1kMTJzcw%3D%3D&expire=1791056611&l=20261004024252EA7BA12830AAC432F4B4&ply_type=3&policy=3&signature=7d59be2f96cd86b8708816f67cb5cdb4&tk=7691519091580208146&btag=e00058000"
                },
                "hashtags": [
                    "yum",
                    "easyrecipe",
                    "chicken"
                ],
                "mentions": [
                    "courtneylcook"
                ]
            },
            {
                "id": "7660288880272248078",
                "url": "https://www.tiktok.com/@dadsfoodtoday/video/7660288880272248078",
                "description": "Here is my One Pot Creamy Chicken Pasta Dinner 🤤🍝 full recipe on my website.  Crispy on the outside, juicy and full of flavor chicken over a rich, creamy, cheesy pasta. Easy comfort food made in one pot! No mess no stress dinner 😊 One Pot Creamy Chicken Pasta:  Ingredients Chicken 2 chicken breasts 1 tbsp olive oil 1–2 tbsp butter 1 tsp Cajun seasoning 1 tsp smoked paprika 1 tsp sweet paprika 1 tsp Italian seasoning 1 tsp garlic powder 1 tsp onion powder Salt and black pepper, to taste Pasta & Sauce 8 oz dry rigatoni 24 oz heavy cream 24 oz chicken broth (add more if needed) 1 tsp Cajun seasoning 1 tsp smoked paprika 1 tsp sweet paprika 1 tsp Italian seasoning 1 tsp garlic powder 1 tsp onion powder 1–2 cups shredded cheese of your choice (I used mozzarella, sharp cheddar, and medium cheddar) Optional Garnish Fresh parsley, chopped Grated Parmesan cheese Red pepper flakes Instructions Season the chicken: Coat the chicken breasts with olive oil, Cajun seasoning, smoked paprika, sweet paprika, Italian seasoning, garlic powder, onion powder, salt, and black pepper. Let the chicken marinate in the refrigerator for 15–30 minutes for the best flavor. Cook the chicken: Heat a large pot or skillet over medium-high heat and cook the chicken for about 2–3 minutes per side, or until golden brown and fully cooked. Remove the chicken from the pan and let it rest. Cook the pasta: In the same pot, add the rigatoni, heavy cream, chicken broth, 1–2 tbsp butter, and seasonings. Stir everything together, cover, and let the pasta simmer until al dente, stirring occasionally. Add more broth or cream if needed while the pasta cooks. Add the cheese: Once the pasta is cooked, add your shredded cheese and stir until melted and creamy. I used mozzarella, sharp cheddar, and medium cheddar, but feel free to use whatever cheese you have in the fridge. Finish and serve: Slice the rested chicken and place it on top of the creamy pasta. Garnish with fresh parsley, Parmesan cheese, or red pepper flakes if desired. #easyrecipe  #pasta #chicken #familydinner #onepot ",
                "createTime": "2026-07-08T22:33:44Z",
                "type": "video",
                "duration": 14,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oEQIfIcGAvAErFGLeAUjHAAQQC7xungfazWERk~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=ClN8CAeazuYeYMeuywajivgp%2B6s%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oEQIfIcGAvAErFGLeAUjHAAQQC7xungfazWERk~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=ClN8CAeazuYeYMeuywajivgp%2B6s%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/o8Ox0FBRSDq1TfEA0gDjA8FJIfchXZDEBdE1tQ/?a=1988&bti=ODszNWYuMDE6&&bt=2101&ft=-Csk_mH1PD12Nsgoon-Ux2yvWY6e3wv25-cAp&mime_type=video_mp4&rc=aTY0aDw2OTU5NjY5N2Q3OkBpanZ2dnQ5cjtnPDMzZzczNEBiNmIyNGE1XzAxL2MvYDZeYSNsZmMyMmRjLTRhLS1kMS9zcw%3D%3D&expire=1791225788&l=20261004024252EA7BA12830AAC432F4B4&ply_type=2&policy=2&signature=5207dd916f8f524b88ed1501c8d67111&tk=tt_chain_token&btag=e000b8000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 8200000,
                    "likes": 785100,
                    "comments": 1890,
                    "shares": 156500,
                    "saves": 317511
                },
                "author": {
                    "id": "7265646866401821738",
                    "secUid": "MS4wLjABAAAA7eCJ5F6pZzNzwgPvWw5rr1Y5MftaETOsftKGVDBoECj7im34SxXX6Kl3eG9FUlyb",
                    "username": "dadsfoodtoday",
                    "nickname": "dadsfoodtoday",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/2c5a6abaacfd7f92b7ba180e7dddd973~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=d12308e6&x-expires=1791223200&x-signature=DgP4s7xH9YCtuO4Us82JXNyXOPU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
                    "verified": false
                },
                "music": {
                    "id": "6754420279457565445",
                    "title": "Mr. Blue Sky",
                    "author": "Electric Light Orchestra",
                    "original": false,
                    "duration": 33,
                    "cover": "https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oIAqeRU8MeQlFAMVK5MfOGW0AMOfAVeI1joAIr.jpeg",
                    "playUrl": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/b6210191f1854b7c9157d5d1e2e5fe77"
                },
                "hashtags": [
                    "easyrecipe",
                    "pasta",
                    "chicken",
                    "familydinner",
                    "onepot"
                ],
                "mentions": []
            },
            {
                "id": "7619192848109276430",
                "url": "https://www.tiktok.com/@tftk007/video/7619192848109276430",
                "description": "#cookingforest#outdoorcooking #cooking #Recipe #beef #survivor#cookingasmr #leon#outdoorcooking #cookingnature",
                "createTime": "2026-03-20T04:40:13Z",
                "type": "video",
                "duration": 359,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/o8Q8fSKizGIxCIoEdAi0AzuBwDpE1BO6Pm3CUy~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=M%2FO%2FYtsbuux1wyyldyYKuDELFms%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/o4KKIpiB1SPBUyDD00m8CQDIAti7GIA3xfAZxw~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=9fq6kQTlC4jIG1cMmvGlJ6dzkRQ%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/oYBbRXD0vOMfVe7i8k8NS78EjGkFQEpoDIgAPg/?a=1988&bti=ODszNWYuMDE6&&bt=2875&ft=-Csk_mH1PD12Nsgoon-Ux2yvWY6e3wv25-cAp&mime_type=video_mp4&rc=NTc2OzdlPDg7Njs5Nmg7M0Bpamo4NGw5cnlmOTMzZzczNEBjNTJiNTMxNmIxYS8wLS4uYSMuNWo2MmQ0XnJhLS1kMS9zcw%3D%3D&expire=1791226133&l=20261004024252EA7BA12830AAC432F4B4&ply_type=2&policy=2&signature=0857c9f612abc48a1b3960087393b154&tk=tt_chain_token&btag=e00088000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 9800000,
                    "likes": 439200,
                    "comments": 2600,
                    "shares": 37000,
                    "saves": 34784
                },
                "author": {
                    "id": "7521686775371842591",
                    "secUid": "MS4wLjABAAAARrAQ-DolrigX0zNo4UVvGyixVUhH7ZAEJs4dc-__utkItYr-_EuxA_4MYC45sxMl",
                    "username": "tftk007",
                    "nickname": "Shanye",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/db81b659d4224bce4d93eb04ac625022~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=403f1011&x-expires=1791223200&x-signature=CPt3t65wd57dOfiFM%2B6cxbV5GBI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
                    "verified": false
                },
                "music": {
                    "id": "7061837257761639194",
                    "title": "nhạc nền - Dương Cường Digital Camera",
                    "author": "Dương Cường Camera",
                    "original": true,
                    "duration": 428,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/feaa1c8c3939bb76e9c4c24029524ce9~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fcb81d2e&x-expires=1791223200&x-signature=ktndbZ%2FKoy2GLDhPuDOJdmQXOmE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2",
                    "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/no1a/tos-no1a-v-2370c710-no/9e06825ae0384161adfde33c42790036/?a=1988&bti=ODszNWYuMDE6&&bt=124&ft=GNDpcInz7Th0p--GXq8Zmo&mime_type=video_mp4&rc=anhlZ2Q6ZnZkOzMzZjU8M0BpanhlZ2Q6ZnZkOzMzZjU8M0ByMTJucjQwci1gLS1kMWNzYSNyMTJucjQwci1gLS1kMWNzcw%3D%3D&expire=1791057001&l=20261004024252EA7BA12830AAC432F4B4&ply_type=3&policy=3&signature=637e6827ea0c144fd87d040cadd2e73c&tk=7691519091580208146&btag=e00060000"
                },
                "hashtags": [
                    "cookingforest",
                    "outdoorcooking",
                    "cooking",
                    "recipe",
                    "beef",
                    "survivor",
                    "cookingasmr",
                    "leon",
                    "cookingnature"
                ],
                "mentions": []
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/search/videos

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
q required string

Search keyword. Example: cooking

cursor optional integer

Cursor from the previous page. Default: 0.

searchId optional string

searchId from the first page.

GET /v1/tiktok/search/top

requires authentication

TikTok's "Top" search results for a keyword: cursor, hasMore, searchId, and videos. users is an empty list. Account search is /search/users. For the next page pass cursor and searchId.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/search/top'
params = {
  'q': 'cooking',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/search/top';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'cooking',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/search/top"
);

const params = {
    "q": "cooking",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/search/top?q=cooking" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "cooking",
        "cursor": "0"
    },
    "body": {
        "cursor": "12",
        "hasMore": true,
        "searchId": "202610040243145B0A841C99A4906E44F0",
        "videos": [
            {
                "id": "7619192848109276430",
                "url": "https://www.tiktok.com/@tftk007/video/7619192848109276430",
                "description": "#cookingforest#outdoorcooking #cooking #Recipe #beef #survivor#cookingasmr #leon#outdoorcooking #cookingnature",
                "createTime": "2026-03-20T04:40:13Z",
                "type": "video",
                "duration": 359,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/o8Q8fSKizGIxCIoEdAi0AzuBwDpE1BO6Pm3CUy~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=M%2FO%2FYtsbuux1wyyldyYKuDELFms%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "dynamicCover": "https://p19-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/o4KKIpiB1SPBUyDD00m8CQDIAti7GIA3xfAZxw~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=XlW9f194j16t6SD4wzDjLImhkrA%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/oYBbRXD0vOMfVe7i8k8NS78EjGkFQEpoDIgAPg/?a=1988&bti=ODszNWYuMDE6&&bt=2875&ft=-Csk_mH1PD12NTKoon-Ux.L2SY6e3wv25HcAp&mime_type=video_mp4&rc=NTc2OzdlPDg7Njs5Nmg7M0Bpamo4NGw5cnlmOTMzZzczNEBjNTJiNTMxNmIxYS8wLS4uYSMuNWo2MmQ0XnJhLS1kMS9zcw%3D%3D&expire=1791226155&l=202610040243145B0A841C99A4906E44F0&ply_type=2&policy=2&signature=963038de1460f9e624e94b4adb241a79&tk=tt_chain_token&btag=e000a0000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 9800000,
                    "likes": 439200,
                    "comments": 2600,
                    "shares": 37000,
                    "saves": 34784
                },
                "author": {
                    "id": "7521686775371842591",
                    "secUid": "MS4wLjABAAAARrAQ-DolrigX0zNo4UVvGyixVUhH7ZAEJs4dc-__utkItYr-_EuxA_4MYC45sxMl",
                    "username": "tftk007",
                    "nickname": "Shanye",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/db81b659d4224bce4d93eb04ac625022~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=403f1011&x-expires=1791223200&x-signature=CPt3t65wd57dOfiFM%2B6cxbV5GBI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": false
                },
                "music": {
                    "id": "7061837257761639194",
                    "title": "nhạc nền - Dương Cường Digital Camera",
                    "author": "Dương Cường Camera",
                    "original": true,
                    "duration": 428,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/feaa1c8c3939bb76e9c4c24029524ce9~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=fcb81d2e&x-expires=1791223200&x-signature=ktndbZ%2FKoy2GLDhPuDOJdmQXOmE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/no1a/tos-no1a-v-2370c710-no/9e06825ae0384161adfde33c42790036/?a=1988&bti=ODszNWYuMDE6&&bt=124&ft=GNDpcInz7ThrC--GXq8Zmo&mime_type=video_mp4&rc=anhlZ2Q6ZnZkOzMzZjU8M0BpanhlZ2Q6ZnZkOzMzZjU8M0ByMTJucjQwci1gLS1kMWNzYSNyMTJucjQwci1gLS1kMWNzcw%3D%3D&expire=1791057023&l=202610040243145B0A841C99A4906E44F0&ply_type=3&policy=3&signature=1a77a6d0c8c2c38b4ac2bb58edeee6a3&tk=7691519091580208146&btag=e00060000"
                },
                "hashtags": [
                    "cookingforest",
                    "outdoorcooking",
                    "cooking",
                    "recipe",
                    "beef",
                    "survivor",
                    "cookingasmr",
                    "leon",
                    "cookingnature"
                ],
                "mentions": []
            },
            {
                "id": "7668359278251592974",
                "url": "https://www.tiktok.com/@dylannobert/video/7668359278251592974",
                "description": "Honey BBQ Chicken Tenders 🍯 My wife said that restaurant chicken is better than mine. I think she just wanted me to cook her dinner. The sauce takes these to another level, so don’t skip it 🙂‍↔️ 👉 full detailed recipes in bio 🔗 — RECIPE: Chicken (Dry Brine): 6–8 tenders tossed with kosher salt, black pepper, garlic powder, onion powder, smoked paprika. Rest uncovered in the fridge for at least 2 hours (overnight is best). Seasoned Flour + Wet Batter: Mix AP flour, cornstarch, baking powder, salt, garlic powder, onion powder, smoked paprika, cayenne, black pepper + pinch MSG. Move ~⅓ to another bowl and whisk with cold sparkling water until thin pancake batter. Double Dredge: Mix 1–2 tbsp wet batter into dry flour for craggly bits. Coat chicken: wet → dry → wet → dry (press to stick). Fry: 350°F oil for 4–6 mins until golden + CWISPY (and 165F internal). Honey BBQ Glaze: Heat BBQ sauce (Sweet Baby Ray’s), honey, butter, vinegar, hot sauce until smooth + glossy. Season to taste. Toss or brush chicken with glaze while it’s still hot. Comeback sauce recipe posted on my page! Finish: Top with herbs, an extra drizzle of sauce, & serve with ranch. Enjoy friends :) — #cookout #honeybbq #chickentenders #friedchicken #easyrecipe",
                "createTime": "2026-07-30T16:30:40Z",
                "type": "video",
                "duration": 28,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oofqQERDEtDaGWHE8fFwvIACDmAbQgCm3yASOA~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=nBhl4L0MTK1wVvoj0T7sGogkeZc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "dynamicCover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oofqQERDEtDaGWHE8fFwvIACDmAbQgCm3yASOA~tplv-tiktokx-origin.image?dr=14575&x-expires=1791223200&x-signature=nBhl4L0MTK1wVvoj0T7sGogkeZc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my",
                "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/oIgItLUavCYoHTGgReZeTkAAI3eUc1ARx2hAjJ/?a=1988&bti=ODszNWYuMDE6&&bt=1775&ft=I~da4o62D12NvhJ00zIxR_FjblBF-UjNSbopiX&mime_type=video_mp4&rc=M2dpM2hoNmU4ZjlmaTZkOEBpanRtPGo5cmRxPDMzZzczNEBgNTQwXzAyNWAxMy1hXzBhYSMwbDUwMmQ0bGlhLS1kMS9zcw%3D%3D&expire=1791225823&l=202610040243145B0A841C99A4906E44F0&ply_type=2&policy=2&signature=39b2a08ce2e8e8c8f6e02241abf4c0cb&tk=tt_chain_token&btag=e000b8000",
                "images": [],
                "width": 720,
                "height": 1280,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 1300000,
                    "likes": 88500,
                    "comments": 488,
                    "shares": 9522,
                    "saves": 25507
                },
                "author": {
                    "id": "6791281861886411781",
                    "secUid": "MS4wLjABAAAAHfVF89ptX6xdtcLF4l9VhI3YZIIhB2keB320Npkqk7frF1xGmd6RPdbEL6XbYJbj",
                    "username": "dylannobert",
                    "nickname": "dylannobert",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6a66ce4bb11bdba399b53d866a1919ca~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=7242f179&x-expires=1791223200&x-signature=vKgirkn91fZheYcfeXbEFAgUDp4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": false
                },
                "music": {
                    "id": "7668359328973343502",
                    "title": "original sound",
                    "author": "dylannobert",
                    "original": true,
                    "duration": 28,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6a66ce4bb11bdba399b53d866a1919ca~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=7242f179&x-expires=1791223200&x-signature=vKgirkn91fZheYcfeXbEFAgUDp4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-v-2370c799-sg/o8QAtUWoeCvAvAT5prQEGLIHheGkC1ARBeElGk/?a=1988&bti=ODszNWYuMDE6&&bt=125&ft=GNDpcInz7ThrC--GXq8Zmo&mime_type=audio_mpeg&rc=ajNlOnQ5cmZxPDMzZzU8NEBpajNlOnQ5cmZxPDMzZzU8NEBkX2c1MmRrbGlhLS1kMS9zYSNkX2c1MmRrbGlhLS1kMS9zcw%3D%3D&expire=1791056623&l=202610040243145B0A841C99A4906E44F0&ply_type=3&policy=3&signature=780d5749a1d41df01cb327a9998f8be5&tk=7691519091580208146&btag=e00078000"
                },
                "hashtags": [
                    "cookout",
                    "honeybbq",
                    "chickentenders",
                    "friedchicken",
                    "easyrecipe"
                ],
                "mentions": []
            },
            {
                "id": "7514470880634916142",
                "url": "https://www.tiktok.com/@cookingismydestiny/photo/7514470880634916142",
                "description": "#honeyhotchicken #chickensliders #chickenrecipes #fyp #foodie #foodtiktok #foodtok #cookwithme #foodinspo #dinnerinspo #cookingismydestiny #homecooking #homecookedmeal ",
                "createTime": "2025-06-10T23:45:06Z",
                "type": "photo",
                "duration": 0,
                "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/74763d36cdb64f03a4217e076d36e51d~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=%2Bup0bp%2B14VyEZnVS66XnS7suM2w%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                "dynamicCover": null,
                "playUrl": null,
                "images": [
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/74763d36cdb64f03a4217e076d36e51d~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=%2Bup0bp%2B14VyEZnVS66XnS7suM2w%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/e9df3b0c01984e63b3e7de357f93c5da~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=6aQXxszsjdFPgK9Mh%2F5rRqbmlNk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/1eec8bc7a5a94c2689fcac96eb504e92~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=BdSsHeyVelQQSeORNe2IrtjC2lU%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/18350f11823042f0a8f2f3f926e9edee~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=zOtro3Gd6%2FJfYVKJUrH7I1HxB1Y%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/1bb1a814c6a240ae877ce25ddf66de6e~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=hQTwLHIAJxvVquLmaZH5AZQfxiU%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/1bdce6cbfbe04a1e878cf26fd28da98b~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=SDJjvjslusMvnT4FvWbnKelZ2O4%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/568c0c3a3eab417593291b1b2b13f120~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=C2qLrm%2FTEPBup6jk8kDwXpkquCg%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/a21c8caf41b642eb8492af18957c763c~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=AWxYnT%2FWJGNOL5TQtDhdWG4X1Ps%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/18091d795e0240258dfc0a37871c2a78~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=WbAXzxB6G3R6b8FwDCnuICQoT78%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/f18511d373ec4564a4be7b16e4dd207d~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=NUAVe4cOiEDBtIo5u08ombvagWo%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1",
                    "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/2691b2d322f74970a1385a2a5447e966~tplv-photomode-image.jpeg?dr=14555&x-expires=1791223200&x-signature=n4Ja5aAM4kANSHrJrQGSxLr51X8%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=9b759fb9&idc=my&ftpl=1"
                ],
                "width": 0,
                "height": 0,
                "isAd": false,
                "locationCreated": null,
                "stats": {
                    "plays": 34800000,
                    "likes": 3300000,
                    "comments": 7876,
                    "shares": 485400,
                    "saves": 1461101
                },
                "author": {
                    "id": "6784245358488749062",
                    "secUid": "MS4wLjABAAAAA910DpIeCoCaq11ALuT1QQ6AhUgpiLPLEY_ro9Y3ZbJEZlWxIq2zs0Nt5_4RpUK3",
                    "username": "cookingismydestiny",
                    "nickname": "Destiny",
                    "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/dac4da8a04fe4c05d6a37439c4629c9d~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=18bc9db0&x-expires=1791223200&x-signature=k1qcbjxBFT62uYPOw5Nekjtud2s%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "verified": false
                },
                "music": {
                    "id": "7497003824017181483",
                    "title": "Sktchance Oh Ya",
                    "author": "maxthagod",
                    "original": true,
                    "duration": 53,
                    "cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6bf7ea9e94ec4dce265d3db140e9dfcc~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=691988ab&x-expires=1791223200&x-signature=f7UPe2X9%2B8yv9JPTiceVABYCd6w%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my",
                    "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/maliva/tos-maliva-v-27dcd7c799-us/ogEJkhEKiA6gAWDwBgfQFfCSAVENVADQDrCotU/?a=1988&bti=ODszNWYuMDE6&&bt=125&ft=GNDpcInz7ThrC--GXq8Zmo&mime_type=audio_mpeg&rc=M2dtcms5cm5lMzMzZzU8NEBpM2dtcms5cm5lMzMzZzU8NEA1LTFjMmQ0XjJhLS1kMS9zYSM1LTFjMmQ0XjJhLS1kMS9zcw%3D%3D&expire=1791056648&l=202610040243145B0A841C99A4906E44F0&ply_type=3&policy=3&signature=d37c2ca47f59cadf9943c3ad0eb3f8b9&tk=7691519091580208146&btag=e00048000"
                },
                "hashtags": [
                    "honeyhotchicken",
                    "chickensliders",
                    "chickenrecipes",
                    "fyp",
                    "foodie",
                    "foodtiktok",
                    "foodtok",
                    "cookwithme",
                    "foodinspo",
                    "dinnerinspo",
                    "cookingismydestiny",
                    "homecooking",
                    "homecookedmeal"
                ],
                "mentions": []
            }
        ],
        "users": [
            {
                "id": "7408352582236750881",
                "secUid": "MS4wLjABAAAAATF5f30dKGlZobfyrE3IUDOlV19LBDAJvbXSTKMJ2fnkiRAeK4U-PIm5zCXM2Shn",
                "username": "cookingtales11",
                "nickname": "CookingTales11 🇬🇧",
                "url": "https://www.tiktok.com/@cookingtales11",
                "bio": "💌 [email protected]\nsubscribe👇my YouTube",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-useast2a-avt-0068-euttp/d58fb8b9353d0af98b47c359489637b8~tplv-tiktokx-cropcenter:100:100.webp?dr=14579&refresh_token=01c86090&x-expires=1791136800&x-signature=kjY%2FkoVztetpPuShsEnlm0OyLYA%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=c1333099&idc=my",
                "verified": false,
                "stats": {
                    "followers": 952300,
                    "likes": 15409064
                }
            },
            {
                "id": "7314005602345976878",
                "secUid": "MS4wLjABAAAALRq_uZOAFFR97GUKqblGOVOyA5tQYEl-kcBod9K3VBkjjwcmN03J-UUXJSu-9_yK",
                "username": "cooking.993",
                "nickname": "Cooking",
                "url": "https://www.tiktok.com/@cooking.993",
                "bio": "👨‍🍳 Easy & Delicious Recipes 🍽️\n✨ New Cooking Videos Every Day\n❤️ Follow for Your Daily Food Fix!",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/c5e73969d0eadbd82ff9bfaf88f388ab~tplv-tiktokx-cropcenter:100:100.webp?dr=14579&refresh_token=45941b91&x-expires=1791136800&x-signature=qnQtqkyZPU78hxgI1x12xR45U0I%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=c1333099&idc=my",
                "verified": false,
                "stats": {
                    "followers": 216300,
                    "likes": 1415406
                }
            },
            {
                "id": "7376835394467939361",
                "secUid": "MS4wLjABAAAAfgvQd2RHNiDeWmUF3X8JgFlmGLx3SpSrPwLY4nZDyr7JsJBbGtvF3aTSZgB1ecpr",
                "username": "recipes.uk",
                "nickname": "Cooking Recipes",
                "url": "https://www.tiktok.com/@recipes.uk",
                "bio": "🍓Satisfy your every craving🍓\n🤝 Email: [email protected]",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/f87ea67977e084d55df640e0670e3294~tplv-tiktokx-cropcenter:100:100.webp?dr=14579&refresh_token=f636c3ee&x-expires=1791136800&x-signature=wBO%2FLpY%2F6XI7ziM3MmMfRHEDUqo%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=c1333099&idc=my",
                "verified": false,
                "stats": {
                    "followers": 285800,
                    "likes": 1539980
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/search/top

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
q required string

Search keyword. Example: cooking

cursor optional integer

Cursor from the previous page. Default: 0.

searchId optional string

searchId from the first page.

GET /v1/tiktok/search/users

requires authentication

Accounts matching a keyword, 10 per page: cursor, hasMore, searchId, and users (same fields as in /search/top). For the next page pass cursor and searchId.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/tiktok/search/users'
params = {
  'q': 'cooking',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/tiktok/search/users';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'cooking',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/tiktok/search/users"
);

const params = {
    "q": "cooking",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/tiktok/search/users?q=cooking" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "cooking",
        "cursor": "0"
    },
    "body": {
        "cursor": "10",
        "hasMore": true,
        "searchId": "202610040243394728B17EB1080D5A52AB",
        "users": [
            {
                "id": "7076078221934445574",
                "secUid": "MS4wLjABAAAAqNoQ25ErU0rDw4EqRYMUa5oio0wXHxQU6kF8NkqLdbf8GS0kDjafpLHZbju2LU2N",
                "username": "avozmechef",
                "nickname": "Alfredo Vozmediano Romero",
                "url": "https://www.tiktok.com/@avozmechef",
                "bio": "No hago solo recetas, te enseño a cocinar.\n👇Aprende más con mi curso online👇",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/010ab7c27a8d80b4011d632ee87c6c98~tplv-tiktokx-cropcenter:100:100.webp?biz_tag=tiktok_user.user_cover&dr=14579&idc=my&ps=13740610&refresh_token=85081a11&shcp=c1333099&shp=30310797&t=4d5b0474&x-expires=1791136800&x-signature=NkgP49EtJZjGjPeuGHPzGTA5fjo%3D",
                "verified": false,
                "stats": {
                    "followers": 1200000,
                    "likes": 23317964
                }
            },
            {
                "id": "7356231369553789998",
                "secUid": "MS4wLjABAAAAJrGuCveGySozz3XFrDsxkcwqFFvID4sipmiRwPvWSR51VXAIwFvSnzH6Nt6ZsRS1",
                "username": "cookrate55",
                "nickname": "Cooking",
                "url": "https://www.tiktok.com/@cookrate55",
                "bio": "Готовим в кайф😎🍴☕",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/45836749ace4ef53dea33d825f732a1e~tplv-tiktokx-cropcenter:100:100.webp?biz_tag=tiktok_user.user_cover&dr=14579&idc=my&ps=13740610&refresh_token=c99f0123&shcp=c1333099&shp=30310797&t=4d5b0474&x-expires=1791136800&x-signature=a8Z4ZwivhoOQV8fPIVBBdHMruTs%3D",
                "verified": false,
                "stats": {
                    "followers": 370100,
                    "likes": 4296115
                }
            },
            {
                "id": "6659823863894097926",
                "secUid": "MS4wLjABAAAAV3LQaho65FCLE4ftB8FlQuHw2BiZa7C7xT3epOA5er0i1mVJK9Z4cGTwqIPll5Y2",
                "username": "chefrush",
                "nickname": "ChefRush",
                "url": "https://www.tiktok.com/@chefrush",
                "bio": "White House Chef, Military Vet, [email protected]",
                "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7319218351765454890~tplv-tiktokx-cropcenter:100:100.webp?biz_tag=tiktok_user.user_cover&dr=14579&idc=my&ps=13740610&refresh_token=fdcf71b1&shcp=c1333099&shp=30310797&t=4d5b0474&x-expires=1791136800&x-signature=Z6Y1nLzz%2FPEbgGt5zED%2Bax3IWS4%3D",
                "verified": true,
                "stats": {
                    "followers": 3100000,
                    "likes": 24242997
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/tiktok/search/users

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
q required string

Search keyword. Example: cooking

cursor optional integer

Cursor from the previous page. Default: 0.

searchId optional string

searchId from the first page.