TikTok Creator Search Insights avatar

TikTok Creator Search Insights

Pricing

from $10.00 / 1,000 api requests

Go to Apify Store
TikTok Creator Search Insights

TikTok Creator Search Insights

Scrape TikTok Creator Search Insights feeds, keyword search, and direct query-ID lookups. Enrich topics with popularity charts, demographics, related topics and videos, and AI video outlines. Returns one structured dataset row per topic.

Pricing

from $10.00 / 1,000 api requests

Rating

5.0

(2)

Developer

Rizla Piker

Rizla Piker

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

11

Monthly active users

2 days ago

Last modified

Share

What does TikTok Creator Search Insights do?

This Actor scrapes TikTok Creator Search Insights — the in-app tool TikTok gives creators to find trending topics, content gaps, audience demographics, and AI-generated video outlines.

It covers all 16 home tabs, keyword search, and direct topic lookup by query ID. Every result is returned as a flat dataset row you can download as JSON, CSV, or Excel.


Why use it?

  • Full coverage — Suggested, Trending, Fashion, Featured, Food, Sports, Hobbies, Science & Tech, Dance, Travel, Home & Living, Education, Careers, Vehicles, Local life, Photo posts, plus keyword search.
  • Topic detail enrichment — popularity charts, audience demographics (gender/age/country), related topics, AI video outlines (titles, hashtags, scripts), and related videos.
  • Direct query-ID lookup — re-fetch any topic's full detail page without re-scraping feeds.
  • Production-ready — automatic retries with backoff, device rotation on session blocks, and clean failure messages.

What data can you extract?

Data pointDataset column
Topic titlequeryText
Search volume (159K, 300)searchVolumeLabel, popularityScore
Card subtitlecardSubtitle
Post count (93.8K+ posts)videoCountLabel, videoCount
Trend spike (1000%+)trendGrowthPercent
7-day volume sparklinetrendingVolume7d
Content gap flagisContentGap
Category treecategoryL1categoryL4
Popularity chart (7/30/60 day)popularityChart
Audience demographicsdemographics
Related topicsrelatedTopics
AI outline — insights, titles, hashtags, scriptoutlineInsights, outlineTitles, outlineHashtags, outlineScript
Related videosrelatedVideos

How to scrape TikTok Creator Search Insights

  1. Pick What to scrape (one complete destination, e.g. Suggested → Content gap).
  2. If you chose Search by keyword, type the keyword. For anything else, leftover keyword text is ignored.
  3. Leave How many results at 20 for a cheap first run.
  4. Click Start. Download the dataset when it finishes.

That’s it. Extra filters, query-ID lookup, and enrichment options stay collapsed.

You pickYou also fillResult
Suggested → Content gap (or any home tab)Nothing elseThat feed
Search by keywordSearch keyword (e.g. iphone)Keyword search
Lookup by query IDQuery IDsThose topics only

Input reference

FieldDescriptionDefault
feedChannelDestination: suggested_content_gap, search, trending_topics, education, …suggested
feedTabLegacy sub-tab (hidden in Console; used with suggested / trending)all
searchKeywordUsed only when feedChannel is search
queryIdsDirect topic lookup by ID
categoriesOptional filter: Fashion, Food, Gaming, Tourism, Science, Sports
languageContent languageen
locationTrending location: local, global, or country code
timeWindowHot trends / Events window: 4H, 24H, 48H, 7D
maxPagesPages to fetch10
resultsPerPageItems per page (max 20)20
maxItemsTotal result cap (0 = unlimited)0
delaySecondsPause between pages0.5
includeTopicDetailEnrich with charts, demographics, AI outlinetrue
detailDateRangeChart window: 7day, 30day, 60day, 6month7day
detailCountryCodesCountries for popularity chart["US"]
relatedTopicsLimitMax related topics per item10
detailDelaySecondsPause between detail API calls0.3

Section mapping (feedChannel)

TikTok app tabfeedChannelSub-tab needed?
SuggestedsuggestedYes — feedTab: all or content_gap
TrendingtrendingYes — feedTab: topics, sounds, hashtags, etc.
FashionfashionNo
FeaturedfeaturedNo
FoodfoodNo
SportssportsNo
HobbieshobbiesNo
Science & TechscienceNo
DancedanceNo
TraveltravelNo
Home & Livinghome_livingNo
EducationeducationNo
CareerscareersNo
VehiclesvehiclesNo
Local lifelocal_lifeNo
Photo postsphoto_postsNo

For keyword search, set feedChannel to search and provide searchKeyword. Combined values such as suggested_content_gap replace the old Section + Filter pair.


Sample output

Topic details are on by default, so a typical row looks like this (Suggested → Content gap):

{
"type": "topic",
"feedChannel": "suggested",
"feedTab": "content_gap",
"sectionLabel": "Suggested → Content gap",
"queryId": "7623251614337368120",
"queryText": "GamingContent",
"primaryType": "search",
"popularity": 74,
"popularityScore": 272281,
"searchVolumeLabel": "272.3K",
"videoCount": 31479,
"videoCountLabel": "31.5K+ posts",
"isContentGap": true,
"trendGrowthPercent": 118.8,
"categoryL1": "ACGN",
"categoryL2": "Games",
"topicDetailEnriched": true,
"detailDateRange": "7day",
"detailCreatorPostCount": 31479,
"popularityChart": {
"US": [
{"date": "2026-08-11", "popularity": 38924},
{"date": "2026-08-18", "popularity": 28878}
],
"global": [
{"date": "2026-08-11", "popularity": 254504},
{"date": "2026-08-18", "popularity": 272280}
]
},
"demographics": {
"gender": [
{"category": "male", "popularity": 12903},
{"category": "female", "popularity": 6301}
],
"age": [
{"category": "18-24", "popularity": 12003},
{"category": "25-34", "popularity": 8102}
]
},
"relatedTopics": [
{"queryId": "7525795980659130373", "queryText": "GamerTikTok", "popularityScore": 104768, "searchVolumeLabel": "104.8K"},
{"queryId": "7600837050664747029", "queryText": "GameContent", "popularityScore": 3800, "searchVolumeLabel": "3.8K"}
],
"outlineInsights": "Quirky Roblox/VR mini-stories with AI actor comedy go viral because they’re fast, funny, and instantly replayable.",
"outlineHook": "Your game skit turns into instant laughs!",
"outlineTitles": ["Roblox VR Comedy Remix", "AI Actor Game Skit Challenge", "Newbie Hacker Fails, But Funny"],
"outlineHashtags": ["gamingcontent", "tiktokgaming", "robloxvr"],
"outlineScript": [
{"key": "intro", "section": "Intro", "instruction": "Open with a funny game twist.", "script": "Stop scrolling—your VR game can be pure chaos in 15 seconds!"}
]
}

Search by keyword (iphone):

{
"type": "topic",
"feedChannel": "search",
"sectionLabel": "Search",
"searchKeyword": "iphone",
"queryId": "101670035",
"queryText": "iPhone Phones",
"primaryType": "search",
"popularity": 72,
"popularityScore": 189505,
"searchVolumeLabel": "189.5K",
"videoCount": 76838,
"videoCountLabel": "76.8K+ posts",
"isContentGap": false,
"trendGrowthPercent": 309.5,
"categoryL1": "Science and Technology",
"categoryL2": "Digital",
"topicDetailEnriched": true,
"detailDateRange": "7day",
"detailCreatorPostCount": 76838,
"popularityChart": {
"US": [
{"date": "2026-08-11", "popularity": 1368},
{"date": "2026-08-18", "popularity": 13759}
],
"global": [
{"date": "2026-08-11", "popularity": 165310},
{"date": "2026-08-18", "popularity": 189504}
]
},
"demographics": {
"gender": [
{"category": "male", "popularity": 21689},
{"category": "female", "popularity": 15092}
],
"age": [
{"category": "25-34", "popularity": 24487},
{"category": "18-24", "popularity": 20489}
]
},
"relatedTopics": [
{"queryId": "7414271978632544262", "queryText": "17 pro iphone", "popularityScore": 480351, "searchVolumeLabel": "480.4K"},
{"queryId": "7411674612460814342", "queryText": "pro max phones", "popularityScore": 300, "searchVolumeLabel": "300"}
],
"outlineInsights": "Fast phone-unboxing promos with clear feature callouts and urgency cues drive clicks and DMs.",
"outlineHook": "Brand-new iPhone look in seconds—watch this demo!",
"outlineTitles": ["iPhone Deals: Spot The Upgrade", "Face ID To True Tone Demo", "Which iPhone Fits Your Budget?"],
"outlineHashtags": ["iphone", "appledeals", "facid", "trutone"],
"outlineScript": [
{"key": "intro", "section": "Intro", "instruction": "Start with a bold iPhone reveal.", "script": "This iPhone upgrade is wild—watch the quick reveal!"}
]
}

Topic detail enrichment

Turn on Include topic details (includeTopicDetail, on by default) to match the in-app topic detail screen. Each enriched row adds the fields above. Turn it off for a cheaper list-only scrape.

Sub-toggles let you pick exactly what to fetch:

  • includePopularityChart — search trend chart
  • includeDemographics — gender, age, country breakdown
  • includeRelatedTopics — "Explore more" topics
  • includeRelatedVideos — videos for the topic keyword
  • includeAiOutline — AI-generated titles, hashtags, script

Cost note: enrichment adds roughly 4–5 requests per topic. Use maxItems to control how many topics are enriched per run.


Lookup by query ID

Every list row includes a queryId. Use it to re-fetch the full detail page later without scraping feeds again.

Set queryIds in the Actor input:

{
"queryIds": ["7452903671676796934", "7479258928920969222"],
"detailDateRange": "7day",
"detailCountryCodes": ["US"]
}

Detail enrichment turns on automatically. Optional sub-toggles still apply.


API usage

REST API (cURL)

Scrape Suggested → All topics:

curl -X POST "https://api.apify.com/v2/acts/cunning_soil~tiktok-creator-search-insights/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"feedChannel": "suggested",
"feedTab": "all",
"maxPages": 2,
"maxItems": 20
}'

Retrieve the dataset:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json&token=YOUR_TOKEN"

JavaScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
// Scrape education topics with enrichment
const run = await client.actor('cunning_soil/tiktok-creator-search-insights').call({
feedChannel: 'education',
maxPages: 2,
maxItems: 10,
includeTopicDetail: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} topics`);
items.forEach(item => {
console.log(item.queryText, item.searchVolumeLabel, item.outlineTitles);
});

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_TOKEN")
# Look up specific topics by query ID
run = client.actor("cunning_soil/tiktok-creator-search-insights").call(run_input={
"queryIds": ["7452903671676796934"],
"detailDateRange": "7day",
"detailCountryCodes": ["US"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["queryText"], item.get("popularityChart"))

Pricing

This Actor uses pay-per-event pricing on the Apify Store. You are billed per API request the Actor makes to TikTok — not per result — so bulk list scraping is cheap and you only pay more when you ask for richer data.

EventPriceWhat it covers
API request$0.01 ($10 / 1,000)One request to TikTok. A feed page is one request (returns up to 20 results). Each enrichment call (detail, popularity chart, demographics, related topics, AI outline, related videos) is one request. Retries are not billed.
Actor start$0.00005Charged when a run starts (scales with memory: 1 event per GB, minimum 1).

What a request means

  • List scraping: 1 request per page = up to 20 results. So ~50 requests ($0.50) returns ~1,000 results.
  • Enrichment: each enriched topic makes roughly 4–6 requests (~$0.04–$0.06 per topic), depending on which detail toggles are on.

Example costs

RunRequestsApprox. charge
1,000 list results (50 pages)~50~$0.50
100 list results (5 pages)~5~$0.05
20 enriched topics~100–120~$1.00–$1.20
5 query-ID lookups (full enrichment)~25–30~$0.25–$0.30

Set a maximum charge on each run to cap spending. The Actor stops making new requests once that limit is reached, so you are never billed beyond it. For first-time tests, $0.50–$1.00 is plenty.


Tips

  • Start with a small run — set maxItems to 5 and maxPages to 1 to preview results before scaling up.
  • Topic details are on by default — uncheck Include topic details for a cheaper list-only scrape.
  • Choose the right Trending sub-tab — Trending → Topics returns search queries, while Trending → Sounds returns music.
  • Find content gaps — set feedChannel to suggested_content_gap.
  • Reuse query IDs — save the queryId values from a list run and pass them back via queryIds to re-fetch full detail later.

Troubleshooting

SymptomCauseWhat to do
Empty datasetThat destination had no topics, or the session needs refreshingTry Suggested → All, or Search by keyword
Search ran when I wanted a feedYou selected Search by keywordSwitch What to scrape to a home tab — leftover keyword text is ignored
relatedVideosBlocked: "hit_shark" in a rowTikTok's anti-bot protection blocked the related-video requestRetry later, or disable includeRelatedVideos; other fields are unaffected
Run fails with a TikTok API status messageThe upstream TikTok session expired or blocked the requestRe-run the Actor; if it persists, the maintainer needs to refresh the session credentials

Limitations

  • Related videos rely on TikTok's general video search, which its anti-bot systems may block. When this happens, the row includes relatedVideosBlocked and all other fields remain populated.
  • Session lifetime — the Actor authenticates against TikTok using pre-configured session credentials that are refreshed periodically by the maintainer. Runs may fail if a session expires before it is renewed.