Tiktok Keyword Search Scraper avatar

Tiktok Keyword Search Scraper

Pricing

from $1.60 / 1,000 search rresults

Go to Apify Store
Tiktok Keyword Search Scraper

Tiktok Keyword Search Scraper

TikTok Keyword Search Scraper extracts TikTok videos from keyword-based search results, including rank, captions, creators, stats, and URLs. Use it for market research, trend tracking, competitor monitoring, SEO-style analysis, and AI workflows.

Pricing

from $1.60 / 1,000 search rresults

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

10 days ago

Last modified

Share

Search TikTok videos by keyword with ranking context, filters, creator data, and structured export-ready results.

TikTok Keyword Search Scraper

What does this actor do?

TikTok Keyword Search Scraper is an Apify Actor that searches TikTok for videos by keyword and exports structured search results with rich metadata. It is designed for content research, competitor monitoring, trend spotting, influencer discovery, SEO/content ideation, and AI/LLM workflows.

For each keyword, the actor:

  1. Searches TikTok and extracts video results (up to ~150 per keyword)
  2. Preserves search rank, page number, and position context
  3. Returns structured records with video, creator, engagement, and music data
  4. Supports multi-keyword batch mode with cross-keyword deduplication

Why use this actor?

  • Keyword-focused — cleaner and simpler than all-in-one TikTok scrapers
  • Search ranking context — every result includes rank, page number, and position
  • Multi-keyword batch mode — search multiple keywords in a single run with per-keyword traceability
  • Rich metadata — video details, creator summary, engagement stats, music info, and parsed hashtags
  • Flexible output — toggle creator, music, engagement, and hashtag fields on/off
  • Deduplication — optionally deduplicate when the same video appears across multiple keywords
  • Export-ready — structured output for CSV, JSON, Excel, API, and AI pipelines
  • Part of a suite — pairs with TikTok Trend & Discovery Scraper, TikTok Profile Scraper, and TikTok Comment Scraper

Input

ParameterTypeDefaultDescription
keywordsstring[]One or more TikTok search keywords (required)
maxItemsPerKeywordinteger50Maximum results to collect per keyword (1–500)
sortstring"relevance"Sort order: relevance, latest, mostLiked
regionstring""Two-letter country code for region targeting (e.g. US, AU, GB)
datePostedstring"any"Date filter: any, last24Hours, last7Days, last30Days, last90Days
includeCaptionbooleantrueInclude video caption in output
includeHashtagsbooleantrueInclude parsed hashtags and mentions
includeCreatorbooleantrueInclude creator/author fields
includeMusicbooleantrueInclude music/sound fields
includeEngagementbooleantrueInclude engagement metrics
deduplicateAcrossKeywordsbooleanfalseRemove duplicate videos across keywords
debugModebooleanfalseEnable verbose logging
proxyConfigurationobjectApify proxy configuration (residential recommended)
{
"keywords": ["tesla"],
"maxItemsPerKeyword": 50
}

Example input: Multi-keyword research batch

{
"keywords": ["ai tools", "chatgpt prompts", "automation apps"],
"maxItemsPerKeyword": 100,
"sort": "relevance",
"region": "US",
"datePosted": "last30Days",
"deduplicateAcrossKeywords": true,
"includeMusic": false
}
{
"keywords": ["canberra cafe", "sydney brunch"],
"maxItemsPerKeyword": 30,
"region": "AU",
"sort": "latest",
"includeCreator": true,
"includeEngagement": true
}

Output

The actor outputs one record per search result video. Results are available in four dataset views:

  • Search Results — keyword, rank, video URL, caption, engagement, and creator summary
  • Creators — creator-focused view with follower counts and profile links
  • Engagement — engagement metrics focused view
  • Full Data — all fields including media, music, system metadata

TikTok Keyword Search Scraper — Search Results table view

Search Results view

{
"keyword": "tesla",
"searchRank": 1,
"pageNumber": 1,
"videoId": "7615705845640318221",
"videoUrl": "https://www.tiktok.com/@tesla.flex/video/7615705845640318221",
"caption": "The base Tesla Model 3 is actually good?! #tesla #model3 #teslatok #evsoftiktok #teslamodel3 ",
"createTimeISO": "2026-03-10T19:09:00.000Z",
"duration": 60,
"views": 14800,
"likes": 520,
"comments": 20,
"shares": 26,
"authorUniqueId": "tesla.flex",
"authorVerified": false,
"sort": "relevance",
"region": "",
"scrapedAt": "2026-03-16T07:47:49.912Z"
}

Creators view

{
"keyword": "tesla",
"searchRank": 1,
"videoId": "7615705845640318221",
"authorId": "6614876484773969926",
"authorUniqueId": "tesla.flex",
"authorNickname": "Brandon | Tesla Flex",
"authorUrl": "https://www.tiktok.com/@tesla.flex",
"authorVerified": false,
"authorFollowerCount": 3000000,
"authorFollowingCount": 593,
"authorHeartCount": 159700000,
"views": 14800,
"likes": 520,
"caption": "The base Tesla Model 3 is actually good?! #tesla #model3 #teslatok #evsoftiktok #teslamodel3 "
}

Engagement view

{
"keyword": "tesla",
"searchRank": 1,
"videoId": "7615705845640318221",
"caption": "The base Tesla Model 3 is actually good?! #tesla #model3 #teslatok #evsoftiktok #teslamodel3 ",
"authorUniqueId": "tesla.flex",
"views": 14800,
"likes": 520,
"comments": 20,
"shares": 26,
"saves": 33,
"engagementTotal": 599,
"isAd": false,
"isSponsored": false
}

Full Data view

{
"keyword": "tesla",
"normalizedKeyword": "tesla",
"searchType": "keyword_video_search",
"searchRank": 1,
"pageNumber": 1,
"resultIndexOnPage": 1,
"sort": "relevance",
"region": "",
"dateFilter": "any",
"scrapedAt": "2026-03-16T07:47:49.912Z",
"runId": "bKcA8m72H7Iwwx9YD",
"videoId": "7615705845640318221",
"videoUrl": "https://www.tiktok.com/@tesla.flex/video/7615705845640318221",
"shareUrl": "https://www.tiktok.com/@tesla.flex/video/7615705845640318221",
"caption": "The base Tesla Model 3 is actually good?! #tesla #model3 #teslatok #evsoftiktok #teslamodel3 ",
"createTime": 1773169740,
"createTimeISO": "2026-03-10T19:09:00.000Z",
"duration": 60,
"views": 14800,
"likes": 520,
"comments": 20,
"shares": 26,
"saves": 33,
"engagementTotal": 599,
"authorId": "6614876484773969926",
"authorUniqueId": "tesla.flex",
"authorNickname": "Brandon | Tesla Flex",
"authorUrl": "https://www.tiktok.com/@tesla.flex",
"authorVerified": false,
"authorAvatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ff1930f2d25bb38d219aa67e7d04d59b~tplv-tiktokx-cropcenter:1080:1080.jpeg?...",
"authorFollowerCount": 3000000,
"authorFollowingCount": 593,
"authorHeartCount": 159700000,
"musicId": "7411930613424883713",
"musicTitle": "Like This (Lofi)",
"musicAuthorName": "ProdByDave",
"musicOriginal": false,
"musicDuration": 240,
"hashtags": ["tesla", "model3", "teslatok", "evsoftiktok", "teslamodel3"],
"mentions": [],
"isAd": false,
"isSponsored": false,
"coverUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oUAjAfo3BBC0iA0ClwibDHEE2BJIFwUw5tIQYA~tplv-tiktokx-dmt-logom.image?...",
"dynamicCoverUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oUAjAfo3BBC0iA0ClwibDHEE2BJIFwUw5tIQYA~tplv-tiktokx-origin.image?...",
"originCoverUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oY46bG7WDIiEgw2uAfFESJRoFBf5pZDIEAgGEs~tplv-tiktokx-origin.image?...",
"videoWidth": 720,
"videoHeight": 1280,
"ratio": "720p",
"inputKeywordIndex": 0,
"isDuplicateAcrossKeywords": false,
"source": "tiktok_search",
"scrapeStatus": "ok"
}

Output fields

Search context fields

FieldDescription
keywordThe search keyword that produced this result
normalizedKeywordLowercase, whitespace-normalized version of the keyword
searchTypeAlways keyword_video_search
searchRankOverall position in search results for this keyword
pageNumberWhich page this result came from
resultIndexOnPagePosition within the page
sortSort mode used (relevance/latest/mostLiked)
regionRegion code used for search
dateFilterDate filter applied
scrapedAtISO 8601 timestamp of extraction
runIdActor run ID for batch traceability

Video fields

FieldDescription
videoIdTikTok video ID
videoUrlFull video URL
shareUrlShareable video URL
captionVideo caption/description
createTimeUnix timestamp of video creation
createTimeISOISO 8601 creation time
durationDuration in seconds

Engagement fields (conditional)

FieldDescription
viewsPlay/view count
likesLike count
commentsComment count
sharesShare count
savesSave/collect count
engagementTotalSum of likes + comments + shares + saves

Creator fields (conditional)

FieldDescription
authorIdAuthor user ID
authorUniqueIdAuthor username
authorNicknameDisplay name
authorUrlProfile URL
authorVerifiedVerified badge status
authorAvatarUrlAvatar image URL
authorFollowerCountFollower count (if available)
authorFollowingCountFollowing count (if available)
authorHeartCountTotal hearts (if available)

Music fields (conditional)

FieldDescription
musicIdMusic/sound ID
musicTitleMusic title
musicAuthorNameMusic author
musicOriginalWhether the sound is original
musicDurationMusic duration in seconds

Content fields

FieldDescription
hashtagsParsed hashtags from caption
mentionsParsed @mentions from caption
isAdWhether the video is an ad
isSponsoredWhether the video is sponsored

Media fields

FieldDescription
coverUrlVideo cover image URL
dynamicCoverUrlAnimated cover URL
originCoverUrlOriginal cover URL
videoWidthVideo width in pixels
videoHeightVideo height in pixels
ratioVideo aspect ratio

System fields

FieldDescription
inputKeywordIndexIndex of the keyword in the input array
isDuplicateAcrossKeywordsWhether this video appeared under a previous keyword
sourceAlways tiktok_search
scrapeStatusok or error status

Use cases

  • Topic research — find top TikTok videos for any topic or keyword
  • Trend monitoring — track keyword-based content trends over time with scheduled runs
  • Creator discovery — identify creators ranking for target queries
  • Competitor tracking — monitor what content appears for competitive keywords
  • Keyword landscape analysis — compare search results across regions and sort modes
  • AI dataset generation — build structured datasets for clustering, summarization, and analysis
  • Content ideation — discover what types of content perform for a topic before creating

Tips and best practices

  • Start small — use maxItemsPerKeyword: 10–20 for initial exploration
  • Use searchRank for analysis — compare how videos rank across keywords and regions
  • Enable deduplication — set deduplicateAcrossKeywords: true when searching related keywords
  • Toggle fields off — set includeCreator: false or includeMusic: false to reduce output size
  • Schedule for monitoring — run on a schedule to track keyword trends over time
  • Use normalizedKeyword — consistent lowercase version for grouping across runs

Proxy configuration

Residential proxies are recommended for reliable TikTok scraping.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Integrations

  • Google Sheets — export search results to spreadsheets for team dashboards
  • Slack/email — set up notifications when new results are found
  • Webhooks — trigger downstream workflows when a run completes
  • API — access results programmatically via the Apify API
  • Other actors — feed discovered creators into TikTok Profile Scraper, or video URLs into TikTok Comment Scraper

FAQ

How many results can I get per keyword? TikTok's search API currently returns up to ~150 results per keyword per request. The actual number depends on how many results TikTok has for that query.

Why are some fields null? Fields like saves, authorFollowerCount, and musicDuration depend on what TikTok includes in its search data. They are extracted on a best-effort basis.

What does isDuplicateAcrossKeywords mean? When the same video appears in results for multiple keywords, this field is set to true for subsequent appearances. With deduplicateAcrossKeywords: true, duplicates are removed entirely.

How does region targeting work? Region is set via cookies as a best-effort hint. For true region-specific results, use a proxy from that region.

Can I scrape hashtag pages or specific videos? This actor is focused on keyword search. For hashtag/trend discovery, use TikTok Trend & Discovery Scraper. For specific videos, use TikTok Video Scraper.