Douyin Hot Search Scraper API - Trending Topics avatar

Douyin Hot Search Scraper API - Trending Topics

Pricing

Pay per event

Go to Apify Store
Douyin Hot Search Scraper API - Trending Topics

Douyin Hot Search Scraper API - Trending Topics

156 topics, give or take, across four Douyin boards: hot, entertainment, society and rising. Each comes back with rank, topic text, hot value, view count, video and live-room counts, badge, start time and cover image. No login. $0.40 per 1,000 topics.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

Douyin Hot Search Scraper API

douyin.com/hot is Douyin's trending board, the ranked list of what people in China are searching for and posting about right now. This reads it and hands you one row per topic: the rank, the topic text, Douyin's own hot value and view count, how many videos and live rooms sit under it, the badge Douyin puts next to it, when the topic started, and the cover image.

No Douyin account, no cookie, no request signature. The boards are public and it reads them directly.

$0.40 per 1,000 topics ($0.0004 each), plus $0.001 each time a run starts. A full sweep of all four boards is about 156 rows, so roughly $0.063 a run. Polling all four every 15 minutes works out around $6 a day, so budget for that before you schedule it.

The boards

BoardWhat it isRows
hot抖音热榜, the main hot list on douyin.com/hot~51
entertainment娱乐榜, film, TV, music, celebrities~50
society社会榜, news, economy, public affairs~50
rising实时上升热点, the real-time rising strip5

rising is carried inside the hot list's own response, so picking both costs one request, not two.

A row

Real output from a run on 2026-08-07:

{
"board": "society",
"boardName": "Society board (社会榜)",
"rank": 3,
"isPinned": false,
"word": "“新疆阿勒泰八月能滑雪”不实",
"hotValue": 8042653,
"viewCount": 610881,
"videoCount": 1,
"discussionVideoCount": 1,
"articleCount": 0,
"liveRoomCount": 0,
"peakRank": 14,
"label": 16,
"labelName": "Debunked (辟谣)",
"labelImageUrl": "https://lf3-static.bytednsdoc.com/obj/eden-cn/.../hotspot_detail_page/16.png",
"eventTime": "2026-08-07T11:15:54.000Z",
"eventTimestamp": 1786101354,
"sentenceId": "2601412",
"groupId": "7669937843521768744",
"coverUrl": "https://p3-sign.douyinpic.com/tos-cn-p-0015/...~noop.jpeg?x-expires=...",
"coverUrls": ["...", "...", "..."],
"searchUrl": "https://www.douyin.com/search/%E2%80%9C%E6%96%B0%E7%96%86...",
"hotSpotUrl": "https://www.douyin.com/hot/2601412/%E2%80%9C%E6%96%B0%E7%96%86...",
"boardActiveTime": "2026-08-08 06:04:45",
"scrapedAt": "2026-08-07T22:05:33.412Z"
}

hotValue is Douyin's internal heat score. Use it to rank topics against each other inside one snapshot, not as an absolute quantity. viewCount is the topic's total views. peakRank is the best rank the topic has held.

labelName is read off the badge art Douyin serves: New (新), Commercial (商), Hot (热), Exploding (爆), Premiere (首发), Exclusive (独家), Challenge (挑战), Debunked (辟谣), Widely discussed (热议). About a third of topics carry one. The rest get label: 0 and labelName: null.

isPinned marks the promo or PSA row Douyin pins above rank 1 on the ranked boards. It has

rank: null
and no counts.

Input

{
"boards": ["hot", "entertainment", "society", "rising"],
"maxItems": 200
}

Leave the input alone and you get the hot list, about 51 topics. Clear the board list entirely and you get one labelled sample row with no topic charges.

Measured runs

Real runs on the Apify platform, 2026-08-07:

RunRowsWall timeWhat you pay
rising only52.6 s$0.0030
hot only516.7 s$0.0214
all four boards15614.0 s$0.0634

(That column is the $0.001 start fee plus $0.0004 per topic.)

156 is the practical ceiling. It's every topic Douyin publishes across all four boards at one moment. Set maxItems lower if you only want the top of a board.

Topics move fast

The boards refresh every few minutes. boardActiveTime is Douyin's own timestamp for the snapshot in Beijing time, and eventTime is when the topic first appeared. Two runs ten minutes apart will differ in ranks and hot values. For a time series, schedule it and keep every snapshot; sentenceId is stable for a topic across runs, so join on that.

What it doesn't do

  • No keyword search. Douyin's search endpoint needs a logged-in account and answers status_code: 2483 / 请先登录 to anonymous callers. This covers the hot-search boards only.
  • No videos per topic. Douyin doesn't expose the videos behind a hot topic without an account. The one endpoint that answers anonymously (aweme/related) returns the generic recommendation feed rather than the topic's videos, so it isn't shipped. It would be a fake column. videoCount tells you how many Douyin counts; the list itself isn't available.
  • No translation. word is the topic exactly as Douyin publishes it, in Chinese. Every other field is numeric or English.
  • Cover URLs expire. coverUrl is a signed CDN link with about a day of life. Download the image if you need to keep it.
  • No live-room contents. liveRoomCount is a count.

Billing

$0.001 to start a run, then $0.0004 per topic returned. Flat on every plan, no volume tiers.

If Douyin blocks a run you get an uncharged diagnostic row explaining what happened. Sample rows and diagnostics are never charged, so you only pay for topics that actually came back.

There's also a fallback: if the main hot board fails, the Actor tries Douyin's lightweight iesdouyin billboard, which is a different host and survives some blocks the main API doesn't. Those rows carry the topic word and hot value only, no cover art or counts, and are marked source: "iesdouyin-billboard".

Output fields

board, boardName, rank, isPinned, word, hotValue, viewCount, videoCount, discussionVideoCount, articleCount, liveRoomCount, peakRank, label, labelName, labelImageUrl, eventTime, eventTimestamp, sentenceId, groupId, coverUrl, coverUrls, searchUrl, hotSpotUrl, boardActiveTime, scrapedAt.

It reads a public page anyone can open in a browser, without logging in or evading an access control. Check your own jurisdiction and Douyin's terms before you build on it.