TikTok Video Search Scraper - Metrics & Filters avatar

TikTok Video Search Scraper - Metrics & Filters

Pricing

from $4.00 / 1,000 tiktok video founds

Go to Apify Store
TikTok Video Search Scraper - Metrics & Filters

TikTok Video Search Scraper - Metrics & Filters

Search TikTok videos by keyword or hashtag and get views, likes, comments, shares, engagement rate, duration, hashtags and creator data. Filter by minimum views, likes, or duration. Cookieless, provider-backed, MCP-ready.

Pricing

from $4.00 / 1,000 tiktok video founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

TikTok Video Search Scraper

Search TikTok videos by keyword or hashtag and get every metric that matters for content research, trend spotting, and competitor monitoring — views, likes, comments, shares, saves, a computed engagement rate, duration, hashtags, sound, and full creator data. Then narrow the haul with built-in quality filters (minimum views, likes, comments, shares, duration) so you only keep — and only pay for — the videos worth keeping.

No TikTok login, no cookies. Cookieless and provider-backed (ScrapeCreators primary, SociaVault fallback). MCP-ready for AI agents.

What you get

One flat row per TikTok video, ready for spreadsheets, dashboards, or an LLM.

FieldDescription
videoUrlCanonical tiktok.com link to the video
captionVideo caption / description
authorUsername, authorNickname, authorVerifiedCreator handle, name, verified flag
playCount, likeCount, commentCount, shareCount, collectCountFull engagement metrics
engagementRate(likes + comments + shares) / plays, rounded to 4 decimals
durationSecondsVideo length in seconds
hashtagsHashtags parsed from the caption
musicTitle, musicAuthor, musicIdSound / music track
coverUrl, imageUrlsThumbnail; image URLs for photo-carousel posts
createdAt, scrapedAtISO 8601 post time and scrape time
region, provider, searchType, queryProvenance and search context

When to use it

  • Content research — find the best-performing videos for a topic before you film.
  • Trend & viral discovery — set minPlays high and sortBy: most-liked to surface breakouts.
  • Competitor monitoring — track videos ranking for a brand keyword or hashtag.
  • Influencer sourcing — pull creators posting about your niche with real engagement numbers.
  • AI agents — a clean keyword-in, structured-JSON-out tool over the Apify MCP server.

Need user profiles, the "Top" tab, or general TikTok search across multiple result types? Use the companion TikTok Search Scraper. Need one video's full details or a creator's whole feed? Use TikTok Video Scraper. This actor is focused on searching videos by keyword or hashtag with metrics and filters.

Pricing

Pay-per-event, billed only for videos actually saved to the dataset:

  • Actor start — $0.00005 per run.
  • TikTok video found — from $0.004 per saved video (volume-tiered down to $0.003).

Videos removed by your quality filters are never charged. A 50-video run costs about $0.20.

Input

{
"searchQueries": ["nike running", "protein recipe"],
"hashtags": ["running"],
"maxResultsPerQuery": 50,
"sortBy": "most-liked",
"datePosted": "this-month",
"region": "US",
"minPlays": 100000,
"minLikes": 5000,
"maxDurationSeconds": 60,
"includePhotoPosts": true
}
InputDescription
searchQueriesRequired. List of keywords to search. Each runs its own paginated video search.
hashtagsOptional list of hashtags (with or without #) to pull video feeds for.
maxResultsPerQueryMax videos per query (1–10000, default 50).
sortByrelevance (default), most-liked, or date-posted. Keyword searches only.
datePostedRecency window for keyword searches. Default all-time.
regionTwo-letter ISO country code. Default US.
minPlays / minLikes / minComments / minSharesKeep only videos at or above these thresholds.
minDurationSeconds / maxDurationSecondsKeep only videos within this length range.
includePhotoPostsInclude TikTok image carousel posts (default true).
providerOrderBackend provider routing. Default scrapecreators-first.

Output example

{
"searchType": "keyword",
"query": "nike running",
"provider": "scrapecreators",
"videoId": "7412345678901234567",
"videoUrl": "https://www.tiktok.com/@runner/video/7412345678901234567",
"caption": "Best nike running shoes #running #nike",
"authorUsername": "runner",
"authorVerified": true,
"playCount": 250000,
"likeCount": 12000,
"commentCount": 340,
"shareCount": 210,
"collectCount": 90,
"engagementRate": 0.0502,
"durationSeconds": 32,
"hashtags": ["running", "nike"],
"musicTitle": "Original sound",
"createdAt": "2024-06-01T00:00:00.000Z",
"scrapedAt": "2026-07-01T12:00:00.000Z"
}

Use via API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("khadinakbar/tiktok-video-search-scraper").call(run_input={
"searchQueries": ["nike running"],
"maxResultsPerQuery": 50,
"sortBy": "most-liked",
"minPlays": 100000,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["videoUrl"], item["playCount"], item["engagementRate"])
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('khadinakbar/tiktok-video-search-scraper').call({
searchQueries: ['nike running'],
maxResultsPerQuery: 50,
sortBy: 'most-liked',
minPlays: 100000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use with AI agents (MCP)

Exposed through the Apify MCP server as khadinakbar/tiktok-video-search-scraper. Agents pass a keyword and optional filters and get back structured video rows with engagement metrics — ideal for "find the top TikTok videos about X" tasks.

FAQ

Do I need a TikTok account or cookies? No. This actor uses public data via managed providers.

Why did a run return fewer rows than my cap? Either TikTok had fewer matching videos, or your quality filters removed some. Filtered-out videos are logged in RUN_SUMMARY.filteredOut and are never charged.

What does a zero-result run mean? The keyword genuinely had no matches (or none passed your filters). The run still finishes successfully with a clear status message. If every provider request failed instead, the run fails honestly with the errors in RUN_SUMMARY.providerErrors.

Can I search multiple keywords at once? Yes. Each entry in searchQueries (and each hashtag) runs its own search up to maxResultsPerQuery.

How is engagement rate calculated? (likes + comments + shares) / plays, rounded to 4 decimals. It is null when the play count is unavailable.

This actor collects only publicly available TikTok data. Use it in compliance with TikTok's Terms of Service, applicable data-protection laws (including GDPR and CCPA), and only for purposes you are authorized to pursue. You are responsible for how you use the collected data. It does not access private accounts, bypass authentication, or collect data behind a login.