Tiktok Viral Video Finder
Pricing
from $2.40 / 1,000 video results
Tiktok Viral Video Finder
TikTok Viral Video Finder finds high-performing TikTok videos by trend, keyword, hashtag, or creator, with views, likes, comments, shares, and viral scoring. Use it for content research, competitor monitoring, creator scouting, and trend analysis.
Pricing
from $2.40 / 1,000 video results
Rating
0.0
(0)
Developer
Delowar Munna
Maintained by CommunityActor stats
2
Bookmarked
31
Total users
4
Monthly active users
12 hours ago
Last modified
Categories
Share

Find TikTok videos that are accelerating before they become obvious. Search by keyword, hashtag, sound/music, creator, or trending — then get a ranked shortlist of viral clips, plus a breakdown of which sounds are driving them.
What this Actor does
Most scrapers return videos that look viral now (high totals). This one focuses on videos that are becoming viral — it derives rate-of-growth signals (views per hour, share rate, creator overperformance, recency) from each clip and ranks by a transparent breakout score. Output is flat, CSV-friendly rows for datasets, Sheets, BI tools, and AI pipelines.
Output preview
| Video | Age | Views/hr | Shares/1K | Trend stage | Breakout |
|---|---|---|---|---|---|
| Example A | 18h | 31,200 | 48 | Accelerating | 92 |
| Example B | 3d | 8,400 | 21 | Rising | 78 |
| Example C | 11h | 5,900 | 56 | Emerging | 81 |
Discovery — one search box
Put everything in the single Search field (queries), one entry per line — the type is detected automatically, and you can mix them freely:
- a keyword or niche —
skincare routine - a #hashtag or hashtag URL —
#beautytok - an @creator or profile URL —
@mikaylanogueira - a sound/music URL or ID —
https://www.tiktok.com/music/…-7123…
Leave it empty (or tick Include Trending Feed) to pull the public trending feed.
Viral presets (the easy button)
Set viralPreset and it tunes the ranking and recency for you — no need to touch any thresholds:
- fast-rising — young videos climbing fast, ads excluded
- small-creator-breakouts — clips far outperforming the creator's follower base
- most-shared — sorted by shares, high share rate
- competitor-winners — best recent posts from your listed creators
- early-emerging — very young clips already picking up speed
- exclude-established — drop older, already-saturated posts
Quick start
{"queries": ["#beautytok", "skincare routine"],"viralPreset": "fast-rising","maxVideos": 30}
Find every viral clip using a specific sound (just paste the URL):
{"queries": ["https://www.tiktok.com/music/original-sound-7123456789012345678"],"maxVideos": 50,"sortBy": "breakoutScore"}
Input summary
Discovery: queries (one box — keywords, #hashtags, @creators, sound/music URLs, auto-detected), includeTrending
Filters: maxVideos (default 50), country, timePeriod (1d / 7d / 30d / 90d / all — default all = no cutoff; when set, a strict publication-date cutoff for searches, trending feed exempt), sortBy (breakoutScore / viewsPerHour / playCount / likeCount / commentCount / shareCount / createTime)
Advanced Filtering: minViews, minShares, minEngagementRate (percentage, e.g. 5 for 5%), minFollowers / maxFollowers (creator follower range, best-effort), languageHint (Language), verifiedCreatorsOnly, excludeAds (default on). Using any filter in this section (changing it from its default) adds a one-time advanced-filtering charge for the run — see Pricing.
Proxy, scraping infrastructure, deduplication, scoring, and diagnostics are handled automatically — there are no execution or proxy settings in the form. (Advanced fields like includeScoring, deduplicateVideos, or a custom proxyConfiguration remain accepted via the API for power users.)
Output (one row per video)
Core: videoId, videoUrl, caption, createTime, durationSeconds, videoThumbnailUrl, playCount, likeCount, commentCount, shareCount, saveCount
Creator attribution: creatorUsername, creatorProfileUrl, creatorId, creatorDisplayName, creatorVerified, creatorFollowersCount, creatorFollowingCount, creatorLikesCount
Sound: soundTitle, soundId, soundAuthor
Classification & lineage: hashtags, mentions, region, language, isAd, discoveredVia, sourceKeywords, sourceHashtags, sourceSeedCreators, sourceCountry, sourceTimePeriod, discoveryCount
Velocity: ageHours, viewsPerHour, likesPerHour, commentsPerHour, sharesPerHour, likesPer1000Views, commentsPer1000Views, sharesPer1000Views, viewToFollowerRatio, trendStage
Breakout: breakoutScore (0–100), scoreConfidence, scoreComponents, viralScore (alias of breakoutScore), viralScoreReason, engagementRateApprox, velocityHint, isRecent, isBreakoutCandidate, qualificationBucket, qualificationReason
Run metadata: position, scrapedAt, isPartial, errorType, errorMessage
Most-used sounds
Every run also writes a ranked breakdown of the sounds driving the results — "this sound is used most, then the 2nd…" — to the TRENDING_SOUNDS key-value record (and the top 10 in SUMMARY.trendingSounds). Each entry: rank, soundId, soundTitle, soundAuthor, videoCount, totalViews, avgBreakoutScore, topVideoUrl.
Output views
Dataset tabs: overview, breakout (highest breakout scores + confidence + trend stage), fastestGrowing (by views/likes/shares per hour), lineage, qualification, errors.
How the breakout score works
breakoutScore is a transparent blend of six named components, all returned in scoreComponents:
| Component | Weight | Signal |
|---|---|---|
viewMomentumScore | 30% | views per hour |
shareIntentScore | 20% | shares per 1,000 views |
engagementQualityScore | 15% | engagement rate |
creatorOverperformanceScore | 15% | views ÷ followers |
recencyScore | 15% | how recently posted |
discoveryOverlapScore | 5% | found via multiple sources |
scoreConfidence drops to low when a post date is unavailable (which disables the velocity components). Because each video is observed once per run, velocity is inferred from the video's age, not measured across runs.
Pricing
Pay-per-event:
video-result— charged once per returned video row.advanced-filtering— charged once per run when you apply any Advanced Filtering control (any field in that section set to a non-default value). Leave them at their defaults and this is not charged.
Both respect your spending limit and stop billable output when the charge limit is reached.
🚦 Proxy policy
Discovery runs through a signed API (browserless) for reliability — TikTok gates guest browser search, so results are fetched via a hosted signer rather than scraped from a headless page. The proxy settings below apply to the fallback browser mode (used when the signer isn't configured).
Use Apify Datacenter proxy or no proxy for normal runs — both work reliably for TikTok discovery pages (explore / search / hashtag / sound / creator) at this actor's conservative concurrency. The actor also blocks the heavy page bytes (images, video, fonts) so only the data we parse is fetched, keeping bandwidth low; stylesheets and scripts still load so pages render and behave normally.
Apify Residential proxy is not supported. The actor will fail at startup if apifyProxyGroups includes RESIDENTIAL. Reason: in pay-per-event actors, residential bandwidth is billed to the developer, not the run user, so a single bandwidth-heavy run could exceed the per-result event revenue.
If you genuinely need residential routing, supply your own residential provider via the proxy editor's Custom proxy URLs field — that traffic goes through your provider, not Apify, and is unaffected:
http://user:pass@proxy.iproyal.com:12321http://user:pass@proxy.brightdata.com:22225http://user:pass@proxy.oxylabs.io:7777
Use cases
- viral/trend content discovery and monitoring
- finding every clip riding a trending sound
- competitor and niche tracking
- UGC and creative inspiration
- reporting, analytics, and AI pipelines
Notes and limitations
- Public TikTok data only. Breakout/velocity scores are heuristics, not official metrics.
- Available fields vary by discovery path and TikTok response shape.
countryis a soft preference — it ranks local clips first and never removes videos (TikTok rarely tags region).languageHintis best-effort and only excludes rows when TikTok supplies a real language. timePeriodis a strict publication-date cutoff for searches (keyword / hashtag / sound / creator) — videos older than the window are excluded (you get fewer results rather than older filler). Chooseallto disable it. Clips with an unknown post date are kept. The trending feed is exempt (trending is current by nature; TikTok's explore surface returns evergreen-popular clips).- Follower filters are best-effort: clips where TikTok didn't return a follower count are retained. Explicit filter values override any preset. If Minimum Creator Followers exceeds Maximum, the range is ignored and a warning is logged.
- Proxy is handled internally (Apify datacenter by default) — you don't configure proxies, sessions, or cookies. Each run logs a
Filter funnelline showing exactly why videos were dropped.
Changelog
0.2
- Single Search box that auto-detects keywords, #hashtags, @creators, and sound/music URLs (one field for all discovery types).
- Sound/music discovery plus a most-used-sounds breakdown (
TRENDING_SOUNDS). - Breakout scoring with transparent components, velocity fields, and trend stage;
viralScorekept as an alias. - Simplified form:
Time Periodis now a dropdown (1d/7d/30d/90d/all), a strict cutoff for searches (trending feed exempt); the filters section is Advanced Filtering with only useful discovery filters; execution/diagnostic/proxy controls hidden and handled internally. A preset's velocity filters auto-relax if they would return zero. - Creator follower range (
minFollowers/maxFollowers), best-effort with unknown counts retained. countryis now a soft local-first ranking preference (never drops videos); aFilter funnellog explains every dropped video.- Creator-lead generation removed — this actor is focused on viral video + sound discovery.