TikTok Keyword Suggestions Scraper avatar

TikTok Keyword Suggestions Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TikTok Keyword Suggestions Scraper

TikTok Keyword Suggestions Scraper

Collect ranked TikTok autocomplete suggestions from seed keywords with bounded alphabet, number and recursive expansion plus transparent frequency signals.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Ben

Ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Turn seed terms into ranked TikTok autocomplete suggestions without a TikTok login, browser runtime, residential proxy, or external API key. The TikTok Keyword Suggestions Scraper supports direct seed lookup, A-Z expansion, number expansion, bounded recursive discovery, deduplication, and a transparent cross-query frequency proxy.

The Actor calls the public autocomplete preview resource used by TikTok search and returns one structured row per suggestion. It preserves TikTok's own source rank and metadata while clearly separating observed fields from derived signals.

What can you use it for?

  • Discover the phrases TikTok currently suggests for a topic.
  • Expand a small seed list into long-tail keyword ideas.
  • Compare which suggestions recur across A-Z or recursive query variants.
  • Build a reviewed input list for content research or social listening.
  • Track how autocomplete suggestions change between scheduled snapshots.
  • Group suggestions by language, tokenization, or recall source.
  • Send ranked keyword tables to Google Sheets, Airtable, n8n, Make, or Zapier.

The Actor does not claim to provide TikTok's private absolute search volume. volume_proxy is simply the number of queried variants in the current run that returned the same suggestion. It is useful as a relative recurrence signal within one controlled run, not as an official monthly-search estimate.

Input

{
"keywords": ["home decor"],
"expandAlphabet": false,
"expandNumbers": false,
"expansionDepth": 0,
"language": "en-US",
"maxQueries": 10,
"maxSuggestionsPerQuery": 10,
"maxResults": 25,
"deduplicateSuggestions": true
}

Input fields

FieldTypeDefaultDescription
keywordsarray["home decor"]Initial TikTok search terms.
expandAlphabetbooleanfalseAdd a through z to every seed.
expandNumbersbooleanfalseAdd 0 through 9 to every seed.
expansionDepthinteger0Feed returned suggestions back into autocomplete, up to depth two.
languagestringen-USRequest language preference. TikTok still controls localization.
maxQueriesinteger30Hard request budget for all seeds and expansions.
maxSuggestionsPerQueryinteger10Maximum suggestions retained from each query.
maxResultsinteger100Maximum rows saved to the dataset.
deduplicateSuggestionsbooleantrueMerge repeated suggestions and calculate volume_proxy.

Expansion can grow quickly. A single seed with A-Z expansion creates up to 27 initial requests before recursive expansion. Start with maxQueries between 10 and 30, inspect the results, and increase it only when the broader query tree is useful.

Output

{
"seed_keyword": "home decor",
"request_query": "home decor",
"source_queries": ["home decor"],
"query_count": 1,
"suggestion": "Home decor ideas",
"normalized_suggestion": "home decor ideas",
"group_id": "5160900346397932888",
"rank": 1,
"best_tiktok_rank": 1,
"query_rank": 1,
"expansion_depth": 0,
"volume_proxy": 1,
"language": "en",
"words_source": "sug",
"is_personalized": true,
"recall_reasons": ["tiktok_orion_query", "tiktok_index_global_active_7d_query"],
"cut_query_tokens": ["Home", "decor", "ideas"],
"matched_ranges": [{"begin": 0, "end": 9}],
"url": "https://www.tiktok.com/search?q=Home+decor+ideas",
"scraped_at": "2026-07-11T10:30:00+00:00"
}

Source fields

  • suggestion is the autocomplete phrase returned by TikTok.
  • group_id is the public suggestion group identifier when TikTok provides it.
  • best_tiktok_rank is the best position at which TikTok returned the phrase.
  • language, words_source, is_personalized, recall_reasons, cut_query_tokens, and matched_ranges are normalized from the response metadata.

Run-derived fields

  • seed_keyword and request_query preserve how the phrase was discovered.
  • source_queries lists all query variants that returned a merged suggestion.
  • query_count and volume_proxy count those appearances within this run.
  • expansion_depth records the shallowest discovery depth.
  • rank is the final output order after sorting by frequency proxy, best TikTok rank, and phrase.

No derived field is presented as official TikTok volume, trend score, or campaign performance.

A practical keyword workflow

  1. Start with three to ten narrow seed phrases.
  2. Run without expansion and review TikTok's direct suggestions.
  3. Enable A-Z expansion for the seeds that need broader long-tail coverage.
  4. Keep recursive depth at zero or one unless a larger tree has a defined use.
  5. Retain source queries and ranks so the discovery path stays auditable.
  6. Review suggestions for relevance, safety, and language before using them downstream.
  7. Append timestamped snapshots if suggestion changes matter over time.

Autocomplete is a research signal, not an instruction to publish. A suggested phrase can be ambiguous, unsafe, misleading, or irrelevant to the intended audience. Keep a human review step.

Integrations and scheduling

Use an Apify Task to save a repeatable keyword configuration, then attach a schedule or webhook. Results can be downloaded as JSON, CSV, Excel, XML, RSS, or Parquet and routed to:

  • Google Sheets or Airtable for editorial review
  • n8n, Make, or Zapier for workflow triggers
  • BigQuery, Snowflake, PostgreSQL, or object storage for snapshots
  • a Python or JavaScript service through the Apify API
  • a manual content-research queue

For monitoring, compare normalized_suggestion across runs and retain scraped_at. Do not overwrite the prior dataset if historical change is the objective.

Pricing

This Actor uses transparent pay-per-event pricing:

  • $0.005 when the Actor starts.
  • $0.0015 for each suggestion row saved to the default dataset.

A 100-row run costs about $0.155 in Actor charges before ordinary Apify platform usage. Duplicate appearances merged into one row are billed once. Requests, discarded empty records, and rows beyond maxResults do not create result charges.

Reliability and limits

The engine uses Chrome-compatible TLS impersonation and direct HTTP requests. It requires no proxy or browser. Each request has an explicit timeout and up to three bounded retries. Query count, recursive depth, per-query results, and total output are all capped.

The Actor fails when TikTok returns no usable suggestions instead of reporting a successful empty dataset. That makes scheduled source changes visible. TikTok can change its public endpoint or localization behavior; report a reproducible input through the Actor's Issues tab if a previously working seed stops returning data.

Responsible use

Use this Actor for legitimate public-data research. Follow TikTok's terms, applicable law, and your organization's policies. Do not use the output for harassment, sensitive profiling, deceptive targeting, spam, or automated publication without review.

Autocomplete can reflect current events, platform experiments, regional differences, and potentially sensitive phrases. Avoid treating it as an endorsement, factual statement, or demographic conclusion.

Frequently asked questions

Does it require a TikTok account?

No. It uses a public autocomplete response and does not authenticate as a user.

Is volume_proxy official TikTok search volume?

No. It only counts how many request variants in the current run returned the same phrase.

Does changing language guarantee country-specific results?

No. It changes the request language preference. TikTok can also localize by network location and its own systems. The Actor does not claim country-pinned output because it does not spend residential proxy traffic.

How many requests does A-Z expansion make?

Up to 27 per seed: the original seed plus 26 letter variants. maxQueries remains the hard global cap.

Why are some suggestions marked personalized on an anonymous request?

That is the flag returned by TikTok's public resource. The Actor preserves it without claiming a logged-in user profile influenced the request.

Can I schedule it?

Yes. Save the input as an Apify Task, add a schedule, and compare timestamped datasets by normalized_suggestion.

You might also like

If the Actor saved time or replaced manual work, leave a Store review. Reviews help prioritize endpoint monitoring and useful field improvements.

Keywords: TikTok keyword scraper, TikTok autocomplete API, TikTok keyword suggestions, TikTok SEO tool, TikTok search terms, TikTok content research, TikTok long-tail keywords, TikTok trend research, social media keyword scraper.

Production workflow

This Actor is designed for short-form video teams, social strategists, agencies and creator researchers. Start with one narrow topic, use bounded expansion to discover long-tail phrases, and compare repeated suggestions across query variants before assigning content ideas to a publishing calendar. Small, repeatable runs are easier to audit than occasional unlimited exports: they expose source changes quickly, reduce duplicate processing and keep automation costs predictable. Use the input defaults as a smoke test, then widen the query only after confirming that the returned fields match the downstream workflow.

Treat each dataset row as source evidence captured at a point in time, not as a permanent fact. Preserve the canonical identifier and source URL, add the run timestamp in the receiving system, and deduplicate before writing to a CRM, spreadsheet, warehouse or alert channel. For recurring monitoring, compare the newest dataset with the previous successful run and send only additions or material changes onward. That pattern avoids repeated notifications and makes the automation more useful over time.

Data quality and interpretation

The primary output includes seed_keyword, request_query, source_queries, query_count, suggestion, normalized_suggestion, group_id, rank, best_tiktok_rank, query_rank, expansion_depth, volume_proxy. Availability depends on what the source publishes for a particular result. Empty values are retained as null or empty fields rather than invented. Search rank is source-specific and can change with language, geography, query wording and time. Validate critical decisions against the linked source page, especially when the data is used for outreach, compliance, pricing, routing or reporting.

Use bounded inputs and respect the source's published interface. The Actor does not bypass logins or collect private account data. Avoid placing passwords, session cookies, personal access tokens or confidential records in Actor input. If a public source changes its response shape, attach a reproducible public input and run ID to an Actor issue so the parser can be updated without exposing private data.

Automation and cost control

The default dataset can be exported as JSON, CSV, Excel, XML or RSS and can be consumed through the Apify API. In Make, Zapier or n8n, start the Actor, wait for the run to finish, then read default-dataset items. In code, store the Actor run ID and dataset ID alongside the imported rows so every record remains traceable. Apply filters after collection only when the source cannot express them directly; source-side filtering usually reduces cost and noise.

This Actor uses pay-per-event billing. A result event is charged only when a structured row is saved to the default dataset. Keep test runs small, estimate expected row volume before scheduling broad searches, and use platform spending limits for unattended workflows. Failed requests and empty searches should not create result events.

Support and feedback

If the Actor saves time in a real workflow, please leave a short Apify Store review describing the use case and the fields that were most useful. Reviews help other users evaluate the product and help prioritize maintenance. For support, open an Actor issue with the run ID, public input, expected behavior and one affected field. Do not include credentials or confidential information.