Tools

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.

ToolWhat it doesCost
tiktok_get_profileGet a TikTok accountFrom 1 credit
tiktok_get_videosGet an account's videosFrom 1 credit
tiktok_get_videoGet a TikTok videoFrom 10 credits
tiktok_get_commentsGet a video's commentsFrom 1 credit
tiktok_search_videosSearch TikTok videosFrom 1 credit
tiktok_get_transcriptGet a video's transcriptFrom 1 credit
tiktok_get_followersGet an account's followersFrom 1 credit
tiktok_get_audienceGet an account's audienceFrom 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.

ParameterDefault and notes
handleRequired, with or without the @

Also takes provider, max_credits, dry_run: see common parameters.

JSON
{
  "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.

ParameterDefault and notes
handleRequired
sort"latest" | "popular", default latest

Also takes cursor, provider, max_credits, dry_run: see common parameters.

JSON
{
  "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.

ParameterDefault and notes
urlRequired, the video URL

Also takes provider, max_credits, dry_run: see common parameters.

JSON
{
  "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.

ParameterDefault and notes
urlRequired, the video URL

Also takes cursor, provider, max_credits, dry_run: see common parameters.

JSON
{
  "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.

ParameterDefault and notes
queryRequired
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.

JSON
{
  "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.

ParameterDefault and notes
urlRequired
languageOptional, for a video with several
ai_fallbackFalse; 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.

JSON
{
  "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.

ParameterDefault and notes
handleRequired

Also takes cursor, provider, max_credits, dry_run: see common parameters.

JSON
{
  "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.

ParameterDefault and notes
handleRequired

Also takes provider, max_credits, dry_run: see common parameters.

JSON
{
  "handle": "gymshark"
}