TikTok Keywords Discovery Tool avatar

TikTok Keywords Discovery Tool

Pricing

from $2.65 / 1,000 keyword suggestions

Go to Apify Store
TikTok Keywords Discovery Tool

TikTok Keywords Discovery Tool

Discover public TikTok autocomplete suggestions from seed terms. Export ranked phrases with their seeds, suggestion types when available, language, region, and collection times through the Apify dataset or API.

Pricing

from $2.65 / 1,000 keyword suggestions

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

26

Total users

12

Monthly active users

4 days ago

Last modified

Share

🔎 TikTok autocomplete keywords for content planning

Content planners, SEO writers, and social media teams can use TikTok Keywords Discovery Tool to collect public autocomplete suggestions from TikTok search. Keyword suggestion rows include the seed, suggestion text, normalized text, rank, suggestion type when available, source context, language, region, and collection time. This turns search-box ideas into a dataset for content planning and TikTok SEO research.

📦 TikTok autocomplete rows

The Actor saves one dataset row for each eligible TikTok autocomplete suggestion. Rows keep the submitted seed, returned suggestion, normalized suggestion, rank, TikTok source fields, language, region, and collection time. If the same normalized suggestion appears again under another seed, the Actor saves the first eligible occurrence and ignores later matches. The saved row keeps the first seed and rank context.

With source order, rank follows the order TikTok returns for each seed. With alphabetical order, rank is assigned after sorting. This Actor focuses on TikTok search autocomplete. It does not collect TikTok videos, profiles, comments, followers, ads, TikTok Shop products, or search-volume metrics.

▶️ Turn seed terms into TikTok keyword ideas

  1. Add one or more values in Seed keywords.
  2. Keep the prefilled seeds for a first run, or replace them with your own search phrases.
  3. Set either result limit to control the number of saved rows. Leaving a limit empty returns all available suggestions until the source is exhausted.
  4. Choose TikTok source order or alphabetical order for suggestions within each seed.
  5. Choose whether to keep a suggestion that exactly matches its submitted seed, then set the language and region hints.
  6. Start the Actor and open the dataset from the run output.

⚙️ Input

Example input

This is the public input from a successful current-beta default-input run.

{
"keywords": [
"gift ideas",
"skincare routine",
"fitness meals",
"home office",
"summer outfits"
],
"maxSuggestionsPerKeyword": 25,
"maxTotalResults": 100,
"resultOrder": "source",
"includeSeedEcho": true,
"language": "en",
"region": "US"
}

Input fields

FieldTypeWhat it does
keywordsarray of strings, 1 to 500Required list of TikTok search seeds. Each seed is checked separately.
maxSuggestionsPerKeywordinteger, minimum 1Optional limit for saved suggestions from each seed. Leave it empty to save all available suggestions for each seed until the source is exhausted.
maxTotalResultsinteger, minimum 1Optional limit for saved suggestions across the run. Leave it empty to save all available suggestions from the submitted seeds until the source is exhausted.
resultOrderstring: source or alphabeticalKeeps TikTok's returned order for each seed or sorts each seed's suggestions alphabetically.
includeSeedEchobooleanKeeps a suggestion when its text exactly matches the submitted seed.
languagestring language codeSets a preferred TikTok language context. This is a source hint, not a hard result filter.
regiontwo-letter stringSets a preferred TikTok region context, such as US, GB, DE, or JP. This is a source hint, not a hard result filter.

Limits

Both optional result limits can be left empty. In that case, the Actor saves all available suggestions until the source is exhausted. If the other limit is set, it can stop the run first.

Automatic cleanup

Repeated normalized suggestions across the submitted seeds are suppressed. The first eligible match is saved, and later matches are ignored.

🧾 Output

The run output contains a link to the default dataset. Each saved dataset item follows one of the row shapes below.

Run output

FieldTypeWhat it does
resultsURL stringOpens the default dataset view for the saved rows.

Keyword suggestion rows

FieldTypeWhat it does
resultTypestringIdentifies this row as a keywordSuggestion.
seedKeywordstringThe submitted seed that produced the suggestion.
suggestionstringThe autocomplete text returned by TikTok.
normalizedSuggestionstringThe suggestion in a consistent form for comparison and cleanup.
suggestionTypestringThe suggestion type returned by TikTok, when available.
rankintegerThe suggestion position for its seed after the selected sort order.
sourcePlatformstringThe platform that supplied the row.
sourceSurfacestringThe TikTok surface that supplied the row.
languagestringThe language context for the autocomplete row.
regionstringThe two-letter region context used for the row.
scrapedAtdate-time stringThe UTC time when the row was collected.

This complete row comes from a successful current-beta default-input run.

{
"resultType": "keywordSuggestion",
"seedKeyword": "gift ideas",
"suggestion": "gift ideas for girlfriend",
"normalizedSuggestion": "gift ideas for girlfriend",
"rank": 1,
"sourcePlatform": "tiktok",
"sourceSurface": "search_autocomplete",
"language": "en",
"region": "US",
"scrapedAt": "2026-09-02T16:54:12.428Z",
"suggestionType": "sug"
}

Hashtag row shape

The public dataset schema also includes this shape.

FieldTypeWhat it does
resultTypestringIdentifies this row as a hashtag.
searchTargetstringThe keyword, hashtag, or tag-page URL that produced the row.
hashtagstringThe public hashtag text returned by TikTok.
hashtagUrlURL stringThe direct public TikTok page for the hashtag.
viewCountintegerThe public view count when TikTok shows it.
videoCountintegerThe public video count when TikTok shows it.
sourcePlatformstringThe platform that supplied the row.
sourceSurfacestringThe TikTok surface that supplied the row.
scrapedAtdate-time stringThe UTC time when the row was collected.

💳 Pricing

This Actor uses pay-per-event pricing. The primary event is Keyword suggestion. One charge applies when one keyword suggestion is saved to the dataset. Run limits can help control the number of saved suggestions and possible charges.

🔌 Integrations

Use the results link to download rows as JSON, CSV, Excel, XML, RSS, or HTML, or read them through the Apify API.

❓ FAQ

What happens when a seed has few or no suggestions?

TikTok can return fewer suggestions than requested or none at all. The dataset contains only available accepted rows for that seed, with no made-up suggestion.

What happens if one seed cannot be completed?

Valid rows already saved remain in the dataset. The run reports the incomplete work truthfully so you can review what was collected.

What happens when the same suggestion appears under two seeds?

The Actor saves the first eligible occurrence of the normalized suggestion and ignores later matches. The saved row keeps the first seed and rank context.

Can I leave the result limits empty?

Yes. Leaving either optional limit empty returns all available suggestions until the source is exhausted, unless the other limit stops the run first.

Do language and region filter the results?

No. They provide TikTok source context and are not hard result filters.

Does the Actor return search volume or trend data?

No. It returns autocomplete suggestions and source context, not search volume, CPC, popularity scores, or trend predictions.

Do I need a TikTok account or API key?

No. The Actor collects public TikTok autocomplete suggestions without a TikTok login, cookies, or an API key.

📝 Changelog

v1.0 (02-09-2026)

  • Keyword rows now use a simpler public shape with the seed, suggestion, rank, source context, language, region, and collection time.
  • Runs keep valid saved rows when a later source request cannot be completed and report the final summary with dataset links.

v0.1

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré