TikTok Hashtag Analytics & Trends Scraper
Pricing
from $6.15 / 1,000 results
TikTok Hashtag Analytics & Trends Scraper
Scrape TikTok hashtag analytics from the public Creative Center: video views, post counts, week-over-week growth, related trending hashtags and top videos. Discover trending hashtags automatically or analyze your own list. Export JSON, CSV, Excel.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
TikTok Hashtag Analytics Scraper
Here is one real result, with every field the actor returns (the topVideos list is trimmed to 1 of 5 entries and the long signed cover/videoUrl/authorAvatar strings are omitted for readability; they are present and real in the live record):
{"imageUrl": "https://p19-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/okWcyAGSEAfdHepAQCtYAjhEkgR8QqJAIfqAIM~tplv-tiktokx-origin.image?dr=14582&nonce=19370&refresh_token=b8378de323a24adead0f6d934713502d&x-expires=1786975200&x-signature=fEPQtpsXsMD6wImL1NKcpUTg4BY%3D&idc=my&ps=13740610&shcp=317596d8&shp=c6b69ba0&t=4d5b0474","hashtagName": "christmas","url": "https://ads.tiktok.com/creative/top-hashtag/US/christmas","videoViews": 21443442654,"videoViewsWow": 0.5,"postCount": 4266793,"postCountWow": 0.63,"region": "US","trend": "rising","avgViewsPerPost": 5026,"relatedHashtagCount": 6,"dataUpdatedAt": "2026-01-06T10:30:41.000Z","relatedHashtags": [{"name": "strangerthings", "videoViews": 14329378471},{"name": "navidad", "videoViews": 11432070915},{"name": "strangerthings5", "videoViews": 7814453676},{"name": "mlbb", "videoViews": 6859176816},{"name": "natal", "videoViews": 3703777596},{"name": "2026", "videoViews": 7585239277}],"topVideos": [{"title": "Christmas Bow String Pull Game! 🎁 #game #family #christmas #holiday #party","url": "https://www.tiktok.com/@tiktok/video/7568513969581837623","views": 183379002,"likes": 9775352,"comments": 60328,"shares": 894919,"author": "bensonbros","authorUrl": "https://www.tiktok.com/@bensonbros","videoId": "7568513969581837623","engagementRate": 5.852,"creatorMarketplaceUrl": "https://ads.tiktok.com/creative/creatormarketplace/creator-profile/7319246288531226670"}],"observedAt": "2026-08-10T14:04:05.167Z","error": null}
The most complete TikTok hashtag analytics scraper available. It returns every metric the public trend index exposes for each hashtag, including total video views and posts with week-over-week growth, average views per post, related trending hashtags, and the top videos (views, likes, comments, shares, author), and gives you region, sorting, and filter controls to surface exactly the trends you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the TikTok public hashtag trend index for the region you choose. You can hand it specific hashtags to analyze, or leave the list empty and let it start from trending hashtags and follow the related-hashtag graph to discover more. For each hashtag it writes one normalized record with total video views and posts (plus week-over-week growth), average views per post, trend direction, related hashtags, and, when withDetails is on, the top videos with their engagement metrics and author. It supports sorting and filters (rising-only, minimum views/posts). Missing source values are returned as null, and hashtags are de-duplicated.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 trending US hashtags with related tags and top videos.
{"maxHashtags": 10,"withDetails": true,"expand": true,"region": "US"}
To analyze specific hashtags, fill hashtags (for example ["booktok", "gymtok"]) and turn expand off. Only hashtags in TikTok's public trend index return data. Free Apify plans are capped at 10 hashtags per run.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
hashtags | string[] | no | (trending) | Specific hashtags to analyze, with or without #, for example booktok, gymtok. Leave empty to start from trending. |
expand | boolean | no | true | Follow the related-hashtag graph to discover more trending hashtags until the max is reached. Turn off to analyze only the hashtags you provided. |
withDetails | boolean | no | true | Add related hashtags and top videos (views, likes, comments, shares, author) for each hashtag. Turn off for metrics-only output. |
region | enum | no | US | Market/language context for the hashtag pages. 32 markets. Note TikTok reports global view and post counts regardless of region. |
sortBy | enum | no | (none) | Order results (highest first): videoViews, postCount, videoViewsWow, postCountWow, or avgViewsPerPost. Empty streams in discovery order. |
onlyRising | boolean | no | false | Keep only hashtags whose views grew week over week. |
minVideoViews | integer | no | (none) | Drop hashtags with fewer total video views than this. |
minPostCount | integer | no | (none) | Drop hashtags with fewer posts than this. |
maxTopVideos | integer | no | (all) | Cap how many top videos are returned per hashtag (source provides up to 5). |
lang | string | no | en | Language code for hashtag and video text, for example en, es, pt, ja. |
maxHashtags | integer | no | 10 | Maximum number of hashtags to collect. Free Apify plans are capped at 10 per run. |
aiTrend | boolean | no | false | Paid AI add-on: add a momentum read, plain-language trend summary, marketing recommendation and best-fit niches per hashtag. Charged only on success. Disabled on the free plan. |
Output reference
One dataset item per hashtag. Types: string, number, integer, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
hashtagName | string | Hashtag name without the #. |
url | string | Creative Center top-hashtag page URL. |
imageUrl | string | Hashtag cover image URL. |
videoViews | integer | Total global video views for the hashtag. |
videoViewsWow | number | Week-over-week views growth (fraction). |
postCount | integer | Total posts using the hashtag. |
postCountWow | number | Week-over-week post-count growth (fraction). |
region | string | Region context of the query. |
trend | string | Trend direction, for example rising. |
avgViewsPerPost | integer | Average views per post. |
relatedHashtagCount | integer | Number of related hashtags returned. |
topVideoAvgEngagementRate | number | Average engagement rate across the top videos, or null. |
aiMomentum | string | AI momentum label (surging, rising, steady, cooling, declining). Present only with aiTrend. |
aiTrendSummary | string | AI plain-language interpretation of the hashtag's trend. Present only with aiTrend. |
aiRecommendation | string | AI marketing recommendation for the hashtag. Present only with aiTrend. |
aiBestFor | string[] | AI-suggested best-fit audience/content niches. Present only with aiTrend. |
dataUpdatedAt | string | ISO 8601 timestamp the source last updated the metrics. |
relatedHashtags | object[] | Related trending hashtags; each entry has name and videoViews. |
topVideos | object[] | Top videos (detail fetch); each has title, url, views, likes, comments, shares, author, authorUrl, videoId, engagementRate, cover, videoUrl, authorAvatar, creatorMarketplaceUrl. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"maxHashtags": 10, "withDetails": true, "expand": true, "region": "US"}), with topVideos trimmed to one entry and its long signed URLs omitted for readability:
{"hashtagName": "christmas","url": "https://ads.tiktok.com/creative/top-hashtag/US/christmas","videoViews": 21443442654,"videoViewsWow": 0.5,"postCount": 4266793,"postCountWow": 0.63,"region": "US","trend": "rising","avgViewsPerPost": 5026,"relatedHashtagCount": 6,"dataUpdatedAt": "2026-01-06T10:30:41.000Z","relatedHashtags": [{"name": "strangerthings", "videoViews": 14329378471},{"name": "navidad", "videoViews": 11432070915}],"topVideos": [{"title": "Christmas Bow String Pull Game! 🎁 #game #family #christmas #holiday #party","url": "https://www.tiktok.com/@tiktok/video/7568513969581837623","views": 183379002,"likes": 9775352,"comments": 60328,"shares": 894919,"author": "bensonbros","videoId": "7568513969581837623","engagementRate": 5.852}],"observedAt": "2026-08-10T14:04:05.167Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~tiktok-hashtag-analytics-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"region":"US","sortBy":"videoViewsWow","onlyRising":true,"maxHashtags":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~tiktok-hashtag-analytics-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"hashtags":["booktok","gymtok"],"expand":false,"withDetails":true}'
Apify CLI:
apify call scrapers_lat/tiktok-hashtag-analytics-scraper \--input '{"region":"BR","lang":"pt","minVideoViews":1000000,"maxHashtags":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
This actor uses pay-per-event billing. You are only charged for the events below. See the pricing tab for current prices.
| Event | When it is charged |
|---|---|
apify-actor-start | Once per run, on every run (including free-plan runs), to cover the run's base compute. |
result | Per hashtag analytics record returned. |
details | Per record that includes the related trending hashtags and top videos (only when withDetails is on and detail data is present). |
ai_trend | Per hashtag enriched by the optional AI trend read (aiTrend), charged only when a usable AI result is produced. Off by default. Disabled on the free plan. |
- No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs return no records. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 result records per run (an unset
maxHashtagsstill caps at 10 for free users). Theai_trendadd-on is disabled on the free plan. Upgrade for highermaxHashtagsand AI enrichment.
FAQ and troubleshooting
A run returned 0 records. Why?
The hashtags you passed are not in TikTok's public trend index, or the filters (onlyRising, minVideoViews, minPostCount) removed everything. Leave hashtags empty for trending discovery, or loosen the filters. Zero-result runs are not charged.
Do view and post counts change with region?
No. TikTok reports global view and post counts regardless of the region context; region changes which market's trend pages are read.
How do I only see trends that are growing?
Set onlyRising to true, or sort by videoViewsWow.
Why is topVideos empty?
withDetails was off, or the source did not publish top videos for that hashtag. Missing source values are returned as null or an empty list, never invented.
Do the video URLs expire? Yes. The signed cover and video URLs are time-limited by TikTok's CDN. Download promptly after a run.
Is this an official TikTok tool? No. This actor is independent and has no affiliation with TikTok or ByteDance. It reads only data that is publicly available in the TikTok Creative Center. Use it in accordance with the TikTok terms of service.
Related scrapers
- TikTok Creative Center Scraper: top-performing TikTok ads with metrics.
- TikTok Shop Product Scraper: TikTok Shop products with prices and sales.
- TikTok Post Generator Tool: generate TikTok post ideas and captions.
- Douyin Scraper: videos and metrics from Douyin.
- Google Ads Transparency Scraper: advertiser creatives from Google's ad library.
- Google News Scraper: news coverage of trends and brands.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with TikTok or ByteDance. Accesses only publicly available TikTok hashtag data. Use in accordance with the TikTok terms of service.
