Tools

TikTok tools

Read TikTok accounts, videos, comments, transcripts and audiences from your agent: each tool's parameters, what it returns and what it costs.

Read public TikTok accounts, videos and comments, with transcripts and audience data. To check a creator, get the profile with tiktok_get_profile, then their videos with tiktok_get_videos, then tiktok_get_audience to see which countries their audience is in.

Each call costs what the data provider charges for it, and each tool below gives its cost. If TikTok has no way to answer a question, there is no tool for it.

To connect these tools to your agent, see the TikTok MCP page.

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

Tooltiktok_get_profile

One TikTok account: its follower count, its lifetime likes and how many videos it has posted.

Good for

Sizing a creator or a brand on TikTok, checking a handle is real, reading a bio before outreach.

Not the tool for
What you get

One record. The account's handle, name, bio, verified, followers, following, posts_count, likes, views, website (the link in bio) and links, with other profile fields where TikTok fills them. null or empty = the platform does not publish it.

Cost

1 credit. Cached 24 hours.

Parameters

ParameterDefault and notes
handleThe account's handle, with or without the @.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "handle": "@gymshark"
}

Get an account's videos

Tooltiktok_get_videos

The videos one TikTok account has posted, newest or most viewed first.

Good for

"what has this creator posted", judging how often a brand posts, pulling a creator's recent work before a partnership.

Not the tool for
What you get

A list. Each row has videos with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. saves is how many people saved it; music is the sound and collaborators the branded-content partners. null or empty = the platform does not publish it.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
handleThe account's handle, with or without the @.
sortOne of latest, popular. Newest first, or most viewed first. Default latest.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "handle": "gymshark",
  "sort": "popular"
}

Get a TikTok video

Tooltiktok_get_video

One TikTok video with its engagement: views, likes, comments, shares and its length.

Good for

A row from a search or a listing is worth the detail, or you have a URL and nothing else.

Not the tool for
What you get

One record with Each row has the one video, with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. saves is how many people saved it; music is the sound and collaborators the branded-content partners. null or empty = the platform does not publish it.

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.

Parameters

ParameterDefault and notes
urlRequired. The full URL of a TikTok video.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}

Get a video's comments

Tooltiktok_get_comments

The comments on one TikTok video.

Good for

Reading what an audience actually said, finding objections and questions under a creator's post.

Not the tool for
  • Comments across many videos (there is no such search on TikTok).
  • The video itself, use tiktok_get_video.
What you get

A list. Each row has one comment each: author, created_at, text (cut at 2000 characters), likes, replies, and parent_id and depth for a reply.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
urlRequired. The full URL of a TikTok video.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}

Search TikTok videos

Tooltiktok_search_videos

TikTok videos matching a keyword, ranked by the platform's own search.

Good for

"what is TikTok saying about X", finding creators in a category, watching a product or a brand name.

Not the tool for
  • One account's own videos, use tiktok_get_videos.
  • A complete window of everything posted (TikTok search is ranked and never complete).
What you get

A list, ranked. Each row has videos with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. saves is how many people saved it, music the sound, and author_followers sizes each creator without another call. null or empty = the platform does not publish it.

Cost

1 credit per page. Cached 6 hours.

Parameters

ParameterDefault and notes
queryRequired. What to search TikTok for.
sinceOne of day, week, month, year, all. How far back to search. Default month.
sortOne of relevance, latest, popular. Ranking of the results. Default relevance.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "query": "creatine gummies",
  "since": "month",
  "sort": "popular"
}

Get a video's transcript

Tooltiktok_get_transcript

What is said out loud in one TikTok video, as text.

Good for

Reading a video without watching it, pulling the claims or the hook out of an ad or a review.

Not the tool for
What you get

One record with 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.

Parameters

ParameterDefault and notes
urlRequired. The full URL of a TikTok video.
languageLanguage code of the transcript to prefer, when the platform has several.
ai_fallbackDefault false. Transcribe the audio when TikTok holds no transcript. Adds 10 credits and covers videos up to 2 minutes.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}

Get an account's followers

Tooltiktok_get_followers

The accounts that follow one TikTok account, with their own follower counts.

Good for

Judging whether a creator's audience is real, looking for the notable accounts in a following.

Not the tool for
What you get

A list. Each row has handle, name, url, followers, following, country (the account's region code), bio.

Cost

1 credit per page. Cached 7 days.

Parameters

ParameterDefault and notes
handleRequired. The account's handle, with or without the @.

It also takes the common parameters cursor, max_credits and dry_run.

Example input
{
  "handle": "gymshark"
}

Get an account's audience

Tooltiktok_get_audience

Where one TikTok account's audience is, by country.

Good for

Checking a creator reaches the market you sell in, before paying for a partnership.

Not the tool for
What you get

A list, largest share first. Each row has 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.

Parameters

ParameterDefault and notes
handleRequired. The account's handle, with or without the @.

It also takes the common parameters max_credits and dry_run.

Example input
{
  "handle": "gymshark"
}