TikTok tools
Accounts, videos, comments, transcripts, followers and audiences.
Public TikTok data. Each call costs what the data provider charges for it, and the cost line under each tool below gives the number. A question TikTok cannot answer has no tool, rather than a tool that returns nothing.
To check a creator, get the profile, then their videos, then tiktok_get_audience for where their audience is, by country.
| Tool | What it does | Cost |
|---|---|---|
tiktok_get_profile | Get a TikTok account | From 1 credit |
tiktok_get_videos | Get an account's videos | From 1 credit |
tiktok_get_video | Get a TikTok video | From 10 credits |
tiktok_get_comments | Get a video's comments | From 1 credit |
tiktok_search_videos | Search TikTok videos | From 1 credit |
tiktok_get_transcript | Get a video's transcript | From 1 credit |
tiktok_get_followers | Get an account's followers | From 1 credit |
tiktok_get_audience | Get an account's audience | From 26 credits |
#Get a TikTok account
tiktok_get_profile
One TikTok account: its follower count, its lifetime likes and how many videos it has posted.
Use when: sizing a creator or a brand on TikTok, checking a handle is real, reading a bio before outreach.
Not for: the account's videos, use tiktok_get_videos. Where its audience is, use tiktok_get_audience. Finding accounts by topic, use tiktok_search_videos and read the authors.
Returns: Record. platform, kind, id, handle, name, url, bio, verified, followers, following, posts_count, likes, views, location, website, employees, industry, created_at. A field the platform does not publish is null.
Cost: 1 credit. Cached 24 hours.
| Parameter | Default and notes |
|---|---|
handle | Required, with or without the @ |
Also takes provider, max_credits, dry_run: see common parameters.
{
"handle": "@gymshark"
}#Get an account's videos
tiktok_get_videos
The videos one TikTok account has posted, newest or most viewed first.
Use when: "what has this creator posted", judging how often a brand posts, pulling a creator's recent work before a partnership.
Not for: one video in full, use tiktok_get_video. What was said in it, use tiktok_get_transcript. Videos by topic rather than by account, use tiktok_search_videos.
Returns: List, one page per call. rows[]: platform, id, url, author, author_name, created_at, text (cut at 2000 characters), likes, comments, shares, views, media, duration_s, is_ad. A number the platform does not publish is null. meta.cursor pages the next set.
Cost: 1 credit per page. Cached 6 hours.
| Parameter | Default and notes |
|---|---|
handle | Required |
sort | "latest" | "popular", default latest |
Also takes cursor, provider, max_credits, dry_run: see common parameters.
{
"handle": "gymshark",
"sort": "popular"
}#Get a TikTok video
tiktok_get_video
One TikTok video with its engagement: views, likes, comments, shares and its length.
Use when: a row from a search or a listing is worth the detail, or you have a URL and nothing else.
Not for: what was said in it, use tiktok_get_transcript. The replies, use tiktok_get_comments.
Returns: Record. rows[]: platform, id, url, author, author_name, created_at, text (cut at 2000 characters), likes, comments, shares, views, media, duration_s, is_ad. A number the platform does not publish is null.
Cost: 10 credits when the vendor has to fetch the media, 1 when it does not. The estimate is the higher one, so max_credits never surprises you. Cached 6 hours.
| Parameter | Default and notes |
|---|---|
url | Required, the video URL |
Also takes provider, max_credits, dry_run: see common parameters.
{
"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}#Get a video's comments
tiktok_get_comments
The comments on one TikTok video.
Use when: reading what an audience actually said, finding objections and questions under a creator's post.
Not for: comments across many videos (there is no such search on TikTok). The video itself, use tiktok_get_video.
Returns: List, one page per call. rows[]: platform, id, post_id, author, created_at, text (cut at 2000 characters), likes, replies, depth. meta.cursor pages the next set.
Cost: 1 credit per page. Cached 6 hours.
| Parameter | Default and notes |
|---|---|
url | Required, the video URL |
Also takes cursor, provider, max_credits, dry_run: see common parameters.
{
"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}#Search TikTok videos
tiktok_search_videos
TikTok videos matching a keyword, ranked by the platform's own search.
Use when: "what is TikTok saying about X", finding creators in a category, watching a product or a brand name.
Not for: one account's own videos, use tiktok_get_videos. A complete window of everything posted (TikTok search is ranked and never complete).
Returns: List, one page per call, ranked. rows[]: platform, id, url, author, author_name, created_at, text (cut at 2000 characters), likes, comments, shares, views, media, duration_s, is_ad. A number the platform does not publish is null. meta.cursor pages the next set.
Cost: 1 credit per page. Cached 6 hours.
| Parameter | Default and notes |
|---|---|
query | Required |
since | "day" | "week" | "month" | "year" | "all", default month |
sort | "relevance" | "latest" | "popular", default relevance |
Also takes cursor, provider, max_credits, dry_run: see common parameters.
{
"query": "creatine gummies",
"since": "month",
"sort": "popular"
}#Get a video's transcript
tiktok_get_transcript
What is said out loud in one TikTok video, as text.
Use when: reading a video without watching it, pulling the claims or the hook out of an ad or a review.
Not for: the video's numbers, use tiktok_get_video. The written caption, which tiktok_get_video already returns as text.
Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the video carries no speech the platform kept.
Cost: 1 credit, or 11 with ai_fallback. Cached 30 days.
| Parameter | Default and notes |
|---|---|
url | Required |
language | Optional, for a video with several |
ai_fallback | False; true transcribes the audio when TikTok holds no transcript, adds 10 credits and covers videos up to 2 minutes |
Also takes provider, max_credits, dry_run: see common parameters.
{
"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}#Get an account's followers
tiktok_get_followers
The accounts that follow one TikTok account, with their own follower counts.
Use when: judging whether a creator's audience is real, looking for the notable accounts in a following.
Not for: where an audience is in the world, use tiktok_get_audience. How big the account is, use tiktok_get_profile.
Returns: List, one page per call. rows[]: platform, handle, name, url, followers, bio. meta.cursor pages the next set.
Cost: 1 credit per page. Cached 7 days.
| Parameter | Default and notes |
|---|---|
handle | Required |
Also takes cursor, provider, max_credits, dry_run: see common parameters.
{
"handle": "gymshark"
}#Get an account's audience
tiktok_get_audience
Where one TikTok account's audience is, by country.
Use when: checking a creator reaches the market you sell in, before paying for a partnership.
Not for: who the followers are, use tiktok_get_followers. The account's size, use tiktok_get_profile.
Returns: List, largest share first. rows[]: country, country_code, share (percent, a decimal), count. The split comes from a sample of followers, a few hundred for an account of millions: count is followers in that sample, not in the account, so read share and ignore count as a size.
Cost: 26 credits, because the vendor charges 26 for this one call. Check the handle with tiktok_get_profile first. Cached 7 days.
| Parameter | Default and notes |
|---|---|
handle | Required |
Also takes provider, max_credits, dry_run: see common parameters.
{
"handle": "gymshark"
}