# TikTok Keyword Search Suggestion (`insights_data/tiktok-keyword-search-suggestion`) Actor

Get the search suggestions TikTok shows for any keyword, with rank. Turn on A-Z expansion to uncover long-tail phrases people really search for. Add bulk keywords, set a location, see live results and a per keyword summary. Export to JSON, CSV or Excel. No login.

- **URL**: https://apify.com/insights_data/tiktok-keyword-search-suggestion.md
- **Developed by:** [Insights Data](https://apify.com/insights_data) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🎵 What is TikTok Keyword Search Suggestion?

**TikTok Keyword Search Suggestion** helps you do TikTok keyword research by collecting the search phrases TikTok suggests for any keyword, so content creators, social media marketers and agencies can plan videos around what people really type into TikTok search. Enter one or more keywords and you get the TikTok search suggestions for each one, with their rank, as one clean table. You can try it with the $5 monthly credit of the Apify Free plan.

Just leave the example keywords in the form and click **Start**. No TikTok account, login or cookies are needed. Turn on **Expand with A-Z** to also search `dog a` to `dog z`, which finds long tail keywords that you would otherwise collect letter by letter in the TikTok app.

The Actor gives you ideas and phrasing: the words people really use. It does not give search volume or popularity. For Google search volume of the phrases you find, use [Keyword Search Volume — Bulk Google Metrics (CPC & Trend)](https://apify.com/insights_data/keyword-search-volume).

- 🎯 **TikTok SEO:** find the TikTok SEO keywords people search for a topic and use them in captions, on-screen text and voiceovers.
- 🎬 **TikTok content ideas:** turn one seed word into a list of TikTok video ideas that match real searches.
- 🗓️ **Content planning:** group the suggestions of a topic into weekly content themes for your channel or your clients.
- 🔬 **Market research:** compare what people search for in different countries and languages with **Location** and **Language**.
- 👀 **Brand monitoring:** see which words TikTok suggests next to your brand name. Repeat the run on a schedule and compare the runs yourself (for example in Google Sheets) to spot new phrases.
- 🥊 **Competitor analysis:** run your competitors' brand or product names and read what people search about them. The analysis itself is your step; the Actor delivers the phrases.

#### What can TikTok Keyword Search Suggestion do?

- 📚 **Search many keywords in one run.** Each keyword is searched on its own, and all suggestions land in the same table.
- 🔤 **Expand with A-Z:** 27 searches per keyword (the keyword itself plus `keyword a` to `keyword z`) for long-tail phrases.
- 📍 **Pick a market:** choose one of 41 countries in **Location** (United States by default) and one of 26 languages.
- 🏅 **Keep the order:** every suggestion comes with its rank in TikTok's list.
- 🧹 **Remove repeats:** the same phrase is saved once per keyword (case does not matter).
- 📊 **Get a keyword summary:** one row per keyword with its status and counts, at no extra charge.
- 📦 **Export** to JSON, CSV, Excel, XML or HTML, run it via API, schedule it, and connect it to Google Sheets, Make, Zapier or n8n.

***

### 📋 TikTok Keyword Search Suggestion data: what you get

This TikTok keyword extractor returns the TikTok search bar suggestions (the TikTok search autocomplete) people see while they type, as TikTok keyword data you can sort and filter. Each TikTok keyword suggestion is one row with these fields (names as in the dataset):

| 📋 Field | Name | What it means |
|---|---|---|
| 🔑 Keyword | `keyword` | The keyword you entered |
| 🔎 Search | `query` | The exact text searched: the keyword, or the keyword plus a space and a letter (A-Z expansion) |
| 🏅 Rank | `rank` | Position of the suggestion in TikTok's list for that search, starting at 1 |
| 📝 Suggestion | `suggestion` | The suggested search phrase |

> **Note:** when a phrase was already saved for the same keyword, it is skipped, so the ranks in your table can have gaps (for example 1, 2, 4). Repeats are only removed within one keyword: the same phrase can appear under two different keywords.

A second table, the **Keyword summary**, has one row per keyword. See [Keyword summary table](#keyword-summary-table).

#### What data can't TikTok Keyword Search Suggestion extract?

- Search volume, popularity scores or CPC
- TikTok videos, profiles, views, likes or hashtag stats
- Trend history: each run is a snapshot of the suggestions at that moment

For Google search volume, CPC and a 12-month trend of the phrases you found, use [Keyword Search Volume — Bulk Google Metrics (CPC & Trend)](https://apify.com/insights_data/keyword-search-volume). For the videos behind a hashtag, use [TikTok Hashtag Scraper](https://apify.com/insights_data/tiktok-hashtag-scraper).

***

### 🚀 How to scrape TikTok search suggestions

This TikTok search suggestions scraper is designed for an easy start, even if you've never collected data from the web before.

1. [Create a free Apify account](https://console.apify.com/sign-up) using your email.
2. Open [TikTok Keyword Search Suggestion](https://apify.com/insights_data/tiktok-keyword-search-suggestion) and click **Try for free**. The input form opens with example keywords (`dog` and `iphone`) already filled in.
3. Leave the form as it is and click **Start**.
4. Watch the suggestions appear in the **Output** tab while the run is going. The table fills row by row: keyword, rank and suggestion.
5. Download your data from **Storage → Datasets → Export** in JSON, CSV, Excel, XML or HTML.

This first run saves up to 10 suggestions, which is at most $0.0201 in result charges on the Free plan, plus the start fee and platform usage. The total of 10 is shared by all keywords in their order, so `dog` may use all 10 and `iphone` can end up with none. That is expected.

#### Next steps after the first run

- Replace the example keywords with your own in **Keywords** (a box with one keyword per line).
- With several keywords, set **Max suggestions per keyword** (for example 5), so every keyword gets its share of the total.
- Raise **Max suggestions in total** once the output looks right.
- Optional: cap the cost. On the input page, open **Run options** below the input form and set the maximum charge for the run before you click **Start**.

***

### 💲 How much does it cost to use TikTok Keyword Search Suggestion?

TikTok Keyword Search Suggestion uses **pay-per-event** pricing: you pay for things that happen in the run (here, each saved suggestion and the run start), not a monthly rental. Your bill has three parts:

1. **Results:** you pay for each suggestion saved to the main table. The price depends on your Apify plan (table below). Each saved row also has a flat $0.00001 charge for each row added to the results table, the same on every plan.
2. **Start fee:** $0.00005 per run at the default 1 GB memory (the start fee is $0.00005 per GB).
3. **Platform usage:** the compute the run uses, billed at your Apify plan's own rates.

| 💲 Apify plan | Price per suggestion | Price per 1,000 suggestions | With the $0.00001 row fee, per 1,000 |
|---|---|---|---|
| 💲 Free | $0.002 | $2.00 | $2.01 |
| 💲 Starter | $0.0018 | $1.80 | $1.81 |
| 💲 Scale | $0.0016 | $1.60 | $1.61 |
| 💲 Business and higher | $0.0014 | $1.40 | $1.41 |

The plan discount applies to the result price only. The start fee is the same on every plan, and platform usage is billed at your Apify plan's own rates.

**Example:** 1,000 suggestions cost $2.01 on the Free plan ($2.00 result price plus $0.01 in row fees), or $1.41 on Business, plus the $0.00005 start fee and platform usage. The default input (10 suggestions) costs $0.0201 plus the start fee and platform usage. To know your full cost, do a small test run: the run page shows the exact cost when it finishes.

**What is not billed:** the rows of the **Keyword summary** table and the run summary. Searches that return no suggestions cost no result charges.

See the [pricing tab](https://apify.com/insights_data/tiktok-keyword-search-suggestion/pricing) for the current prices.

#### Is TikTok keyword research free with this Actor?

You can start for free. The [Apify Free plan](https://apify.com/pricing) gives you $5 in monthly credit. It is one credit that pays for both the result charges and the platform usage, so it is used up by both and covers small runs. Free-plan runs work the same as paid runs: there is no extra cap on suggestions per run.

#### How do I cap the cost of a run?

Set a **maximum charge limit** before you click **Start**: on the Actor's input page, open **Run options** below the input form and enter the maximum charge for the run (in a saved task, the same **Run options** section is on the task page). It caps the result charges of that run; platform usage comes on top. When the limit is reached, the Actor stops cleanly, keeps every suggestion it already saved, and the status says the limit was reached.

***

### ⬇️ TikTok Keyword Search Suggestion input

The only required field is **Keywords**. Everything else is optional and has a sensible default.

#### Settings most people change

- **Keywords** (`keywords`): the TikTok search keywords you want suggestions for, one per line. Each one is searched separately, in the order you entered them. There is no fixed number of keywords; the run ends when **Max suggestions in total** is reached. Blank lines and repeated keywords are removed, and extra spaces are cleaned up.
- **Expand with A-Z** (`addPrefix`): off by default. When on, the Actor adds a space and a letter after each keyword (`dog a`, `dog b` ... `dog z`), so each keyword runs 27 searches instead of 1. The API name says "prefix", but the letter goes after the keyword.
- **Max suggestions in total** (`maxItems`): the run stops after this many suggestions are saved across all keywords. The default is 10, the maximum 100,000.
- **Max suggestions per keyword** (`maxItemsPerKeyword`): an optional cap for each keyword, applied inside the total. Empty means no per-keyword cap.
- **Location** (`location`): the country market for suggestions, picked from a list of country names. The default is United States. The first entry, **(default)**, sends no country at all, so TikTok uses its own default market; pick it only if you don't target one country.
- **Language** (`language`): the language of the suggestions, picked from a list of 26 languages. The default is English. It is set separately from **Location**, so choose the language your audience searches in (for example Spanish with Mexico).

Here's an example that gets up to 5 suggestions each for `dog` and `iphone` in the United States, in English:

```json
{
    "keywords": ["dog", "iphone"],
    "addPrefix": false,
    "maxItems": 10,
    "maxItemsPerKeyword": 5,
    "location": "US",
    "language": "en"
}
```

See the [input tab](https://apify.com/insights_data/tiktok-keyword-search-suggestion/input-schema) for the full form.

#### All input fields

| ⬇️ Field (Console title) | API name | Default | What it does |
|---|---|---|---|
| 🔑 Keywords | `keywords` | (required) | Search terms, one per line |
| 🔤 Expand with A-Z | `addPrefix` | off | Also searches the keyword followed by each letter a-z (27 searches per keyword) |
| 🎚️ Max suggestions in total | `maxItems` | 10 | Stops the run after this many saved suggestions (1 to 100,000) |
| 🎚️ Max suggestions per keyword | `maxItemsPerKeyword` | empty | Optional cap per keyword, inside the total (1 to 100,000) |
| 📍 Location | `location` | `US` | Country market: 41 countries or **(default)** |
| 🗣️ Language | `language` | `en` | Interface language for suggestions (26 languages) |
| 🛡️ Proxy configuration | `proxyConfiguration` | no proxy | Leave it unchanged. If TikTok stops answering, the Actor switches to Apify Proxy (a service that sends requests through other connections) on its own |

#### Max suggestions in total

The total counts across all keywords, in the order you entered them. When it is reached, the run ends, and keywords that were not reached are not searched and get no row in the **Keyword summary**.

- ✅ Good: `"maxItems": 100` with `"maxItemsPerKeyword": 20` for 5 keywords
- ❌ Bad: `"maxItems": 10` for 20 keywords (the first keyword or two use up the total)

> ⚠️ Every saved suggestion is a billed result. Raise the total step by step and set a maximum charge limit.

#### Expand with A-Z

This turns a keyword like `dog` into 27 searches: `dog`, `dog a`, `dog b` and so on to `dog z`. It is an easy way to build a long TikTok keyword list from one seed word.

- ✅ Good: `"addPrefix": true` with `"maxItems": 300` for one seed keyword
- ❌ Bad: `"addPrefix": true` with `"maxItems": 10` (the total of 10 can be reached within the first one or two searches, so most letters are never saved)

> ⚠️ How many suggestions TikTok returns per search varies by keyword. Do a small test run to see what one keyword gives you.

#### Location and Language

Suggestions can differ by country and language. Pick the market your audience is in. In the Console you choose country and language names from the lists. Via the API, use one of the listed 2-letter country codes, such as `GB`, and a language code such as `es`.

***

### ⬆️ TikTok Keyword Search Suggestion output

Results are stored in a **dataset** (Apify's name for a results table) and appear in the **Output** tab while the run is going. The main table has two views: **Suggestions** (keyword, rank, suggestion) and **Full detail** (adds the exact search). To download, go to **Storage → Datasets**, open the dataset and click **Export**.

#### JSON example

Here are example rows for the input above. The values are examples, not real TikTok data:

```json
[
    { "keyword": "dog", "query": "dog", "rank": 1, "suggestion": "dog video" },
    { "keyword": "dog", "query": "dog", "rank": 2, "suggestion": "dog sound" },
    { "keyword": "iphone", "query": "iphone", "rank": 1, "suggestion": "iphone tips" }
]
```

With **Expand with A-Z** on, `query` shows the letter search too, for example `"query": "dog a"`.

#### Keyword summary table

You find the **Keyword summary** in the **Output** tab and under **Storage → Datasets**. It is not billed. Example row:

```json
{
    "keyword": "dog",
    "status": "ok",
    "searches": 1,
    "suggestions": 5,
    "duplicatesRemoved": 0,
    "emptySearches": 0,
    "error": null
}
```

| 📊 Column | Meaning |
|---|---|
| 🚦 `status` | `ok`, `partial`, `empty` or `failed` (see below) |
| 🔢 `searches` | Searches planned for the keyword: 1, or 27 with A-Z expansion (also counted when a limit ended the keyword early) |
| 📝 `suggestions` | Suggestions saved for the keyword |
| 🧹 `duplicatesRemoved` | Repeated phrases skipped for this keyword |
| 🕳️ `emptySearches` | Searches that returned nothing or could not be completed |
| 🚧 `error` | The first problem seen for this keyword, if any |

The status means:

- `ok`: suggestions were saved and no search failed
- `partial`: some searches of the keyword could not be completed; the others were saved
- `empty`: TikTok returned no suggestions for this keyword
- `failed`: no search of the keyword could be completed

The **Run summary** (Output tab, or **Storage → Key-value stores**; a key-value store is Apify's storage for single records) holds the run totals: suggestions saved, suggestions billed, failed keywords, empty keywords, the duration and whether the maximum charge limit was reached.

***

### 💡 Tips and advanced usage

#### How many results can you get with TikTok Keyword Search Suggestion?

Up to 100,000 suggestions per run, set with **Max suggestions in total**. How many you really get depends on how many suggestions TikTok shows for each search, on **Expand with A-Z**, on repeats within a keyword, and on your limits. To find out for your use case, do a small test run.

#### How to get cheaper results

- Start with A-Z expansion off, check the phrases, then switch it on only for the keywords you want to dig into.
- Use **Max suggestions per keyword** to share the total fairly between keywords.
- Split very different topics into separate runs, so each one has its own limits.

#### Use it as a TikTok keyword generator

Run one seed keyword with **Expand with A-Z** on and a total of a few hundred. Export the table, remove the phrases that don't fit your niche, and you have a TikTok keyword generator output you can sort into content themes. For SEO keyword research beyond TikTok, check the same phrases in [Keyword Search Volume — Bulk Google Metrics (CPC & Trend)](https://apify.com/insights_data/keyword-search-volume).

#### Run it on a schedule

A weekly brand monitoring and content planning routine. Cost first: every run saves and bills its suggestions again, including the ones you got last week. With 200 suggestions, that is at most $0.402 per week in result charges on the Free plan ($0.40 result price plus $0.002 in row fees), plus the start fee and platform usage.

1. Set **Keywords** to your brand and two competitor names, turn on **Expand with A-Z**, and set **Max suggestions in total** to `200` and **Max suggestions per keyword** to `70`.
2. Save the input as a **task** (a saved copy of your input that you can rerun): on the Actor's input page, use **Save as a new task**. Your tasks are listed under **Saved tasks** in the left menu of the Console. Set a maximum charge in the task's **Run options**. See the [tasks docs](https://docs.apify.com/platform/actors/running/tasks).
3. Create a **schedule** (a timer that starts the task for you): open **Schedules** in the left menu of the Console, create a new schedule, set it to every Monday and add your task. See the [schedules docs](https://docs.apify.com/platform/schedules).
4. Compare runs by the `suggestion` column: a phrase that is new this week shows new search interest around that name. The Actor does not compare runs itself, so do it in Google Sheets or your own tool.

#### If something goes wrong

- **The run stopped with "maximum charge limit was reached":** raise the maximum charge limit in **Run options** and run again. Suggestions already saved stay in your dataset and were billed.
- **A keyword shows `empty`:** TikTok had no suggestions for it. Try a shorter or more common keyword. You paid no result charges for it.
- **A keyword shows `failed` or `partial`:** TikTok did not answer some searches, even after the Actor tried again. Run that keyword again later, for example the next day. Only saved suggestions are billed. If the same keyword keeps failing over several runs, [create an issue](https://apify.com/insights_data/tiktok-keyword-search-suggestion/issues/open) with your input.
- **The run failed and nothing was saved:** no suggestion could be saved and at least one keyword failed. No result charges apply; the start fee and platform usage still do. Run it again later; if it fails again, create an issue with your input.
- **The run failed with "One of your inputs is not valid":** check **Keywords**, **Max suggestions in total**, **Max suggestions per keyword** and **Location**, then try again.
- **Something else:** [create an issue](https://apify.com/insights_data/tiktok-keyword-search-suggestion/issues/open) with your input.

***

### 🔌 TikTok Keyword Search Suggestion integrations and API

#### Can I use it as a TikTok keyword search API?

Yes. The [Apify API](https://docs.apify.com/api/v2) lets you start runs, schedule them and fetch results, so you can use this Actor as a TikTok search suggestions API in your own app. Use the `apify-client` [NPM package](https://apify.com/insights_data/tiktok-keyword-search-suggestion/api/javascript) for Node.js or the [PyPI package](https://apify.com/insights_data/tiktok-keyword-search-suggestion/api/python) for Python. The [API tab](https://apify.com/insights_data/tiktok-keyword-search-suggestion/api) has ready-to-use code.

#### How to get TikTok search suggestions with Python

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("insights_data/tiktok-keyword-search-suggestion").call(run_input={
    "keywords": ["dog", "iphone"],
    "maxItems": 10,
    "maxItemsPerKeyword": 5,
    "location": "US",
    "language": "en",
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["keyword"], item["rank"], item["suggestion"])
```

#### Can I integrate TikTok Keyword Search Suggestion with other apps?

Yes. Connect it to almost any cloud service through [Apify integrations](https://apify.com/integrations), and use [webhooks](https://docs.apify.com/integrations/webhooks) (a link Apify calls when a run event happens, for example when a run succeeds) to start the next step. Two workflows that fit this Actor:

- 📗 **Export TikTok keywords to Google Sheets:** on your saved task, open the **Integrations** tab and add the Google Sheets integration, in append mode, so every finished run adds its keyword, rank and suggestion to a sheet your content team plans from. Comparing this week's rows with last week's is done in the sheet.
- 🔔 **Slack digest with Make, Zapier or n8n:** a webhook on "run succeeded" starts a Make, Zapier or n8n scenario that reads the run's dataset and posts a digest of that run's phrases to a Slack channel. It posts every phrase of the run, not only new ones, because the Actor does not compare runs.

#### Can I use it with AI agents (MCP)?

Yes. MCP (Model Context Protocol) lets AI assistants such as Claude call tools. Connect TikTok Keyword Search Suggestion through the Apify MCP server, then ask the agent for TikTok search terms in plain words ("get TikTok suggestions for 'meal prep' in the UK"). Open the [MCP tab](https://apify.com/insights_data/tiktok-keyword-search-suggestion/api/mcp) for setup steps.

***

### 🧩 Other TikTok scrapers

Once you know what people search, these Actors from the same account get the videos, creators and comments behind those searches:

| | |
|---|---|
| 🏷️ [TikTok Hashtag Scraper](https://apify.com/insights_data/tiktok-hashtag-scraper): videos of any hashtag with captions, views, likes, comments, shares, author stats and music | 👤 [TikTok Profile Scraper](https://apify.com/insights_data/tiktok-profile-scraper): videos, reposts and playlists of any profile with views, likes, comments and author stats |
| 💬 [TikTok Comments & Replies Scraper](https://apify.com/insights_data/tiktok-comments-replies-scraper): comments and replies with text, likes, reply counts and dates | 🧭 [TikTok Explore Scraper](https://apify.com/insights_data/tiktok-explore-scraper): Explore videos for All or 20 topics with plays, likes, hashtags and engagement rates |
| 🎙️ [Video Transcript Scraper – YouTube, X, TikTok, Facebook](https://apify.com/insights_data/video-transcript-scraper-youtube-x-facebook-tiktok): full text and timestamped segments of videos | 📈 [Keyword Search Volume — Bulk Google Metrics (CPC & Trend)](https://apify.com/insights_data/keyword-search-volume): Google search volume, CPC, ad competition and a 12-month trend |

***

### ❓ FAQ

#### Is it legal to scrape TikTok search suggestions?

Collecting publicly visible search suggestions is generally legal, but you should respect TikTok's [Terms of Service](https://www.tiktok.com/legal/page/global/terms-of-service/en), intellectual property and personal data rules such as GDPR. Search suggestions are short phrases, not data about a person. Read Apify's guide on [whether web scraping is legal](https://blog.apify.com/is-web-scraping-legal/). This is not legal advice.

#### How does TikTok Keyword Search Suggestion work?

It works like doing a TikTok keyword search by hand and writing down the suggestions, only for many keywords at once. With **Expand with A-Z** on, it also types the keyword followed by each letter. It saves one row per suggestion with its rank, skips repeats within the keyword, and stops at your limits. If TikTok stops answering, it switches to Apify Proxy automatically.

#### What are TikTok search suggestions based on?

TikTok decides which suggestions to show; it does not publish exactly how. They reflect what people type into TikTok search and can change with the country, the language and over time. This Actor records what TikTok suggests for your keyword, **Location** and **Language** at the moment of the run.

#### How to do TikTok keyword research with this Actor?

Start with 3 to 5 seed keywords for your niche and run them with A-Z expansion off. Pick the seeds whose suggestions fit your audience, run those again with **Expand with A-Z** on, and export the table. Group the phrases into themes, use the strongest ones in captions and on-screen text, and repeat the run on a schedule to catch new phrases.

#### Is this a TikTok keyword research tool or a TikTok autocomplete scraper?

Yes, for the ideas-and-phrasing part of keyword research. It collects the TikTok suggested searches that appear under the search box while you type, in bulk, and adds the rank, the exact search and a per-keyword summary. It does not tell you how often a phrase is searched. If you used a TikTok keyword tool in the browser before, the difference is scale: many keywords, countries and languages in one run, saved as a table.

#### How is TikTok Keyword Search Suggestion different from Keyword Search Volume?

TikTok Keyword Search Suggestion shows what people search on TikTok. [Keyword Search Volume — Bulk Google Metrics (CPC & Trend)](https://apify.com/insights_data/keyword-search-volume) shows how often keywords are searched on Google.

| | TikTok Keyword Search Suggestion | Keyword Search Volume |
|---|---|---|
| TikTok search suggestions with rank | ✅ | ❌ |
| Related keyword ideas from a seed keyword | ✅ (TikTok suggestions, A-Z expansion) | ✅ (related ideas) |
| Google search volume and CPC | ❌ | ✅ |
| 12-month trend and ad competition | ❌ | ✅ |
| Country selection | ✅ | ✅ |

#### Can I use it as a TikTok keyword finder for TikTok marketing?

Yes. For TikTok marketing, run your product category and brand names, then use the suggestions as a TikTok keyword finder list for captions, video titles and ad ideas. The suggestions also show search intent: the words people add after a topic (like "for beginners" or "review") tell you what they want to know.

#### Can I use it as a TikTok keyword scraper for my agency's clients?

Yes. Save one task per client with their keywords and **Location**, and schedule each task. Every run gives you a fresh table of keyword suggestions for that client, ready to export.

#### Why am I getting fewer results than expected?

- **Max suggestions in total** is 10 by default; raise it.
- The total was used up by the first keywords. Set **Max suggestions per keyword**, and check the **Keyword summary**: keywords that were not reached have no row.
- Repeats within a keyword are skipped (see `duplicatesRemoved`).
- TikTok shows few or no suggestions for very rare keywords (status `empty`). Try a broader keyword or turn on **Expand with A-Z**.
- Some searches could not be completed (status `partial` or `failed`). Run again later.

***

### 📧 Support and feedback

Found a bug or missing a feature? Create an issue on the [Issues tab](https://apify.com/insights_data/tiktok-keyword-search-suggestion/issues/open) and include the input you used.

Need a **custom solution**, such as other TikTok data or a different platform? Contact us at hello.insights.data@gmail.com.

Built and maintained by [Insights Data](https://apify.com/insights_data).

# Changelog

This Actor's version history is a separate document: https://apify.com/insights_data/tiktok-keyword-search-suggestion/changelog.md

# Actor input Schema

## `keywords` (type: `array`):

One or more search terms. Each keyword is searched separately and all suggestions are saved to the same table.

## `addPrefix` (type: `boolean`):

Also search every keyword followed by each letter a-z (for example 'dog a' to 'dog z') to uncover many more suggestions. This runs 27 searches per keyword.

## `maxItems` (type: `integer`):

Stop the run after this many suggestions are saved across all keywords.

## `maxItemsPerKeyword` (type: `integer`):

Optional cap for each keyword, applied inside the total limit. Leave empty for no per-keyword cap.

## `location` (type: `string`):

Country market for suggestions. Leave blank to use the default market of the connection.

## `language` (type: `string`):

Interface language for suggestions.

## `proxyConfiguration` (type: `object`):

Runs start without a proxy and switch to a proxy automatically if requests are blocked. Leave unchanged unless you need a specific proxy group.

## Actor input object example

```json
{
  "keywords": [
    "dog",
    "iphone"
  ],
  "addPrefix": false,
  "maxItems": 10,
  "location": "US",
  "language": "en",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `suggestions` (type: `string`):

Every suggestion phrase with its keyword and rank.

## `details` (type: `string`):

Suggestions with the exact search that produced each one.

## `keywordSummary` (type: `string`):

One row per keyword with counts and status.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "dog",
        "iphone"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("insights_data/tiktok-keyword-search-suggestion").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": [
        "dog",
        "iphone",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("insights_data/tiktok-keyword-search-suggestion").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "dog",
    "iphone"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call insights_data/tiktok-keyword-search-suggestion --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,insights_data/tiktok-keyword-search-suggestion"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gzXeyVmSh8tPQgQKj/builds/8HSuOnJAAl2LsdhXk/openapi.json
