# 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_audience) for where their audience is, by country.

| Tool | What it does | Cost |
| --- | --- | --- |
| [`tiktok_get_profile`](#tiktok_get_profile) | Get a TikTok account | From 1 credit |
| [`tiktok_get_videos`](#tiktok_get_videos) | Get an account's videos | From 1 credit |
| [`tiktok_get_video`](#tiktok_get_video) | Get a TikTok video | From 10 credits |
| [`tiktok_get_comments`](#tiktok_get_comments) | Get a video's comments | From 1 credit |
| [`tiktok_search_videos`](#tiktok_search_videos) | Search TikTok videos | From 1 credit |
| [`tiktok_get_transcript`](#tiktok_get_transcript) | Get a video's transcript | From 1 credit |
| [`tiktok_get_followers`](#tiktok_get_followers) | Get an account's followers | From 1 credit |
| [`tiktok_get_audience`](#tiktok_get_audience) | Get an account's audience | From 26 credits |

## `tiktok_get_profile`: Get a TikTok account

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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_videos). Where its audience is, use [`tiktok_get_audience`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_audience). Finding accounts by topic, use [`tiktok_search_videos`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "@gymshark"
}
```

## `tiktok_get_videos`: Get an account's 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_video). What was said in it, use [`tiktok_get_transcript`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_transcript). Videos by topic rather than by account, use [`tiktok_search_videos`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark",
  "sort": "popular"
}
```

## `tiktok_get_video`: Get a TikTok 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_transcript). The replies, use [`tiktok_get_comments`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}
```

## `tiktok_get_comments`: Get a video's 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`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}
```

## `tiktok_search_videos`: Search TikTok 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`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "query": "creatine gummies",
  "since": "month",
  "sort": "popular"
}
```

## `tiktok_get_transcript`: Get a video's 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_video). The written caption, which [`tiktok_get_video`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"
}
```

## `tiktok_get_followers`: Get an account's 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_audience). How big the account is, use [`tiktok_get_profile`](https://www.manifoldmcp.com/docs/tools/tiktok#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](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark"
}
```

## `tiktok_get_audience`: Get an account's 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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_followers). The account's size, use [`tiktok_get_profile`](https://www.manifoldmcp.com/docs/tools/tiktok#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`](https://www.manifoldmcp.com/docs/tools/tiktok#tiktok_get_profile) first. Cached 7 days.

| Parameter | Default and notes |
| --- | --- |
| `handle` | Required |

Also takes `provider`, `max_credits`, `dry_run`: see [common parameters](https://www.manifoldmcp.com/docs/tools#common-parameters).

```json
{
  "handle": "gymshark"
}
```

