TikTok Trending Hashtags Scraper By Country And Industry
Pricing
Pay per usage
TikTok Trending Hashtags Scraper By Country And Industry
Tiktok Trending Hashtags Scraper helps you track real-time viral tags, engagement stats, and growth patterns. Scrape trending hashtags, discover niche opportunities, and fuel your content strategy with accurate, fast, structured data. Get reliable data for research workflows.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
TikTok Hashtag Scraper — Extract Rankings, Analytics, Creators as JSON
TikTok Hashtag Scraper pulls TikTok Creative Center's Top 100 trending hashtag rankings, per-hashtag analytics (trend curves, view and publish counts), and the creators associated with each hashtag — across as many countries and industries as you select, in a single run. Every response returns typed, normalized JSON: no HTML, no selectors, no manual parsing of Creative Center pages. Pick a result mode, choose your markets, and you get structured hashtag ranking and analytics data ready for a spreadsheet, a database, or an AI pipeline.
What is TikTok Trending Hashtags Scraper By Country And Industry?
TikTok Trending Hashtags Scraper By Country And Industry is an Apify Actor that fetches TikTok Creative Center's public Top 100 trending-hashtag rankings, together with per-hashtag analytics (trend curve, top creators) and its own cross-run rank-change tracking. It runs against Creative Center's anonymous public data surface, so no TikTok account, login, or API key is required. Its distinguishing feature is batching: instead of running a single-market scraper once per country, it loops the fetch across every country and industry you select in one job and tags each row with its source market for direct comparison.
Key capabilities:
- Scrape Top 100 trending hashtag rankings by country and industry
- Scrape per-hashtag analytics — trend curve, video views, publish count, top creators
- Compare multiple countries and industries side by side in the same run
- Apply client-side filters (minimum views/publishes, rising/falling/new-only) on top of the ranking data
- Export as JSON, CSV, or Excel — no proxy management required unless you want geo-targeted markets
What data does TikTok Trending Hashtags Scraper By Country And Industry collect?
The Actor returns one hashtag row per country x industry combination requested, plus a market-tagging layer and, in analytics modes, a nested analytics block.
| Data Type | Key Fields | JSON Field Names |
|---|---|---|
| Trending hashtag ranking | Rank, hashtag name, video views, publish count | rank, hashtag_name, video_views, publish_cnt |
| Market tagging (country/industry) | Which requested market a row came from, for side-by-side comparison | sourceCountry, sourceIndustry, country_info, industry_info |
| Hashtag analytics | Trend curve time series and enriched per-hashtag stats | trend, analytics, hashtagUrl |
| Top creators | Creators TikTok associates with the hashtag, when populated | topCreators |
| Rank-change tracking | Derived up/down/new signal computed across runs | rank_diff_type, rank_change_readable |
Need more TikTok data?
If you also need trending video-level data instead of hashtag-level data, API-Empire publishes TikTok Trending Videos Scraper: Hashtag Category Stats, which classifies trending videos into a niche/industry taxonomy and flags sponsored content. For an ad-and-influencer angle by industry, Trending Videos Insights With Industry Category Breakdown returns Top Ads filtered by content niche alongside a standalone trending-creator leaderboard.
Why not build this yourself?
TikTok does not publish a self-serve endpoint for "give me the Top 100 trending hashtags for country X and industry Y" — the Creative Center trends pages are a browser-rendered UI backed by an internal API, not a documented public API product. Building and maintaining your own collector means reverse-engineering that internal endpoint, seeding a valid browser session before every request, handling TikTok's anti-bot responses, and re-fixing the whole pipeline every time TikTok changes the endpoint or its response shape — which this Actor's own source history shows has already happened at least once. That is ongoing engineering time spent on infrastructure instead of on the data itself.
TikTok Trending Hashtags Scraper By Country And Industry absorbs that maintenance burden: session seeding, retries, and proxy escalation are handled internally, and the output schema stays stable even when the underlying fetch mechanism has to change behind it. Building your own scraper can still make sense if you need a fully custom crawl pattern the Actor doesn't expose; for standard Top 100 and hashtag-analytics collection across multiple markets, running the maintained Actor is normally faster to get working.
Why do developers and teams scrape TikTok?
For marketers and brand teams
Marketers use hashtag ranking data to decide which tags to attach to upcoming content and which markets are worth a dedicated campaign. Because targetCountries and targetIndustries both accept lists, a team can pull the Beauty & Personal Care Top 100 for the US, UK, and Brazil in one run and compare rank, video_views, and rank_change_readable side by side, instead of stitching together three separate exports. The onlyRising filter isolates hashtags gaining rank right now, which is more actionable for a content calendar than a static leaderboard.
For researchers and analysts
Analysts studying platform trends by region or industry use the multi-market batching to build comparative datasets without running the same job repeatedly. Because every row is tagged with sourceCountry and sourceIndustry, and rank_diff_type/rank_change_readable are computed from an actual run-over-run history rather than passed through unchanged, the resulting dataset supports genuine trend analysis — which hashtags are rising, falling, or new — across markets and time windows (7, 30, or 120 days for rankings; up to 1,095 days for hashtag analytics). All data collected is limited to what TikTok's Creative Center already publishes publicly.
For developers building data products
Developers building dashboards, trend-alert tools, or hashtag-research products on top of TikTok data get a stable JSON schema instead of a page to parse. The Actor accepts the base actor's original single-value input keys (country, top100_industry, result_type) as a fallback, so an integration built against a simpler TikTok hashtag scraper can point at this Actor without a rewrite, while a new integration can use targetCountries/targetIndustries to request multiple markets per call. Scheduled runs can feed a growing historical dataset, which is what makes the derived rank_diff_type signal meaningful across successive runs.
For AI engineers and agent builders
Because every field is typed JSON with stable names — not HTML that needs a selector — hashtag ranking and analytics rows can be pushed directly into a vector store for RAG, used as tool output inside an agent loop, or fed to an LLM to summarize "what's trending in Food & Beverage this week across the US, UK, and Germany." The nested trend time series and topCreators list are already parsed into structured objects, so an agent doesn't need a parsing step before reasoning over them.
How to scrape TikTok (step by step)
- Open TikTok Trending Hashtags Scraper By Country And Industry on its Apify Store listing and start a new run.
- Pick one or more entries for Target Countries and Target Industries — both are optional; leaving them empty defaults to "All" for that dimension.
- Choose a Result Type: Top 100 Ranking, Top 100 + Analytics, or Hashtag Analytics for your own list (paired with Hashtags To Analyze).
- Optionally set client-side filters (
minVideoViews,minPublishCount,onlyRising/onlyFalling/onlyNew) and start the run — no required fields need to be filled in. - Download the results as JSON, CSV, or Excel, or read them via the Apify API/dataset endpoint.
What to do when TikTok changes its structure
TikTok's Creative Center has changed its underlying data endpoint before, and this Actor is actively maintained against that surface — the output schema (field names and types) is designed to stay stable for integrations even when the internal fetch mechanism has to be updated behind it. No specific turnaround time is guaranteed for any given break.
⬇️ Input
None of the 14 input parameters are required — every field has a default or an "All" fallback.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
resultType | No | String | What to return: top100 (ranking only), top100_with_analytics (ranking + per-hashtag analytics), or analytics (analytics for your own hashtag list). | "top100" |
targetCountries | No | Array | One or more TikTok Creative Center country codes to fetch and compare in the same run. Empty defaults to All (Global). | ["US", "GB"] |
targetIndustries | No | Array | One or more Creative Center industry IDs to fetch and compare in the same run. Empty defaults to All Industries. | ["20000000001"] |
rankingPeriodDays | No | String | Time window for the Top 100 ranking: "7", "30", or "120" days. | "7" |
analyticsPeriodDays | No | String | Time window for per-hashtag analytics (trend curve): "7", "30", "120", "365", or "1095" days. | "30" |
onlyNewEntrants | No | Boolean | Server-side filter: only return hashtags newly entered into the Top 100 in the chosen period, for every selected market. Default false. | false |
hashtagsToAnalyze | No | Array | Your own hashtags (without #) to fetch analytics for, per selected market. Used only when resultType is analytics. | ["skincare"] |
hashtagsPerMarket | No | Integer | How many hashtags to collect per country/industry combination — not a grand total. Minimum 1, maximum 500. | 20 |
minVideoViews | No | Integer | Drop any hashtag whose total video views fall below this threshold. 0 = no filter. | 0 |
minPublishCount | No | Integer | Drop any hashtag whose publish count falls below this threshold. 0 = no filter. | 0 |
onlyRising | No | Boolean | Keep only hashtags whose rank moved up since the last run. Default false. | false |
onlyFalling | No | Boolean | Keep only hashtags whose rank moved down since the last run. Default false. | false |
onlyNew | No | Boolean | Keep only hashtags flagged as newly-ranked in this batch. Default false. | false |
proxyConfiguration | No | Object | Which Apify proxies to use. No proxy is used by default; the Actor falls back to a direct connection automatically if a proxied attempt returns no data. | {"useApifyProxy": false} |
Example input:
{"resultType": "top100_with_analytics","targetCountries": ["US", "GB"],"targetIndustries": ["20000000001"],"rankingPeriodDays": "7","analyticsPeriodDays": "30","onlyNewEntrants": false,"hashtagsToAnalyze": [],"hashtagsPerMarket": 20,"minVideoViews": 0,"minPublishCount": 0,"onlyRising": false,"onlyFalling": false,"onlyNew": false,"proxyConfiguration": { "useApifyProxy": false }}
The most common input mistake is treating hashtagsPerMarket as a total row count — it applies per country x industry combination, so 2 countries x 2 industries at hashtagsPerMarket: 20 can return up to 80 rows, not 20.
⬆️ Output
Results are written to the Actor's dataset as typed JSON and can be exported as JSON, CSV, or Excel. Every pushed row is billed under the row_result charged event — the Actor pushes no placeholder or error rows, so nothing needs to be filtered out to avoid double-billing.
Trending hashtag ranking
Returned for resultType: "top100":
{"hashtag_id": "7559694544908845112","hashtag_name": "skincare","sourceCountry": "US","sourceIndustry": "20000000001","country_info": { "id": "US", "value": "United States", "label": "US" },"industry_info": {"industry_ids": ["20000000001"],"industry_labels": ["Beauty & Personal Care"],"industry_names": ["Beauty & Personal Care"]},"is_promoted": null,"trend": [{ "time": 1760054400, "value": 11890 },{ "time": 1760140800, "value": 12345 }],"publish_cnt": 8421,"video_views": 9876543,"rank": 4,"rank_diff_type": "up","rank_change_readable": "Up","period": "7","hashtagUrl": "https://www.tiktok.com/tag/skincare","topCreators": [],"scrapedAt": "2026-07-25T12:00:00+00:00"}
Hashtag analytics
Returned for resultType: "top100_with_analytics" or "analytics" — same base fields as above, plus a nested analytics object:
{"hashtag_id": "7559694544908845112","hashtag_name": "skincare","sourceCountry": "US","sourceIndustry": "20000000001","country_info": { "id": "US", "value": "United States", "label": "US" },"industry_info": {"industry_ids": ["20000000001"],"industry_labels": ["Beauty & Personal Care"],"industry_names": ["Beauty & Personal Care"]},"is_promoted": null,"trend": [{ "time": 1760054400, "value": 11890 },{ "time": 1760140800, "value": 12345 }],"publish_cnt": 8421,"video_views": 9876543,"rank": 4,"rank_diff_type": "up","rank_change_readable": "Up","period": "30","hashtagUrl": "https://www.tiktok.com/tag/skincare","topCreators": [],"scrapedAt": "2026-07-25T12:00:00+00:00","analytics": {"video_views": 9876543,"publish_cnt": 8421,"rank": 4,"industry_info": {"industry_ids": ["20000000001"],"industry_labels": ["Beauty & Personal Care"],"industry_names": ["Beauty & Personal Care"]},"trend": [{ "time": 1760054400, "value": 11890 },{ "time": 1760140800, "value": 12345 }],"top_creators": []}}
is_promoted and topCreators/top_creators are left null/empty rather than guessed when TikTok's anonymous response doesn't populate them for a given hashtag — the Actor never fabricates a value TikTok didn't send.
How many results can you scrape with TikTok Hashtag Scraper?
hashtagsPerMarket is capped by the input schema at 500 per country/industry combination, with a minimum of 1 (default 20); there is no separate grand-total cap, so the effective ceiling is hashtagsPerMarket x number of countries x number of industries you select. Each country/industry combination is fetched as its own request against TikTok Creative Center's live ranking endpoint, so there is no pagination to manage on your end — you get one row set per combination, merged into a single dataset. One verified platform-side limit: TikTok's anonymous preview returns zero rows for rankingPeriodDays: "120" in the Actor's own testing, so 7- or 30-day windows are more reliable for the Top 100 ranking. No benchmark run time is quoted here since none has been independently measured.
Integrate TikTok Hashtag Scraper and automate your workflow
TikTok Trending Hashtags Scraper By Country And Industry works with any language or tool that can send an HTTP request, through the standard Apify API.
REST API integration
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("api-empire/tiktok-trending-hashtags-by-country-and-industry").call(run_input={"targetCountries": ["US", "GB"],"targetIndustries": ["20000000001"],"resultType": "top100_with_analytics",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["hashtag_name"], item["rank"], item["sourceCountry"])
Works in Python, Node.js, Go, Ruby, cURL.
MCP for AI agents
The Actor can be exposed as a callable tool through Apify's hosted Actors MCP Server (mcp.apify.com), which lets MCP-compatible clients call any public Apify Actor by ID. Point an MCP client such as Claude Desktop or Cursor at the Apify MCP server and reference api-empire/tiktok-trending-hashtags-by-country-and-industry as the Actor to run.
Automation platforms (n8n, Make)
In n8n, the official Apify node's "Run Actor" action can start this Actor and its "Get Dataset Items" action retrieves the resulting hashtag rows, so a workflow can trigger a run on a schedule and pipe results into another node (Slack, Google Sheets, a database) without custom code. In Make, the Apify app's Run Actor module works the same way, letting you chain the hashtag output into downstream scenarios.
Is it legal to scrape TikTok?
Yes — TikTok Trending Hashtags Scraper By Country And Industry only collects data TikTok already publishes on its public Creative Center trends pages, without logging into any account or accessing private content. Most of the output is aggregate trend data (rank, views, publish counts), which is generally treated under terms-of-service and database-rights framing rather than personal-data law. The topCreators/top_creators field can carry public creator attribution when TikTok populates it, and any use of that field involving bulk personal data should be handled with GDPR/CCPA obligations in mind. Consult legal counsel for commercial use cases involving bulk personal data.
Frequently asked questions
Does TikTok Hashtag Scraper work without a TikTok account?
Yes. It fetches TikTok Creative Center's public trends data through an anonymous session — no TikTok account, login, or API key is required to run it.
How often is the scraped data updated?
Every run fetches live from TikTok Creative Center's GetHashtagList endpoint at request time — it is not served from a cache. Rank-change values (rank_diff_type, rank_change_readable) are computed by comparing the current run's rank to that same hashtag/country/industry/period combination's rank on its previous run, stored in a named key-value store between runs.
What happens if a country/industry combination returns no hashtags?
That combination returns zero rows for that run rather than an error — this can happen if TikTok's anonymous preview has no data for the chosen period (confirmed to happen for rankingPeriodDays: "120") or if TikTok temporarily rate-limits the request. Other requested combinations in the same run are unaffected. If every combination comes back empty, the run finishes with no dataset items and a status message explaining the likely cause.
Can I scrape private or restricted TikTok content?
No. The Actor only returns hashtags and analytics already exposed on TikTok Creative Center's public trends pages — there is no login flow and no access to private accounts or gated data.
Does TikTok Hashtag Scraper work for AI agent workflows and LLM pipelines?
Yes. Every response is typed, normalized JSON with stable field names, so it can be passed directly into an LLM context window or indexed into a vector store without a parsing step. It is also callable through Apify's Actors MCP Server for MCP-compatible agent clients, or as a plain HTTP endpoint from any agent framework.
How does TikTok Hashtag Scraper handle TikTok's anti-bot system?
It seeds a real browser session (via Playwright) by navigating the public Trends landing page before calling the live ranking endpoint, retries failed requests with backoff, and automatically escalates from no proxy to a datacenter proxy to a residential proxy if a batch of requests comes back empty.
Does TikTok Hashtag Scraper return data in a format LLMs can use directly?
Yes. Output fields use stable, typed JSON keys — no HTML, no selectors, no manual parsing — so results can be passed straight to an LLM, a RAG index, or an agent tool call.
Can I use TikTok Hashtag Scraper without managing proxies?
Yes. By default no proxy is used at all, and the Actor automatically falls back to a direct connection if a proxied attempt returns no data. Apify proxy configuration is available as an optional input for geo-targeted or higher-volume runs.
What happens when TikTok changes its structure or blocks the scraper?
The Actor is actively maintained, and its output schema is designed to stay stable on the user's end — field names and types don't change even when the underlying fetch mechanism has to be updated behind them. No specific turnaround time is guaranteed for any given break.
Your feedback
Found a bug or a field that doesn't match what's documented here? We want to know. Report issues through the Actor's page on the Apify Store or via Apify's standard Actor issue/support channel — active maintenance is how this Actor stays working as TikTok's own site changes.