# TikTok Trending Hashtags Scraper (`socialdataapi/tiktok-trending-hashtags-scraper`) Actor

TikTok Trending Hashtags Scraper — Extract trending TikTok hashtags, hashtag views, video counts, related hashtags, and popularity metrics. Useful for trend discovery, hashtag research, content planning, influencer marketing, and competitor analysis.

- **URL**: https://apify.com/socialdataapi/tiktok-trending-hashtags-scraper.md
- **Developed by:** [Social Data API](https://apify.com/socialdataapi) (community)
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### TikTok Trending Hashtags Scraper — Rank, Views and Trend Data

TikTok Trending Hashtags Scraper pulls TikTok's live trending-hashtag ranking — rank, video views, publish count, industry and a popularity trend curve — across 27 countries and three time windows, with optional per-hashtag analytics such as all-time views and top videos. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a trend-monitoring pipeline. **No TikTok account or login is needed.** Start with the default Top 100 ranking, then add analytics or your own hashtag watchlist as you scale up.

![TikTok Trending Hashtags Scraper: Top 100 hashtags with rank, views and trend data as JSON](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/d-tiktok-trending-hashtags-hero.webp)

***

### What data can I extract with TikTok Trending Hashtags Scraper?

Using this TikTok Hashtag API, you will be able to extract the following TikTok hashtag data:

| | | | |
|---|---|---|---|
| 🆔 Hashtag ID | #️⃣ Hashtag name | 🌍 Country | 🏷️ Industry category (if ranking-sourced) |
| 📣 Promoted flag (once analytics are fetched) | 📈 Popularity trend curve | 📝 Publish count (period) | 👁️ Video views (period) |
| 🏆 Rank | 🔃 Rank change type (new, up, down, same) | 📅 Period in days | 🕒 Scraped-at timestamp |
| 📊 Analytics (description, all-time counts, current top videos, top creators) | | | |

***

### How to use TikTok Trending Hashtags Scraper

Anyone who needs to scrape TikTok hashtags — a social team, an analyst, a researcher — can run this Actor once and get a full hashtag ranking back as data, no manual checking of TikTok's own trend pages required.

**Copy to your AI assistant:**

```text
This Apify Actor (Apify Actor ID: socialdataapi/tiktok-trending-hashtags-scraper, https://apify.com/socialdataapi/tiktok-trending-hashtags-scraper) returns TikTok's trending-hashtag ranking as structured JSON: hashtag name, rank, video views, publish count, industry category, a popularity trend curve, and rank-change status. Use it whenever someone needs TikTok trend data without cookies, a login, or a browser - a weekly content calendar, competitor hashtag tracking, or a trend-monitoring dashboard. Inputs: result_type (string, "top100" | "top100_with_analytics" | "analytics", default "top100"), country (string, one of 27 country codes or "ALL", default "ALL"), top100_period (string, "7" | "30" | "90", default "7"), analytics_period (string, "7" | "30" | "90", default "30"), top100_industry (string, one of 21 industry IDs or blank for all, default blank), top100_new_on_board (boolean, default false), hashtag_list (array of strings, default empty), total_hashtags (integer, 1-100, default 20), proxyConfiguration (object). Free plan users are limited to 20 hashtags per run and 200 per month; paid plans use the Max Hashtags value directly. TikTok's own logged-out ranking preview is small per query - this Actor automatically broadens coverage by merging in each industry category's own ranking.
```

#### TikTok Trending Hashtags Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor

Point your AI assistant at Apify's MCP server, scoped to this Actor, and it can call it directly on its own. No glue code, no scraping logic in your prompts.

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/tiktok-trending-hashtags-scraper"
```

#### Step by step

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. [Open this Actor in the Apify Store](https://apify.com/socialdataapi/tiktok-trending-hashtags-scraper).
3. Enter the country, period and industry you want, or leave every field at its default for the global Top 100.
4. Click **Start** (or send your API request).
5. Download or stream your results in JSON, CSV or Excel.

#### How to scale TikTok Trending Hashtags Scraper to bulk

This Actor runs one country/period/industry combination per run. To cover several markets, queue one run per country (or per country and industry pair) — for example via an Apify Schedule — and aggregate each run's dataset into your own table, keyed by hashtag ID, country and period. For an ongoing watchlist, set `result_type` to "analytics" and pass your own `hashtag_list`; every scheduled run compares today's rank to this Actor's own previous run and reports whether each hashtag moved up, down, stayed the same, or is new.

***

### ✨ Features

As a TikTok hashtag scraper, TikTok Trending Hashtags Scraper fetches clean, structured hashtag data from TikTok ⚡ at low cost 💸. It's ideal for weekly content planning, competitor hashtag tracking, trend research and feeding a hashtag-recommendation tool.

It extracts, per hashtag:

- **Rank** – position in the Top 100 ranking for the country, period and industry you chose
- **Video views and publish count** – totals for the selected time window
- **Popularity trend curve** – a 0–1 popularity curve over the selected period
- **Industry category** – which of 21 TikTok Creative Center categories the hashtag belongs to
- **Rank change status** – whether the hashtag is new, up, down or the same rank versus this Actor's own previous run
- **Analytics (optional)** – description, all-time views and posts, current top videos and top creators, once per-hashtag analytics are requested

⚡ No proxy is used on the first attempt by default; this Actor only pays the cost of a proxy when TikTok actually blocks a request.

***

### Use cases 💡

- **Social media manager** — build a weekly content brief from hashtags flagged "new" or "up".
- **Competitive analyst** — track a competitor's hashtag rank and view growth over scheduled runs.
- **Researcher** — use this TikTok hashtag research tool to study trend curves over time.
- **SaaS builder** — schedule runs per country and feed rank data into a dashboard.
- **AI agent builder** — index hashtag and trend data for a RAG pipeline.

Building an AI agent? [Connect TikTok Trending Hashtags Scraper over MCP](#tiktok-trending-hashtags-scraper-mcp-server-use-these-actors-from-chatgpt-claude-or-cursor) and let it call the actor on its own.

***

### Why choose this actor?

1. **Twenty trending hashtags in under two seconds.** A recorded run returned the Top 100 ranking's first 20 hashtags for the US over the last 7 days in 1.6 seconds total, with the first hashtags already in the dataset after 0.9 seconds.
2. **The numbers behind each hashtag.** A recorded hashtag came back with 70,993,899 period video views, 31,471 period posts and a 7-point popularity curve; once analytics were fetched for the same hashtag, it also carried 222,917,646 all-time views and 51,218 all-time posts.
3. **27 countries, 21 industries, 3 result types.** Pull the plain ranking, add nested per-hashtag analytics, or look up your own hashtag watchlist — across 27 countries, 3 time windows and 21 TikTok Creative Center industry categories, all in one Actor.

***

### ⬇️ Input

![TikTok Trending Hashtags Scraper input: result type, country, period and industry](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/d-tiktok-trending-hashtags-input.webp)

Every field has a default, so an empty run returns the global Top 100 ranking for the last 7 days. No field is required — filter TikTok hashtags by country, period and industry, or set `result_type` to get TikTok hashtag analytics for your own `hashtag_list`.

| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
| `result_type` | No | string | What to return: `top100` (Top 100 Ranking, default), `top100_with_analytics` (adds nested analytics to every ranked hashtag), or `analytics` (analytics for your `hashtag_list`, or the current ranking if the list is empty) | `"top100_with_analytics"` |
| `country` | No | string | Country for the ranking/analytics; one of 27 codes or `"ALL"` (default), which is treated as the United States | `"US"` |
| `top100_period` | No | string | Time window for the Top 100 ranking: `"7"` (default), `"30"` or `"90"` days | `"7"` |
| `analytics_period` | No | string | Time window for the analytics trend curve (used when Result Type is Hashtag Analytics): `"7"`, `"30"` (default) or `"90"` days | `"7"` |
| `top100_industry` | No | string | Narrow the Top 100 ranking to one of 21 TikTok Creative Center industry categories; blank (default) means all industries | `""` |
| `top100_new_on_board` | No | boolean | Return only hashtags whose rank is new compared to this Actor's own previous run for the same country/period; default `false` | `false` |
| `hashtag_list` | No | array | Hashtags (without `#`) to fetch analytics for directly; only used when Result Type is Hashtag Analytics; default empty | `[]` |
| `total_hashtags` | No | integer | Maximum number of hashtags to return (1-100); default `20` | `20` |
| `proxyConfiguration` | No | object | Apify proxy configuration; no proxy is used for the first attempt by default, and this Actor automatically retries through a different Apify proxy region if TikTok blocks a request | `{"useApifyProxy": false}` |

#### Free plan limits

Users on the Apify free plan can fetch up to 20 hashtags per run (all requested hashtags together) and 200 hashtags per month. When the limit is reached, the run finishes successfully with a status message explaining the limit. Upgrade to any paid Apify plan to remove these limits.

#### Example input

```json
{
  "result_type": "top100_with_analytics",
  "country": "US",
  "top100_period": "7",
  "top100_industry": "",
  "top100_new_on_board": false,
  "hashtag_list": [],
  "total_hashtags": 3,
  "proxyConfiguration": { "useApifyProxy": false }
}
```

***

### ⬆️ Output

![TikTok Trending Hashtags Scraper output: rank, video views, publish count and trend](https://api.apify.com/v2/key-value-stores/WYkyEfqs10huyXYxr/records/d-tiktok-trending-hashtags-output.webp)

Every hashtag is one typed, normalized JSON item with the same schema on every run. Download your TikTok hashtag data export through Apify's standard export formats: JSON, CSV and Excel.

#### Example output

```json
{
  "hashtag_id": "7003719913210642438",
  "hashtag_name": "iamjanedoe",
  "country_info": { "id": "US", "value": "United States", "label": "US" },
  "industry_info": { "id": 23000000000, "value": "News & Entertainment", "label": "News & Entertainment" },
  "is_promoted": false,
  "trend": [
    { "time": 1790726400, "value": 0.16 },
    { "time": 1790812800, "value": 1 },
    { "time": 1790899200, "value": 0.95 },
    { "time": 1790985600, "value": 0.68 },
    { "time": 1791072000, "value": 0.4 },
    { "time": 1791158400, "value": 0.22 },
    { "time": 1791244800, "value": 0 }
  ],
  "publish_cnt": 31471,
  "video_views": 70993899,
  "rank": 1,
  "analytics": {
    "info": {
      "hashtag_id": "7003719913210642438",
      "hashtag_name": "iamjanedoe",
      "description": null,
      "video_url": "https://www.tiktok.com/tag/iamjanedoe",
      "publish_cnt_all": 51218,
      "video_views_all": 222917646,
      "longevity": { "popular_days": null, "current_popularity": null },
      "audience_ages": [],
      "audience_countries": [],
      "related_hashtags": [],
      "related_items": [],
      "top_creators": [
        { "handleName": "mylee_may_aez", "nickname": "M", "creatorRank": "1", "followedCnt": "9107", "countryCode": "US" },
        { "handleName": "lenzmama", "nickname": "LenzMama", "creatorRank": "2", "followedCnt": "20760", "countryCode": "US" }
      ]
    }
  },
  "period": "7",
  "scrapedAt": "2026-10-08T10:59:42.358017+00:00",
  "rank_diff_type": "new",
  "rank_change_readable": "New"
}
```

***

### How does it work?

TikTok Trending Hashtags Scraper reads the same public TikTok Creative Center hashtags ranking and hashtag pages any visitor can see, with no TikTok account needed. Requests go through Apify's own proxies when TikTok blocks one, automatically switching exit region and retrying. One optional step — capturing a hashtag's current top videos, only used when analytics are requested — opens the hashtag's public page in a real browser so its own signed response can be read; the rest of the data comes from plain requests. TikTok's logged-out ranking preview is small per query, so this Actor broadens coverage by merging in each industry category's own ranking. It also works as a TikTok hashtag rank tracker: rank change is computed from this Actor's own persisted run history, so the output stays stable even when TikTok's own ranking field for rank movement goes away.

***

### How do you integrate TikTok Trending Hashtags Scraper into your stack?

TikTok Trending Hashtags Scraper, a trending hashtags TikTok API, works with what you already use: a REST API callable from any language, an MCP server for AI agents, and no-code automation tools.

#### MCP integration for AI agents

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/tiktok-trending-hashtags-scraper"
```

This registers Apify's MCP server, scoped to this Actor, as a tool your agent can call directly to run it. Compatible with Claude Code, Cursor and Windsurf.

#### No-code tools (n8n, Make, LangChain)

In n8n, use the Apify node's "Run an Actor" action, or the HTTP Request node pointed at the Apify API with your token. In Make, use the Apify app's "Run an Actor" module followed by "Get Dataset Items" to pull the rows into your scenario. In LangChain, the `langchain-apify` package's `ApifyActorsTool` wraps any Apify Actor, including this one, as a callable tool.

*Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.*

***

### Is it legal to scrape TikTok data?

Scraping publicly accessible data, like TikTok's trending-hashtag ranking, is generally lawful; courts have distinguished scraping public web data from unauthorized computer access. TikTok Trending Hashtags Scraper returns only publicly available data — what any visitor sees without logging in. Scraping public data is generally permissible under data-protection law, but storing and using it must still comply with local rules such as GDPR. Consult legal counsel if your use case involves bulk storage of personal data.

***

### Frequently asked questions

#### What fields does TikTok Trending Hashtags Scraper return?

It returns hashtag ID, hashtag name, rank, video views and publish count on every row, plus industry category, a popularity trend curve and rank-change status. See [the data fields section](#what-data-can-i-extract-with-tiktok-trending-hashtags-scraper) for the complete list.

#### Does TikTok Trending Hashtags Scraper require a TikTok account or login?

No. Only public hashtag data is extracted, and no credentials are needed.

#### How fast does TikTok Trending Hashtags Scraper run?

It fetches live on every run, never from a cache. A recorded run returned the first 20 hashtags of the Top 100 ranking for the US over the last 7 days in 1.6 seconds.

#### What happens if a hashtag in my list is private or doesn't exist?

It is simply excluded from the output, and the Actor logs which hashtags it couldn't resolve on TikTok. This is not treated as an error.

#### Can I scrape multiple TikTok hashtags at once?

Yes. Set `result_type` to `"analytics"` and list your hashtags (without `#`) in `hashtag_list` to get analytics for all of them in one run.

#### Does TikTok Trending Hashtags Scraper work with Claude, ChatGPT, and other AI agent tools?

Yes — it's reachable through Apify's MCP server. Run `claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/tiktok-trending-hashtags-scraper"` to register it in Claude Code, Cursor or Windsurf. Any agent that can call an HTTP endpoint can use the REST API directly.

#### Does TikTok Trending Hashtags Scraper return data in a format LLMs can use directly?

Yes. Every row is typed, normalized JSON with consistent field names — no HTML parsing, no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool with no transformation step.

#### What happens when TikTok changes its layout or anti-bot system?

This Actor is maintained and updated when TikTok changes its layout or its anti-bot measures — your calls keep returning the same JSON schema with no changes on your end.

#### Can I use TikTok Trending Hashtags Scraper without managing proxies or browser infrastructure?

Yes. Proxy rotation and the one step that needs a real browser both run on the Actor's side — you send one request and get structured JSON back, with no proxy accounts or headless browser setup to maintain.

#### Which TikTok Trending Hashtags Scraper fields work best for AI training data and RAG indexing?

For RAG, index the hashtag name, industry category and rank-change status for direct-answer retrieval. For training data, the popularity trend curve is the richest numeric feature, and rank, video views and publish count are consistently typed numbers. All fields are typed primitives or nested objects — no normalization needed before loading them into a model context or feature pipeline.

***

### Your feedback

Found a bug or missing a field? Let us know. Our team reads every report and ships fixes, so this Actor keeps working as TikTok's own pages change.

# Actor input Schema

## `result_type` (type: `string`):

Choose what the run should return. Top 100 Ranking returns just the trending list. Top 100 + Analytics adds a nested analytics object to every ranked hashtag. Hashtag Analytics returns analytics only - for your own Hashtag List if you set one, otherwise for the current trending list.

## `country` (type: `string`):

Country to pull the ranking and analytics for. ALL is an alias for the United States, matching how TikTok's own client resolves an unset country.

## `top100_period` (type: `string`):

Time window for the Top 100 ranking. Used by Top 100 Ranking and Top 100 + Analytics. 120 is accepted for backward compatibility and is treated as 90.

## `analytics_period` (type: `string`):

Time window for the analytics trend curve. Used when Result Type is Hashtag Analytics. 120 is accepted for backward compatibility and is treated as 90.

## `top100_industry` (type: `string`):

Narrow the Top 100 ranking to one TikTok Creative Center industry category. Leave on All Industries to skip filtering.

## `top100_new_on_board` (type: `boolean`):

Return only hashtags whose rank is new compared to this actor's own previous run for the same country, period and hashtag - perfect for spotting fresh trends. Has no effect on the very first run for a given country/period, since every hashtag is new then.

## `hashtag_list` (type: `array`):

Add your own hashtags (without the #) to fetch analytics for directly - they do not need to be part of the current trending ranking. Only used when Result Type is Hashtag Analytics. Leave empty to get analytics for the current trending list instead.

## `total_hashtags` (type: `integer`):

Maximum number of hashtags to return (1-100). TikTok's logged-out preview caps real coverage well below 100 for most country/period combinations. Free plan: up to 20 hashtags per run (all requested hashtags together) and 200 per month; paid plans have no limit.

## `proxyConfiguration` (type: `object`):

Choose which proxies to use. By default, no proxy is used for the first attempt of each request; the actor automatically retries through Apify Proxy if TikTok blocks a request.

## Actor input object example

```json
{
  "result_type": "top100",
  "country": "ALL",
  "top100_period": "7",
  "analytics_period": "30",
  "top100_industry": "",
  "top100_new_on_board": false,
  "hashtag_list": [],
  "total_hashtags": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped items in the Actor's default dataset.

## `output` (type: `string`):

The full run result as a single JSON array, stored in the default key-value store under the key 'output.json' for parity with a stand-alone output.json file.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("socialdataapi/tiktok-trending-hashtags-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxyConfiguration": { "useApifyProxy": False } }

# Run the Actor and wait for it to finish
run = client.actor("socialdataapi/tiktok-trending-hashtags-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call socialdataapi/tiktok-trending-hashtags-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,socialdataapi/tiktok-trending-hashtags-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/coWnsfcXvpSPp8Lvr/builds/fXDj8Rq6ENa9e2Q1X/openapi.json
