Douyin Hot Search Scraper API - Trending Topics
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
a day ago
Last modified
Categories
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
| Board | What it is | Rows |
|---|---|---|
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 strip | 5 |
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: nullInput
{"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:
| Run | Rows | Wall time | What you pay |
|---|---|---|---|
rising only | 5 | 2.6 s | $0.0030 |
hot only | 51 | 6.7 s | $0.0214 |
| all four boards | 156 | 14.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.videoCounttells you how many Douyin counts; the list itself isn't available. - No translation.
wordis the topic exactly as Douyin publishes it, in Chinese. Every other field is numeric or English. - Cover URLs expire.
coverUrlis a signed CDN link with about a day of life. Download the image if you need to keep it. - No live-room contents.
liveRoomCountis 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.
Legal
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.