Douyin Hot Search Scraper - Trending Topics & Hot List avatar

Douyin Hot Search Scraper - Trending Topics & Hot List

Pricing

from $3.00 / 1,000 scraped topics

Go to Apify Store
Douyin Hot Search Scraper - Trending Topics & Hot List

Douyin Hot Search Scraper - Trending Topics & Hot List

Scrape Douyin (抖音) hot search boards: the main 热榜, rising topics, entertainment, society, challenge and 种草 seeding lists. Get rank, title, heat value, views, video count, badge (新/热/爆), top video and topic link per entry. No login. Schedule it to track trends over time.

Pricing

from $3.00 / 1,000 scraped topics

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Douyin Hot Search Scraper — Trending Topics & Hot List (抖音热榜)

Get the live Douyin (抖音) hot search in one run: the main 抖音热榜 hot list, the topics rising right now (实时上升热点), and the entertainment (娱乐榜), society (社会榜), challenge (挑战榜) and product-seeding (种草榜) boards. Every trending topic comes with its rank, heat value, views, video count, badge (新 / 热 / 爆 …), the video Douyin attaches to it, and links to the topic page and a Douyin search.

No Douyin account, no login, no cookies and no coding. Export the trending topics to JSON, CSV, Excel or HTML, get them through the Douyin hot search API endpoint of the Actor, schedule runs to build a trend history, or ask an AI assistant such as Claude or ChatGPT what is trending on Douyin.

What does the Douyin Hot Search Scraper do?

  • 🔥 Six Douyin hot search boards in one run. Main hot list (50 topics, plus the pinned topic when Douyin shows one), rising now (5), entertainment (50), society (50), challenges (50) and product seeding (50).
  • 📊 Heat and reach for every topic. Douyin's heat value (热度), view count and video count.
  • 🏷️ Badges in Chinese and English. 新 New, 热 Hot, 爆 Explosive, 首发 First release, 独家 Exclusive, 辟谣 Rumor debunked and more.
  • 🏆 Rank history. The current rank and the best rank the topic has reached on the board.
  • 🎬 A video for every topic. The ID and link of the video that Douyin attaches to the topic, plus the topic cover image.
  • 🔗 Ready-made links. The topic page on douyin.com and a Douyin search for the topic text.
  • 🕒 Time-stamped snapshots. When Douyin last updated the board and when the run collected it, so scheduled runs line up as a time series.
FieldWhat you get
BoardBoard key and Douyin's board name (抖音热榜, 实时上升热点, 娱乐榜, 社会榜, 挑战榜, 种草榜)
RankPosition on the board (1 = top; 0 = the pinned topic), pinned flag, best rank reached
TopicTopic text, topic ID, topic URL, Douyin search URL
HeatHeat value, views, number of videos
BadgeBadge in Chinese, badge in English, badge code
CategoryDouyin's category code for the topic
VideoID and link of the video Douyin attaches to the topic, cover image
TimeEvent start time, board update time, scrape time

Input

The Actor has one input field.

FieldTypeDescription
boardsarray of stringsThe boards to scrape. Values: main, rising, entertainment, society, challenge, seeding. Leave it empty to get all six boards.
ValueBoardTopics
mainMain hot list (抖音热榜)50, plus the pinned topic when Douyin shows one
risingRising now (实时上升热点)5
entertainmentEntertainment (娱乐榜)50
societySociety (社会榜)50
challengeChallenges (挑战榜)50
seedingProduct seeding (种草榜)50

Input example

{
"boards": ["main", "rising", "entertainment"]
}

To get all boards, use {} or {"boards": []}. The results always come in the board order above, whatever the order in the input. If boards contains a value that is not in the list, the run stops with a message that shows the correct values.

Output

You get one dataset item for each trending topic. A full run with all six boards gives approximately 255 topics.

Output example

{
"board": "main",
"boardName": "抖音热榜",
"rank": 1,
"isPinned": false,
"title": "冰雪大世界官宣联名迪士尼",
"hotValue": 12099906,
"viewCount": 65818088,
"videoCount": 3,
"label": "热",
"labelEnglish": "Hot",
"labelCode": 3,
"categoryCode": 10000,
"highestRank": 1,
"eventTime": "2026-10-12T05:14:17+00:00",
"topicId": "2691421",
"topicUrl": "https://www.douyin.com/hot/2691421",
"searchUrl": "https://www.douyin.com/search/%E5%86%B0%E9%9B%AA%E5%A4%A7%E4%B8%96%E7%95%8C%E5%AE%98%E5%AE%A3%E8%81%94%E5%90%8D%E8%BF%AA%E5%A3%AB%E5%B0%BC",
"topVideoId": "7695396284148831488",
"topVideoUrl": "https://www.douyin.com/video/7695396284148831488",
"coverUrl": "https://p26-sign.douyinpic.com/tos-cn-p-0015/o4FizWTAiMw9aIrInMvb2wBA4IPIxs3cwQSKm~noop.jpeg?...",
"boardUpdatedAt": "2026-10-13T00:24:21+08:00",
"scrapedAt": "2026-10-12T16:25:41+00:00"
}

boardUpdatedAt uses Beijing time (UTC+8), the time zone of Douyin. All other times are in UTC.

Output fields

FieldDescription
boardBoard key: main, rising, entertainment, society, challenge or seeding
boardNameDouyin's name of the board, for example 抖音热榜
rankPosition on the board. 1 is the top. 0 is the pinned topic above rank 1 on the main board.
isPinnedtrue for the pinned topic on the main board
titleThe hot search topic text
hotValueDouyin's heat value. Empty for rising topics and for the pinned topic.
viewCountViews of the topic. Empty for rising topics and for the pinned topic.
videoCountNumber of videos that Douyin links to the topic
labelThe badge next to the topic, in Chinese. Empty when the topic has no badge.
labelEnglishThe English meaning of the badge
labelCodeDouyin's number for the badge
categoryCodeDouyin's category code for the topic. Douyin does not publish the meaning of the codes.
highestRankThe best rank the topic has reached on the board
eventTimeWhen the event of the topic started
topicIdDouyin's ID of the topic. It stays the same across runs and boards.
topicUrlThe topic page on douyin.com
searchUrlA douyin.com search for the topic text
topVideoIdID of the video that Douyin attaches to the topic
topVideoUrlLink to that video
coverUrlTopic cover image. The link expires after some hours.
boardUpdatedAtWhen Douyin last updated the board
scrapedAtWhen the run collected the board

Badges

labellabelEnglishlabellabelEnglish
新New当事人First-hand
商Commercial剧集TV series
热Hot电影Movie
爆Explosive综艺Variety show
首发First release晚会Gala
同城Local辟谣Rumor debunked
独家Exclusive热议Hotly debated
挑战Challenge解读Explainer

Error item example

Sometimes Douyin does not return a board. Then the dataset gets one item for that board with an error field, and the other boards are not affected:

{
"board": "society",
"boardName": "社会榜",
"error": "Douyin did not return this board after 4 attempts … This is usually temporary. Run it again in a few minutes."
}

How to use the Douyin Hot Search Scraper

You can run the scraper in four ways: in Apify Console, with the Apify API, with the Apify API clients for JavaScript and Python, or from an AI assistant. All four use the same input and give the same output.

1. Apify Console (no coding)

  1. Open the Douyin Hot Search Scraper page in Apify Store and click Try for free.
  2. Sign in to Apify, or create a free account.
  3. On the Input tab, keep all boards in Boards, or select only the boards you need.
  4. Click Start.
  5. When the run ends, open the Output tab to see the trending topics in a table.
  6. Click Export to download the data as JSON, CSV, Excel, HTML or XML.

To use the same input again, click Save as a new task. To get a new snapshot automatically, for example every hour, add a schedule to the task.

2. Apify API (HTTP)

Get your API token from Settings → API & Integrations in Apify Console. Replace YOUR_API_TOKEN in the examples with your token.

This request runs the scraper, waits for it to finish and returns the trending topics in the response:

curl -X POST "https://api.apify.com/v2/acts/hgservices~douyin-hot-search-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"boards": ["main", "rising"]}'

To get CSV or Excel instead of JSON, add ?format=csv or ?format=xlsx to the URL.

You can also start the run without waiting, and then get the results:

# 1. Start the run. The response contains "id" and "defaultDatasetId".
curl -X POST "https://api.apify.com/v2/acts/hgservices~douyin-hot-search-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"boards": ["main", "rising"]}'
# 2. When the run status is SUCCEEDED, get the topics.
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json" \
-H "Authorization: Bearer YOUR_API_TOKEN"

3. JavaScript / Node.js (apify-client)

Install the client with npm install apify-client.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('hgservices/douyin-hot-search-scraper').call({
boards: ['main', 'rising'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const topic of items) {
console.log(topic.board, topic.rank, topic.title, topic.hotValue);
}

4. Python (apify-client)

Install the client with pip install apify-client. This example is for apify-client version 3 or later.

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("hgservices/douyin-hot-search-scraper").call(run_input={
"boards": ["main", "rising"],
})
for topic in client.dataset(run.default_dataset_id).iterate_items():
print(topic.get("board"), topic.get("rank"), topic.get("title"), topic.get("hotValue"))

In apify-client version 2 or earlier, use run["defaultDatasetId"] instead of run.default_dataset_id.

The API tab of the Actor page has more examples and the full list of API endpoints.

5. AI assistants: Claude, ChatGPT and other MCP clients

The scraper is available through the Apify MCP server. Connect your AI assistant to the server one time, and then ask in plain language. For example:

"What is trending on Douyin right now? Show the top 10 of the main hot list and the entertainment board, and translate the topics into English."

To give the assistant only this scraper, use this server URL:

https://mcp.apify.com?tools=hgservices/douyin-hot-search-scraper

You can also use https://mcp.apify.com without parameters. Then the assistant can search Apify Store and run this scraper and other Actors.

Claude (claude.ai and Claude Desktop)

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Type a name, for example Apify, and paste the server URL.
  4. Click Add, and then sign in to Apify.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=hgservices/douyin-hot-search-scraper"

Then run /mcp in Claude Code and sign in to Apify.

ChatGPT

  1. Turn on Developer mode in ChatGPT.
  2. Open Settings → Apps & Connectors and click Create.
  3. Type a name, and paste the server URL into MCP Server URL.
  4. Select OAuth for authentication, click Create, and then sign in to Apify.
  5. In a new chat, click + → More, and select your Apify connector.

Cursor, VS Code, Windsurf and other MCP clients

Add this to the MCP configuration of your client:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=hgservices/douyin-hot-search-scraper"
}
}
}

Your client opens a browser window the first time, so that you can sign in to Apify. The Apify MCP configurator can make the configuration for other clients.

Integrations

Send the trending topics to the tools you already use with Apify integrations: Google Sheets, Google Drive, Slack, Make, Zapier, n8n, Airbyte, GitHub and webhooks. Use schedules to run the scraper every hour or every day, and build a history of what trends on Douyin, how long topics stay on the boards and how high they climb.

Use cases

  • China trend monitoring — see what people talk about on China's largest short-video platform, every hour.
  • Marketing and brand research — find trending topics, challenges and products (种草) early.
  • Media and news — follow society and entertainment stories as they rise and fall.
  • Trend history and analytics — schedule the scraper and analyze heat, rank and time on board over weeks.
  • Content planning — find challenges and topics for your own Douyin or TikTok videos.
  • Datasets for AI and research — collect time-stamped trend data with heat values and ranks.

Tips for the best results

  • The boards change all the time. Douyin updates the hot search boards many times a day. Schedule the scraper to see the change over time. boardUpdatedAt and scrapedAt show when each snapshot was taken.
  • Rising topics have no heat value. Douyin shows only the topic and its videos for the rising list, so hotValue and viewCount are empty there.
  • Use topicId to follow a topic. A topic keeps its ID across runs and boards.
  • Save cover images soon. The coverUrl link expires after some hours.

FAQ

Which Douyin boards does the scraper support? The main hot list (抖音热榜), rising now (实时上升热点), entertainment (娱乐榜), society (社会榜), challenges (挑战榜) and product seeding (种草榜).

Can I get all the videos of a topic? No. Douyin shows the full video list of a topic only to signed-in users. Each topic has the one video that Douyin attaches to it, plus a search link. To get more videos about a topic, use the Douyin Search Scraper with the topic text.

What does the badge mean? label is the badge that Douyin shows next to a topic, and labelEnglish is its English meaning. The Badges table shows all of them.

Do I need a Douyin account? No. The scraper works without an account, a password or cookies.

Is the Douyin hot list the same as TikTok trends? No. Douyin is the Chinese version of TikTok. It has its own users, its own content and its own hot search list.

Can I use the data in Excel or Google Sheets? Yes. Download the results as CSV or Excel, or use the Google Sheets integration.

What happens if a board is missing? The dataset gets an item with an error field for that board. The other boards are not affected. Run the scraper again some minutes later.

Other Douyin scrapers

This scraper collects only publicly available data. You are responsible for how you use the data. Obey Douyin's terms of service and the laws that apply to you, such as GDPR and copyright law.

Feedback and support

Did you find a problem, or do you need a new field? Open an issue on the Issues tab.