TikTok Keyword Search & Discovery Scraper
Search TikTok by keyword or phrase and get matching videos with engagement stats, author profiles, music metadata, hashtags, and location tags, with optional discovery expansion for more results.
Open in Apify Store$0.99 / 1K on Free
Short answer
TikTok Keyword Search & Discovery Scraper is an Apify Store Actor for TikTok data that returns 13 published output fields, including caption, author, likeCount, shareCount. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 17 input settings; one is required (searchType). It covers 5 of the 8 core TikTok fields this site tracks. Last updated Nov 5, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
13 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
postIdqueryranksearchTypecaptioncreatedAtauthorplayCountlikeCountcommentCountshareCountpostUrlhashtagMetadata
Not in the schema among the core TikTok fields: video_id, comments, posted_at. The field matrix shows which other tools return them.
How it differs from the other TikTok Actors
Among the 17 catalogue Actors for TikTok with a published schema, only this one returns searchType, hashtagMetadata.
Pick another Actor if you need
| Actor | Fields it adds | Price / 1K |
|---|---|---|
| TikTok Keyword & Brand Mention Monitor | matchReason, isNew, hashtagMatch, taggedMatch | $0.99 |
| TikTok Post & Slideshow Detail Scraper | postType, commentId, text, user | $0.99 |
| TikTok Verified Mention Tracker | targetUsername, mentionType, postType | $0.99 |
| TikTok Hashtag Video Feed & Stats Extractor | searchedHashtag, hashtagName, videoCount, viewCount | $0.99 |
| TikTok Sound Lookup: Metadata & Videos Using It | rowType, musicTitle, artist, duration | $0.99 |
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| searchType | string | Yes | videos | Videos: keyword video search. Photos: slideshow/photo search. Hashtags: hashtag metadata plus its top videos (uses the Hashtags field). |
| queries | array | No | – | Keywords or phrases to search for (searchType=videos or photos). Each query is searched independently. |
| hashtags | array | No | – | Hashtags to look up (searchType=hashtags). The # is optional, e.g. coffee or #coffee. |
| maxResultsPerQuery | integer | No | 30 | Maximum posts to collect per query or hashtag, before filters. TikTok itself usually returns about 150-220 posts per query even when you ask for more. For hashtags, the metadata row is not counted against this limit. |
| sortBy | string | No | relevance | Client-side sort applied after collecting results. TikTok's web search does not support server-side sorting, so this only reorders the posts TikTok returned. |
| publishedWithin | string | No | all | Client-side filter that drops posts older than the selected window, based on each post's creation time. TikTok ranks results by relevance, not date, so a narrow window can return fewer posts than requested; the actor scans up to 5x the requested count (capped at 500) to fill it. |
| minDurationSeconds | integer | No | – | Drop videos shorter than this. Leave blank for no minimum. |
| maxDurationSeconds | integer | No | – | Drop videos longer than this. Leave blank for no maximum. |
| excludeAds | boolean | No | false | Drop posts TikTok flags as paid advertisements. |
| minLikeCount | integer | No | – | Drop posts with fewer likes than this. Leave blank for no minimum. |
Show the other 7 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| minViewCount | integer | No | – | Drop posts with fewer plays/views than this. Leave blank for no minimum. |
| uniqueAuthors | boolean | No | false | Keep at most one post per creator, so the results read like a creator shortlist. When a sort is selected, the top-ranked post from each creator is kept. |
| maxPostsPerAuthor | integer | No | – | Optional cap on how many posts one creator may contribute. Ignored when One Post Per Author is on. |
| enableExpansion | boolean | No | false | After each keyword search, run extra searches derived from its own results: related searches, its top hashtags and its most-reused sound. Increases run time and the number of posts found. Videos only. |
| expansionSources | array | No | ["suggestions","hashtags","sounds"] | Which discovery sources to use when expansion is on. All three can be combined. |
| maxExpansionQueriesPerSeed | integer | No | 3 | Maximum number of extra searches to run per keyword when expansion is on. Each one costs roughly as much run time as the original search. |
| includeHashtagMetadata | boolean | No | true | For hashtag searches: emit a metadata row with the hashtag's post count, view count, description and images. Also attaches metadata to hashtag-expansion posts when expansion is on. |
Example input
Built from the input form's published example values and defaults.
{
"searchType": "videos",
"queries": [
"viral"
],
"maxResultsPerQuery": 3,
"sortBy": "relevance",
"publishedWithin": "all",
"excludeAds": false,
"uniqueAuthors": false,
"enableExpansion": false,
"expansionSources": [
"suggestions",
"hashtags",
"sounds"
],
"maxExpansionQueriesPerSeed": 3,
"includeHashtagMetadata": true
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"searchType": "videos",
"queries": [
"viral"
],
"maxResultsPerQuery": 3,
"sortBy": "relevance",
"publishedWithin": "all",
"excludeAds": False,
"uniqueAuthors": False,
"enableExpansion": False,
"expansionSources": [
"suggestions",
"hashtags",
"sounds"
],
"maxExpansionQueriesPerSeed": 3,
"includeHashtagMetadata": True
}
run = client.actor("vexaloom-labs/tiktok-keyword-search-and-discovery-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"searchType": "videos",
"queries": [
"viral"
],
"maxResultsPerQuery": 3,
"sortBy": "relevance",
"publishedWithin": "all",
"excludeAds": false,
"uniqueAuthors": false,
"enableExpansion": false,
"expansionSources": [
"suggestions",
"hashtags",
"sounds"
],
"maxExpansionQueriesPerSeed": 3,
"includeHashtagMetadata": true
};
const run = await client.actor("vexaloom-labs/tiktok-keyword-search-and-discovery-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~tiktok-keyword-search-and-discovery-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"searchType":"videos","queries":["viral"],"maxResultsPerQuery":3,"sortBy":"relevance","publishedWithin":"all","excludeAds":false,"uniqueAuthors":false,"enableExpansion":false,"expansionSources":["suggestions","hashtags","sounds"],"maxExpansionQueriesPerSeed":3,"includeHashtagMetadata":true}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/tiktok-keyword-search-and-discovery-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among TikTok routes
It ranks 3 of 17 catalogue Actors for TikTok on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 TikTok Keyword & Brand Mention Monitor 24 output fields, pay per event 5 of 8 core fields
$0.99 / 1K - 2 TikTok Post & Slideshow Detail Scraper 23 output fields, pay per event 5 of 8 core fields
$0.99 / 1K - 3 TikTok Keyword Search & Discovery Scraper 13 output fields, pay per event 5 of 8 core fields
$0.99 / 1K - 4 TikTok Verified Mention Tracker 12 output fields, pay per event 4 of 8 core fields
$0.99 / 1K - + 8 other Store tools, combined Reference only 6 of 8 core fields
from $0.30 / 1K - API TikTok APIs Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: TikTok APIs
Limited access. TikTok offers Display APIs for authorized accounts, a Research API for approved academic researchers, and business products. There is no open general-purpose public content API.
Separate products have their own terms; general access is not sold as a self-serve per-call API.
Other Store tools for TikTok
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Tiktok Scraper | 29 | $0.30 |
| Tiktok Profile Scraper | 32 | $0.30 |
| TikTok Comments Scraper | 19 | $1.00 |
| TikTok Scraper | 42 | $3.70 |
| TikTok Data Extractor | 41 | $3.00 |
What people use it for
- Discover keyword content
- Research hashtags
- Analyze content engagement
Other catalogue Actors for TikTok
TikTok Keyword & Brand Mention Monitor
Searches TikTok for posts matching any keyword, brand name, or handle, flagging caption text matches and listing formally tagged mentions,…
TikTok Post & Slideshow Detail Scraper
Fetch full metadata for any TikTok video or photo-carousel post by URL or ID: engagement stats, author snapshot, music details, hashtags,…
TikTok Verified Mention Tracker
Find TikTok posts that tag a specific creator or brand handle, with each result checked against TikTok's own mention markup so you can tell a real…
TikTok Hashtag Video Feed & Stats Extractor
Collect a TikTok hashtag's total view/video counts plus the video feed underneath it - captions, author, music, and engagement - with automatic…
TikTok Sound Lookup: Metadata & Videos Using It
Look up any TikTok sound by URL or ID and get back its title, creator, duration, cover art, and streaming links, plus every video currently using…
TikTok Comment & Reply Thread Extractor
Pull comments and reply threads from TikTok videos by URL or post ID, with pinned/hearted-by-author flags, commenter details, and like counts. No…
Similar Actors
TikTok Anonymous For You Feed Snapshot Scraper
Capture a snapshot of posts currently surfacing on TikTok's anonymous For You feed, with engagement stats, author, music, and hashtag details for…
TikTok Hashtag Momentum & Top Creator Tracker
Reads TikTok Creative Center's trending-hashtag list for any country and returns rank, post and view counts, a day-by-day momentum curve, and top…
TikTok Playlist Discovery & Video Order Scraper
Scrape TikTok playlists - discover all playlists for a profile, get playlist metadata, and extract all videos. Supports playlist URLs, IDs, and…
LinkedIn Keyword & Hashtag Post Discovery Scraper
Search LinkedIn posts by keyword or hashtag with filters for date, author type, industry, connection degree, mentions, and minimum reactions.…
TikTok Account Stats & Repost History Scraper
Look up TikTok accounts for follower/like/video stats, recent videos, and reposted content in one run. Optional session cookie unlocks a profile's…
TikTok Video Subtitle & Transcript Extractor
Pull every subtitle track off a TikTok video - auto speech recognition plus any machine-translated languages - as timestamped segments and a…
Questions people ask
How much does TikTok Keyword Search & Discovery Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does TikTok Keyword Search & Discovery Scraper return?
Its published output schema lists 13 fields: postId, query, rank, searchType, caption, createdAt, author, playCount, likeCount, commentCount, shareCount, postUrl, and 1 more. A listed field is not guaranteed to be filled in every row.
What input does TikTok Keyword Search & Discovery Scraper need?
Required: searchType. Optional settings include queries, hashtags, maxResultsPerQuery, sortBy, publishedWithin, minDurationSeconds.
What are the alternatives to TikTok Keyword Search & Discovery Scraper for TikTok?
17 catalogue Actors cover TikTok. Close alternatives: TikTok Keyword & Brand Mention Monitor; TikTok Post & Slideshow Detail Scraper; TikTok Verified Mention Tracker. The TikTok page compares all of them field by field.
How do I run TikTok Keyword Search & Discovery Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/tiktok-keyword-search-and-discovery-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/tiktok-keyword-search-and-discovery-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~tiktok-keyword-search-and-discovery-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- TikTok Keyword Search & Discovery Scraper on Apify Store
- Published build with input and output schema (JSON)
- TikTok APIs documentation
Cite this page
Scraper Finder. "TikTok Keyword Search & Discovery Scraper." https://scraperfinder.com/catalogue/tiktok-keyword-search-and-discovery-scraper/ (data checked 2026-11-12).
Run TikTok Keyword Search & Discovery Scraper
$0.99 per 1,000 results. Paste the example input above, set your TikTok query, then export the dataset. Still choosing? Compare every TikTok route.