Tiktok Trend Discovery Scraper
Pricing
from $1.60 / 1,000 discovery results
Tiktok Trend Discovery Scraper
TikTok Trend & Discovery Scraper extracts trending TikTok videos, hashtags, creators, and discovery data. Use it to monitor trends, find viral content early, analyze momentum, and power research, alerts, analytics, and AI workflows.
Pricing
from $1.60 / 1,000 discovery results
Rating
0.0
(0)
Developer

Delowar Munna
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
TikTok Trend & Discovery Scraper
Discover what's trending on TikTok — scrape hashtags, topics, and viral videos into structured datasets for research, content planning, and AI analysis.

What does this actor do?
TikTok Trend & Discovery Scraper is an Apify Actor that helps you discover trending content on TikTok by scraping search results and hashtag pages. It collects structured, analytics-ready data you can use for trend monitoring, content ideation, competitive research, and AI-powered workflows.
It extracts two types of records:
- Video records — video metadata, engagement metrics (plays, likes, comments, shares, saves), author info, hashtags, and computed scores
- Hashtag records — hashtag entity data with view counts, video counts, and descriptions
Every record is tagged with the input query that produced it, making it easy to compare results across keywords and hashtags.
Why use this actor?
- Trend intelligence, not just scraping — discover what's trending across keywords, hashtags, and topics in a single run
- Normalized output — consistent schema across all discovery modes, ready for CSV, JSON, or API consumption
- Engagement scoring — computed fields like
engagementTotal,engagementRateProxy, anddiscoveryScorehelp you identify viral content instantly - Multi-source discovery — combine keyword searches and hashtag pages in one run
- AI-ready datasets — feed results into clustering, summarization, trend scoring, and reporting pipelines
- Part of a suite — pairs with TikTok Video Scraper and TikTok Comment Scraper for a full discovery-to-analysis workflow
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["trending"] | Keywords or topics to discover trending content for |
hashtags | string[] | ["tesla"] | Hashtags to inspect (with or without #) |
startUrls | object[] | [] | Optional TikTok search or hashtag URLs to scrape directly |
resultsPerQuery | integer | 50 | Maximum number of results per keyword or hashtag (1–500) |
includeVideos | boolean | true | Include discovered video records in output |
includeHashtags | boolean | true | Include hashtag entity records in output |
sortBy | string | "default" | Sort order for search results: default, relevance, latest, popular |
debugMode | boolean | false | Enable verbose logging |
proxyConfiguration | object | — | Apify proxy configuration (residential recommended) |
Sample input: Keyword discovery
Discover trending content around specific topics.
{"searchQueries": ["ai tools", "productivity hacks", "skincare routine"],"resultsPerQuery": 30,"includeVideos": true,"includeHashtags": true,"sortBy": "popular","proxyConfiguration": {"useApifyProxy": true}}
Sample input: Hashtag + keyword mixed discovery
Combine hashtag and keyword discovery in a single run to compare trends across topics.
{"searchQueries": ["electric vehicles", "sustainable energy"],"hashtags": ["tesla", "rivian", "evlife"],"resultsPerQuery": 50,"includeVideos": true,"includeHashtags": true,"sortBy": "default","proxyConfiguration": {"useApifyProxy": true}}
Output
The actor outputs a normalized dataset where every record has a recordType field (video or hashtag). Results are available in four dataset views:
- Discovery Overview — combined view of all record types with key metrics
- Videos — full video details with engagement and author data
- Hashtags — hashtag entity records with view and video counts
- Engagement — video engagement metrics and computed scores

Video record example
{"recordType": "video","inputType": "searchQuery","inputValue": "trending","position": 1,"collectedAt": "2026-03-15T04:07:31.271Z","sourceUrl": "https://www.tiktok.com/search/video?q=trending","sourceType": "search","videoId": "7572437550057540894","videoUrl": "https://www.tiktok.com/@rch._.dance/video/7572437550057540894","description": "Fun trio dance trend 2025 #fypシ゚viral #trending #trio #dancetrend #funny","createTime": "2025-11-14T04:45:37.000Z","duration": 15,"region": null,"language": "en","musicId": "7428648255015455520","musicTitle": "original sound","musicAuthorName": "Maddie Borge","authorId": "7409315146052912174","authorUniqueId": "rch._.dance","authorNickname": "RCH_dance","authorProfileUrl": "https://www.tiktok.com/@rch._.dance","authorAvatarUrl": "https://p16-common-sign.tiktokcdn-us.com/...","authorVerified": false,"authorFollowerCount": 14400,"authorHeartCount": 1200000,"authorVideoCount": 7,"likeCount": 1100000,"commentCount": 4388,"shareCount": 187200,"playCount": 27600000,"saveCount": 271300,"repostCount": 0,"hashtags": ["fypシ゚viral", "trending", "trio", "dancetrend", "funny"],"mentions": [],"thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/...","coverUrl": "https://p16-common-sign.tiktokcdn-us.com/...","isAd": false,"isPinned": false,"isSponsored": false,"searchKeyword": "trending","matchedHashtag": null,"engagementTotal": 1562888,"engagementRateProxy": 0.056626,"discoveryScore": 8.01}
Hashtag record example
{"recordType": "hashtag","inputType": "hashtag","inputValue": "tesla","position": 1,"collectedAt": "2026-03-15T04:07:30.443Z","sourceUrl": "https://www.tiktok.com/tag/tesla","sourceType": "hashtag","hashtag": "tesla","hashtagTitle": "tesla","hashtagUrl": "https://www.tiktok.com/tag/tesla","viewCount": 45200000000,"videoCount": 12500000,"coverImageUrl": null,"description": null}
Output fields
Common fields (all records)
| Field | Description |
|---|---|
recordType | "video" or "hashtag" |
inputType | "searchQuery", "hashtag", or "url" |
inputValue | The original input that produced this record |
position | Rank/order in discovery results |
collectedAt | ISO 8601 timestamp of extraction |
sourceUrl | The URL that was scraped |
sourceType | "search" or "hashtag" |
Video fields
| Field | Description |
|---|---|
videoId | TikTok video ID |
videoUrl | Full video URL |
description | Video caption/description |
createTime | Video creation time (ISO 8601) |
duration | Duration in seconds |
region | Region/country code (best-effort, may be null) |
language | Content language (if available) |
musicId, musicTitle, musicAuthorName | Sound/music info |
authorId, authorUniqueId, authorNickname | Author identification |
authorProfileUrl, authorAvatarUrl | Author links |
authorVerified | Verified badge status |
authorFollowerCount, authorHeartCount, authorVideoCount | Author stats (if available) |
playCount | Play/view count |
likeCount, commentCount, shareCount | Engagement counts |
saveCount, repostCount | Save and repost counts (if available) |
hashtags | Hashtags used in the caption |
mentions | Users mentioned in the caption |
thumbnailUrl, coverUrl | Video cover images |
isAd, isPinned, isSponsored | Content flags |
searchKeyword | The search keyword that found this video (null for hashtag discovery) |
matchedHashtag | The hashtag that found this video (null for keyword discovery) |
engagementTotal | Sum of likes + comments + shares + saves |
engagementRateProxy | engagementTotal / playCount |
discoveryScore | Weighted viral score: (shares*3 + saves*2 + comments*1.5 + likes) / plays * 100 |
Hashtag fields
| Field | Description |
|---|---|
hashtag | Hashtag name (without #) |
hashtagTitle | Display title |
hashtagUrl | Full hashtag page URL |
viewCount | Total view count |
videoCount | Total video count (if available) |
coverImageUrl | Cover image URL (if available) |
description | Hashtag description (if available) |
Use cases
- Content ideation — find trending hashtags and videos in a niche before creating content
- Trend monitoring — track recurring keywords, hashtags, or topics across repeated scheduled runs
- Competitive research — see what types of content are performing around a topic
- Influencer discovery — identify creators associated with emerging trends
- E-commerce/product discovery — detect trending products, categories, and buying signals
- Campaign validation — check whether a hashtag or theme is growing before investing in content or ads
- AI/LLM workflows — feed discovered videos and hashtags into clustering, summarization, trend scoring, and reporting pipelines
Tips and best practices
- Use
inputValueto trace results — every record includes the original query or hashtag that produced it, making cross-topic comparison easy - Start small — use
resultsPerQuery: 10–20for initial exploration, then increase for deeper collection - Combine inputs — mix
searchQueriesandhashtagsin a single run to compare keyword trends with hashtag trends - Schedule for monitoring — run on a schedule to track trend momentum over time
- Use
discoveryScore— higher scores indicate stronger viral signals (weighted toward shares, saves, and comments) - Filter by
recordType— use the dataset views or filter byrecordTypeto separate video and hashtag records
Proxy configuration
Residential proxies are recommended for reliable TikTok scraping. TikTok applies rate limiting and bot detection that datacenter proxies may not handle well.
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Integrations
Connect this actor with other tools and services:
- Google Sheets — export trend data to spreadsheets for team dashboards
- Slack/email — set up notifications when new trends are detected
- Webhooks — trigger downstream workflows when a run completes
- API — access results programmatically via the Apify API
- Other actors — feed discovered video URLs into TikTok Video Scraper for deeper video analysis
FAQ
How many results can I get per query? Up to 500 per keyword or hashtag. The actual number depends on how much data TikTok returns for that query.
Why are some fields null?
Fields like region, language, saveCount, and repostCount depend on what TikTok includes in its page data. They are extracted on a best-effort basis.
What is the difference between searchKeyword and matchedHashtag?
searchKeyword is populated when a video was discovered via a keyword search. matchedHashtag is populated when discovered via a hashtag page. Use inputValue as a universal field that is always populated regardless of discovery method.
Can I scrape specific video pages? This actor is designed for trend discovery (search + hashtags). For scraping specific video URLs, use TikTok Video Scraper.
How is discoveryScore calculated?
discoveryScore = (shares * 3 + saves * 2 + comments * 1.5 + likes) / plays * 100. It weights actions that signal stronger intent (sharing and saving) higher than passive engagement (likes).