Tiktok Trending Hashtags Analytics Scraper - Videos Per Tag
Pricing
Pay per usage
Tiktok Trending Hashtags Analytics Scraper - Videos Per Tag
Scrape real time TikTok trending hashtags with analytics, including views, posts, growth, related tags, and engagement insights. Ideal for tracking viral topics, researching niches, analyzing trends, and supporting content strategies for marketers, creators, and brands.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
TikTok Trending Hashtag Scraper — Videos and Creator Expansion
Get TikTok's live trending-hashtag board for any supported country and time window, then every video posted under each of those hashtags — plays, likes, comments, shares, post date, duration, sound and co-occurring hashtags — plus the extra clips a creator-expansion pass finds that TikTok's own tag page never lists. Every response is structured JSON, ready to pass to an LLM, load into a spreadsheet, or feed a monitoring pipeline. No TikTok login, cookies or API key required. Run it once for a snapshot, or on a schedule to watch which hashtags rise and which videos ride them.
What is the TikTok Trending Hashtag Scraper?
It is an Apify Actor that reads TikTok's public Creative Center trending-hashtag board for a country + time window, then sweeps the videos posted under each of those hashtags and enriches every clip with its real engagement numbers. Where this scraper differs from a plain hashtag-analytics tool is the creator-expansion pass: after collecting the videos TikTok's own tag page lists, it opens the profile of every clip's author plus the board's named creators and keeps any additional recent clips whose caption actually carries the hashtag — clips the tag page itself does not surface. No TikTok account, login or API key is required; every route this Actor calls is public.
Key capabilities, read straight from the input schema:
- Trending board ranking for a country + time window, with period views, period posts, board rank and (in analytics mode) a popularity trend curve and the board's named creators
- Video sweep per hashtag from the tag's own embed page (
include_all_tag_videos) - Creator-expansion pass that follows every video author's and board creator's profile for extra tag-carrying clips (
expand_via_creators) - Per-video enrichment — likes, comments, shares, post timestamp, duration, sound, location, co-occurring hashtags (
fetch_video_details) - Custom hashtag lookups for tags that aren't currently on the board (
result_type: "analytics"+hashtag_list) - Post-fetch filters for minimum plays and a "posted after" date, applied on top of what TikTok itself returns
What data can you get with the TikTok Trending Hashtag Scraper?
The Actor writes two row types to one dataset, distinguished by rowType, plus an uncharged diagnostic row when a run finds nothing.
| Result type | Extracted fields | Primary use case |
|---|---|---|
Hashtag board row (rowType: "hashtag") | hashtag_id, hashtag_name, rank, video_views, publish_cnt, lifetimeViewCount, lifetimeVideoCount, industryNames, trendPointCount, topCreatorHandles, videosFound, videosFromTagPage, videosFromCreatorExpansion, analytics (trend curve, industry ids, top creators) | Hashtag research, trend tracking, industry classification |
Tag-page video (rowType: "video", foundVia: "tag_embed") | videoId, videoUrl, caption, playsCount, likesCount, commentsCount, sharesCount, engagementRate, createTimeIso, durationSeconds, author and sound fields, coOccurringHashtags | The baseline content sample TikTok's own tag page already lists |
Creator-expansion video (rowType: "video", foundVia: "creator_expansion") | Same video fields, plus foundViaCreator naming the profile it was found on | The extra clips TikTok's tag page never surfaces |
Accounting row (rowType: "accounting") | errorReason, errorMessage | Run diagnostics — pushed uncharged, never billed |
Creator-expansion videos
This is the capability the competing TikTok hashtag scrapers reviewed for this README do not document: TikTok's own tag page (embed/tag/<name>) returns a small, fixed set of videos with no pagination cursor. This Actor's creator-expansion pass opens the profile of every one of those videos' authors, plus the board's named creators, and keeps any of their other recent clips whose caption genuinely contains the hashtag — adding videos the tag page itself never listed. Each extra clip is tagged so you can tell it apart from the baseline sample:
{"rowType": "video","hashtag_name": "quietonthecreek","videoId": "7663246001033022750","foundVia": "creator_expansion","foundViaCreator": "kalakaflakaflame","playsCount": 6800000,"coOccurringHashtags": ["quietonthecreek", "funny", "tentoesdown"]}
videosFromTagPage and videosFromCreatorExpansion on the parent hashtag row tell you the split for that tag, so you always know how much of your dataset came from each source.
Board analytics
When result_type is top100_with_analytics (the default) or analytics, each hashtag row's analytics object carries video_views, publish_cnt, rank, industry_ids, a trend array (one point per day in the ranking window) and a creators array naming the 3 creators TikTok associates with the tag. In top100 mode this object is deliberately left empty — TikTok's board endpoint does not return it unless analytics are requested.
Why not build this yourself?
TikTok publishes no self-serve, unsigned API for either the trending-hashtag board or hashtag video search — the Creative Center trends page that this data comes from is a web application, not a documented endpoint, and it is gated behind a TLS/JA3 fingerprint check (a non-browser client gets a 200-status response with an empty payload instead of a clear rejection). Reaching it reliably means impersonating a real browser's TLS handshake, re-deriving the page's internal query shape whenever TikTok ships a frontend change, and separately handling the tag page, creator profile pages and video pages — each with its own embedded-JSON extraction. That is ongoing reverse-engineering and maintenance work, not a stable integration. This Actor absorbs that work: it maintains the TLS impersonation, the page-state extraction and the three-surface sweep so you only supply a country, a window and, optionally, a hashtag list.
What is the difference between hashtag analytics and hashtag video scraping?
Hashtag analytics is a summary: view counts, post counts, a popularity trend curve, and — on some tools — audience demographics for a hashtag, with no actual video content attached. Hashtag video scraping returns the individual posts themselves: captions, engagement numbers, creators, sounds. Readers researching TikTok hashtags for content or campaign planning often need both and assume one tool gives them both, but the two are not the same job: an analytics-only tool tells you a hashtag is trending, not what the videos riding it actually look like or say.
This Actor returns both in one run. Every hashtag gets its board-level analytics object (trend curve, industry classification, named creators) and a full set of rowType: "video" rows for the actual clips posted under it, enriched with real engagement numbers. You are not choosing between a hashtag-analytics tool and a video scraper — one dataset carries both row types, joined by hashtag_name.
How to scrape TikTok trending hashtags with this Actor?
- Open Tiktok Trending Hashtags Analytics Scraper - Videos Per Tag on its Apify Store listing and click Start, or call it programmatically with the Apify API /
apify_client. - Leave every input at its default to pull the current US 7-day board, or set
countryandtop100_periodto the region and window you want. No parameter is required. - Set your query controls:
result_type(board ranking only, ranking with full analytics, or a customhashtag_list),top100_industryfor a client-side industry filter, andinclude_all_tag_videos/expand_via_creators/fetch_video_detailsto decide how deep the video sweep goes. - Start the run.
total_hashtags,max_videos_per_hashtagandvideo_concurrencybound how much work each run does. - Download the results as JSON, CSV, Excel or XML from the Actor's Apify dataset, or read them straight from the API with
apify_client.
{"result_type": "top100_with_analytics","country": "US","top100_period": "7","expand_via_creators": true}
How to run multiple hashtag queries in one job
Set result_type to analytics and list the hashtag names (without #) in hashtag_list. Names that are currently on the live board keep their board metrics (rank, period views, trend curve); names that are not on today's board are still swept for videos through the tag page, with board-only metrics left null. This runs every requested hashtag in a single job rather than one run per tag.
⬇️ Input
All 16 input parameters are optional — the schema has no required fields. Every parameter, its type, default and real behaviour, copied from .actor/actor.json:
| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
result_type | No | string | Default "top100_with_analytics". Enum: "top100" (board ranking only, analytics stays {}), "top100_with_analytics" (ranking + trend curve, industry ids and the 3 named creators), "analytics" (restrict to the names in hashtag_list) | "top100_with_analytics" |
country | No | string | Default "US". 76 country codes accepted; only 27 are really served by TikTok's board — US, FR, DE, IT, ES, GB, AR, AU, BR, CA, CO, EG, ID, IL, JP, KR, MY, MX, PH, SA, SG, ZA, TW, TH, TR, AE, VN. Every other value, including "ALL", silently returns the US board upstream; the Actor reports this with countrySupported / countryFallbackApplied | "US" |
top100_period | No | string | Default "7". Enum: "7", "30", "90" (real windows that return different hashtags), "120" (accepted but silently served as the 7-day board — flagged with periodAliasApplied) | "7" |
analytics_period | No | string | Default "30". Enum: "7", "30", "120", "365", "1095". Legacy — kept so old run configurations keep working, but has no effect: the trend-curve length always follows top100_period, and 365 / 1095 do not exist upstream. Every row reports analyticsPeriodSupported: false | "30" |
top100_industry | No | string, nullable | Default "" (all industries). 21 enum values. Applied client-side against each hashtag's industry ids — TikTok has no server-side industry filter. Only 10 buckets ever actually appear on the public board: News & Entertainment, Sports & Outdoor, Games, Apparel & Accessories, Beauty & Personal Care, Travel, Food & Beverage, Education, Pets, Financial Services. Any other enum value is accepted, filters nothing, and sets industryFilterUnsupported: true | "Beauty & Personal Care" |
top100_new_on_board | No | boolean | Default false. Legacy — kept for backwards compatibility. TikTok ignores it server-side and publishes no "new on board" marker, so no row is filtered by it. Rows report newOnBoardSupported: false | false |
hashtag_list | No | array (stringList) | Default []. Hashtag names without #. Used when result_type is "analytics": names on today's board keep their board metrics; names not on the board are still swept for videos via the tag page, with board metrics left null | ["skincare", "cleanwithme"] |
total_hashtags | No | integer | Default 10, minimum 1, maximum 500. Upper bound on hashtag rows. TikTok's board hard-caps at 3 hashtags per region + window, so any value above 3 simply returns everything available | 10 |
include_all_tag_videos | No | boolean | Default true. On: every hashtag row is followed by one row per video found for that tag. Off: hashtag rows only | true |
max_videos_per_hashtag | No | integer | Default 25, minimum 1, maximum 100. Cap on video rows per hashtag. There is no cursor on any reachable route, so a higher number cannot create more supply than the tag actually has | 25 |
expand_via_creators | No | boolean | Default true. Opens the profile of every video author plus the 3 board-named creators and keeps their recent clips whose caption carries the exact hashtag. Adds roughly 10–13 requests per hashtag. Each extra clip is tagged foundVia: "creator_expansion" | true |
fetch_video_details | No | boolean | Default true. One extra request per video for likes, comments, shares, post date, duration, sound, location and co-occurring hashtags. Off returns only the play count and caption the listing already carries. Required by posted_after | true |
video_concurrency | No | integer | Default 8, minimum 1, maximum 16. Parallel requests for creator profiles and video details | 8 |
posted_after | No | string (datepicker) | Default "". YYYY-MM-DD or full ISO-8601. Post-fetch filter — TikTok accepts no date filter on any reachable route, so this is applied after fetching and automatically switches fetch_video_details on. Clips whose timestamp cannot be resolved are dropped | "2026-06-01" |
min_plays | No | integer | Default 0, minimum 0. Post-fetch filter on the play count from the listing, applied before the detail request, so it also saves requests. 0 = off | 50000 |
proxyConfiguration | No | object (proxy editor) | Default {"useApifyProxy": true}. Apify Proxy or your own URLs. Every route this Actor calls was verified working with no proxy, so the run tries a direct connection first and falls back to the proxy only if that fails | {"useApifyProxy": true} |
⚠️ Common pitfall
Raising total_hashtags above 3 or max_videos_per_hashtag past what a tag actually has will not produce more rows. TikTok's board publishes exactly 3 hashtags per country + window, and its tag page has no pagination cursor — these two inputs are ceilings on what the Actor will keep, not levers that create more upstream supply.
Example input using the actual parameter names:
{"result_type": "top100_with_analytics","country": "US","top100_period": "7","top100_industry": "","hashtag_list": [],"total_hashtags": 10,"include_all_tag_videos": true,"max_videos_per_hashtag": 25,"expand_via_creators": true,"fetch_video_details": true,"video_concurrency": 8,"posted_after": "","min_plays": 0,"proxyConfiguration": { "useApifyProxy": true }}
⬆️ Output
Results are typed, normalized JSON with a consistent schema across runs, written to the Actor's default dataset. Download them as JSON, CSV, Excel (XLSX) or XML directly from the Apify Console, or pull them with the API / apify_client. The dataset ships two views: Hashtags & videos — flat table (38 fields, the default) and Hashtag board only (20 fields, hashtag rows without the video-level columns) — both are display subsets; every key below is present on the underlying rows regardless of which view you're looking at.
Scraped results
[{"rowType": "hashtag","hashtag_id": "7658136161009565717","hashtag_name": "quietonthecreek","video_views": "234091727","publish_cnt": "123235","rank": 1,"analytics": {"video_views": "234091727","publish_cnt": "123235","rank": "1","industry_ids": ["23000000000"],"trend": [{ "time": 1783900800, "value": 84.2 }],"creators": [{ "handleName": "kalakaflakaflame" }]},"hashtagUrl": "https://www.tiktok.com/tag/quietonthecreek","boardRank": 1,"periodViews": 234091727,"periodPosts": 123235,"lifetimeViewCount": 419501372,"lifetimeVideoCount": 139085,"tagDescription": null,"industryNames": ["News & Entertainment"],"trendPointCount": 7,"topCreatorHandles": ["kalakaflakaflame", "lb.films8", "..maidiary"],"videosFound": 12,"videosFromTagPage": 10,"videosFromCreatorExpansion": 2,"videosReturned": 12,"creatorsScanned": 10,"creatorsResolved": 10,"videoSweepError": null,"countsArePrecise": false,"errorReason": null,"errorMessage": null,"scrapedAt": "2026-07-25T19:29:00+00:00","regionRequested": "US","regionUsed": "US","countrySupported": true,"countryFallbackApplied": false,"periodRequested": 7,"periodUsed": 7,"periodAliasApplied": false,"analyticsPeriodSupported": false,"newOnBoardSupported": false,"industryFilterApplied": false,"industryFilterUnsupported": false,"boardRowsPerSlice": 3,"postedAfterFilter": null,"minPlaysFilter": null,"filtersAppliedPostFetch": false},{"rowType": "video","hashtag_id": "7658136161009565717","hashtag_name": "quietonthecreek","videoId": "7663246001033022750","videoUrl": "https://www.tiktok.com/@kalakaflakaflame/video/7663246001033022750","caption": "#quietonthecreek #funny #tentoesdown","playsCount": 6800000,"likesCount": 1900000,"commentsCount": 10200,"sharesCount": 363400,"engagementRate": 0.334353,"createTimeUnix": 1784324910,"createTimeIso": "2026-07-16T21:48:30+00:00","durationSeconds": 6,"videoWidth": 576,"videoHeight": 1024,"isAd": false,"isOriginalSound": true,"isPrivateItem": false,"locationCreated": "US","authorId": "6832032992321029126","authorHandle": "kalakaflakaflame","authorNickname": "Kala","authorUrl": "https://www.tiktok.com/@kalakaflakaflame","authorVerified": false,"authorFollowers": 2880,"authorFollowing": 340,"authorHearts": 91000,"authorVideoCount": 212,"authorBio": "creek life","soundId": "7635027477249280799","soundName": "original sound","soundAuthor": "Tez.","soundIsOriginal": true,"coOccurringHashtags": ["quietonthecreek", "funny", "tentoesdown"],"hashtagListSource": "challengeInfoList","coverUrl": "https://p16-sign.tiktokcdn.com/...","foundVia": "tag_embed","foundViaCreator": null,"detailsFetched": true,"detailError": null,"hashtagUrl": "https://www.tiktok.com/tag/quietonthecreek","boardRank": 1,"periodViews": 234091727,"periodPosts": 123235,"lifetimeViewCount": 419501372,"lifetimeVideoCount": 139085,"tagDescription": null,"industryNames": ["News & Entertainment"],"trendPointCount": 7,"topCreatorHandles": ["kalakaflakaflame", "lb.films8", "..maidiary"],"videosFound": 12,"videosFromTagPage": 10,"videosFromCreatorExpansion": 2,"creatorsScanned": 10,"creatorsResolved": 10,"videoSweepError": null,"videosReturned": null,"countsArePrecise": false,"errorReason": null,"errorMessage": null,"scrapedAt": "2026-07-25T19:29:00+00:00","regionRequested": "US","regionUsed": "US","countrySupported": true,"countryFallbackApplied": false,"periodRequested": 7,"periodUsed": 7,"periodAliasApplied": false,"analyticsPeriodSupported": false,"newOnBoardSupported": false,"industryFilterApplied": false,"industryFilterUnsupported": false,"boardRowsPerSlice": 3,"postedAfterFilter": null,"minPlaysFilter": null,"filtersAppliedPostFetch": false},{"rowType": "video","hashtag_id": "7658136161009565717","hashtag_name": "quietonthecreek","videoId": "7710982211334298113","videoUrl": "https://www.tiktok.com/@lb.films8/video/7710982211334298113","caption": "creek day #quietonthecreek","playsCount": 412000,"likesCount": 38200,"commentsCount": 611,"sharesCount": 940,"engagementRate": 0.09596,"createTimeUnix": 1784152110,"createTimeIso": "2026-07-14T21:48:30+00:00","durationSeconds": 14,"isAd": false,"locationCreated": "US","authorHandle": "lb.films8","authorVerified": false,"authorFollowers": 15400,"soundName": "original sound","soundAuthor": "lb.films8","coOccurringHashtags": ["quietonthecreek"],"foundVia": "creator_expansion","foundViaCreator": "lb.films8","detailsFetched": true,"countsArePrecise": false}]
If a run finds nothing — the board is unreachable, or every hashtag was removed by your filters — the Actor pushes a single uncharged rowType: "accounting" row carrying errorReason and errorMessage instead of failing silently, so a monitoring pipeline can distinguish "no data today" from "the run crashed."
How can I use the data extracted with this Actor?
- 📈 Social media managers and marketers: pull the current board for your target country, read
topCreatorHandlesand the video rows'caption,soundNameandcoOccurringHashtagsto shape content around what's actually working right now. - 🤖 AI engineers and LLM developers: an agent issues a run with a
countryandtop100_period, receives structured hashtag + video JSON back, and passes it to the model as grounded context for trend-aware content generation or summarization. - 📊 Market researchers: track
industryNamesandtopCreatorHandlesacross countries and windows to measure category share-of-voice and creator overlap between trending hashtags. - 🔬 Product and growth teams: use
videosFromCreatorExpansionversusvideosFromTagPageto gauge how tag-loyal a niche's creators are, andengagementRateper video to spot which content shapes are actually converting attention.
How do you monitor trending hashtags and video engagement over time?
Trend monitoring here means running the Actor on a schedule and diffing the results against the previous run, rather than trusting a single snapshot. TikTok's board rotates, so what changes between runs — which hashtags enter or drop off, and how the videos under a surviving hashtag perform — is the signal.
Compare these fields run over run: hashtag_name and rank on hashtag rows (entries and exits, and reordering within the top 3 for that region + window); videosFound / videosFromCreatorExpansion (whether creator-driven adoption of a tag is growing); and, on video rows, playsCount, likesCount, engagementRate and videoId (new clips appearing under a tag, and whether older ones are still gaining engagement). scrapedAt on every row timestamps the comparison point.
A practical loop: schedule a daily run per country you track, keep each run's dataset, and alert when a hashtag you follow drops out of hashtag_name entirely, or when a specific videoId's playsCount jumps sharply between two runs. This Actor has no built-in diffing — use Apify's Scheduler to trigger the runs, and compare the resulting datasets in your own pipeline or with a webhook that fires on each successful run.
Integrate this Actor and automate your workflow
This Actor works with any language or tool that can send an HTTP request, through the Apify API.
REST API with Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("<YOUR_USERNAME>/tiktok-trending-hashtags-every-video-using-tag").call(run_input={"country": "US","top100_period": "7","expand_via_creators": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item["rowType"] == "video":print(item["hashtag_name"], item["videoUrl"], item["playsCount"])
Scheduled monitoring and delivery
Set up a recurring run with an Apify Schedule — pick the country and window and let it run daily or weekly. There is no built-in webhook payload beyond Apify's platform-level run webhooks, which you can point at your own endpoint to trigger downstream processing whenever a run finishes.
Is it legal to scrape TikTok trending hashtag results?
Yes — this Actor reads TikTok's publicly accessible trending-hashtag board and video pages, the same content any visitor sees without logging in, and returns only that. Public web content is broadly scrapable in most jurisdictions, but two regimes still apply depending on what you do with the output. The trending board and video metadata (views, likes, hashtags, sounds) are public content data governed by TikTok's Terms of Service and, in the EU, database-rights considerations. The author-level fields on video rows — authorHandle, authorNickname, authorFollowers, authorBio — are personal data about the video's creator, so processing or storing them at scale should be evaluated under GDPR (EU) or CCPA (California) if your use touches those jurisdictions. Scraping for one-off research carries a different risk profile than bulk collection for AI training or resale. Consult your legal team for commercial use cases involving bulk data storage.
❓ Frequently asked questions
Which countries does the trending board actually support?
27 codes change the board's content: US, FR, DE, IT, ES, GB, AR, AU, BR, CA, CO, EG, ID, IL, JP, KR, MY, MX, PH, SA, SG, ZA, TW, TH, TR, AE and VN. The country input accepts 76 total codes for backwards compatibility, but anything outside that list of 27 — including "ALL" — silently returns the US board upstream. The Actor never hides this: it reports countrySupported and countryFallbackApplied on every row.
What result-type modes does the Actor support?
Three, set with result_type: "top100" returns board ranking only (analytics stays an empty object); "top100_with_analytics" (the default) adds the trend curve, industry ids and the 3 board-named creators; "analytics" restricts the run to the exact hashtag names you list in hashtag_list.
How does this Actor handle TikTok's anti-bot measures?
It impersonates a real browser's TLS/JA3 fingerprint on every request — chrome131 for the Creative Center trends loader and chrome99_android for the embed pages — using curl_cffi. The trends loader specifically is gated at the TLS layer: a non-impersonated client gets an HTTP 200 with a 49-byte empty payload instead of a clear block, so the impersonation is required just to get real data back, not to avoid a rate limit. No cookies, login or signed tokens are used on any of the four routes this Actor calls.
Does this Actor find videos that TikTok's own hashtag page doesn't list?
Yes — that's the creator-expansion pass (expand_via_creators, on by default). After collecting the videos on a hashtag's tag page, it opens the profile of every one of those videos' authors plus the board's 3 named creators, and keeps any other recent clips whose caption genuinely contains the hashtag. Those extra clips are tagged foundVia: "creator_expansion" with foundViaCreator naming the profile they came from, so you can always separate them from the tag page's own baseline sample (foundVia: "tag_embed").
How many results does this Actor return per query?
TikTok's board itself publishes exactly 3 trending hashtags per country + time window — total_hashtags (default 10, max 500) is a ceiling this Actor applies, not a lever that creates more upstream rows. Per hashtag, the tag page has no pagination cursor, so max_videos_per_hashtag (default 25, max 100) similarly caps what's kept rather than what's available; the creator-expansion pass is what actually adds more video rows beyond the tag page's fixed set.
How do I monitor trending hashtags over time with this Actor?
Schedule a recurring run per country with Apify Schedules, keep each run's dataset, and diff hashtag_name / rank between runs to catch entries and exits from the board, plus playsCount / engagementRate on video rows to catch which clips are gaining. scrapedAt on every row anchors the comparison to a point in time.
Does this Actor work with Claude, ChatGPT and AI agent frameworks?
It has no dedicated MCP server. It is callable as a standard HTTP endpoint through the Apify API or the apify_client SDK by any agent framework that can issue an HTTP request — an agent triggers a run with a country and window, receives structured hashtag + video JSON, and grounds its answer in that data.
How does this Actor compare to other TikTok hashtag scrapers?
As observed on their Apify Store listings, 2026-07-08: codebyte/tiktok-trending-hashtags-analytics returns hashtag-level analytics — trend curve, audience demographics, related hashtags — but no actual video content rows; this Actor returns both the board analytics and the individual videos posted under each tag. newpo/super-tiktok-scraper scrapes videos by hashtag and by user but documents no trending-board discovery, industry classification or creator-expansion step. rp_openpro.ai/tiktok-ultimate-scraper covers a broader surface (profiles, search, follower graphs, trend discovery across hashtags/sounds/creators/videos) but its documented output fields do not include a creator-expansion pass or the explicit countrySupported / periodAliasApplied / industryFilterUnsupported truth-in-input flags this Actor reports. Pricing and run counts for these Actors are not reproduced here beyond what each lists on its own page — check their current listings directly.
Can I use this Actor without managing proxies or TikTok credentials?
Yes. No TikTok account, cookies or API key are needed for any of the four routes this Actor calls. proxyConfiguration defaults to Apify Proxy, but every route was verified working with a direct connection, so the run attempts direct first and only falls back to the proxy if that fails — you can leave the default as-is either way.
Can I get videos and analytics for a hashtag that isn't currently trending?
Yes. Set result_type to "analytics" and list the hashtag name (without #) in hashtag_list. If it's on today's live board, it keeps its board metrics; if not, it's still swept for videos through the tag page and creator expansion, with board-only fields (rank, periodViews, the trend curve, topCreatorHandles) left null since TikTok only publishes those for the 3 hashtags currently on the board.
💬 Your feedback
Found a bug, a field that looks wrong, or a hashtag/region combination that doesn't behave as documented here? Let us know through the Issues tab on this Actor's Apify Console page, or via a message to the developer through your Apify account — reports like these are how the truth-in-input flags (countryFallbackApplied, periodAliasApplied, industryFilterUnsupported) get added and kept accurate.