China Trending Topics: Weibo Douyin Baidu Toutiao Bilibili avatar

China Trending Topics: Weibo Douyin Baidu Toutiao Bilibili

Pricing

$3.00 / 1,000 trending topics

Go to Apify Store
China Trending Topics: Weibo Douyin Baidu Toutiao Bilibili

China Trending Topics: Weibo Douyin Baidu Toutiao Bilibili

China trending topics from Weibo, Douyin, Baidu, Toutiao and Bilibili in one call: rank, hot value, label, topic link, one schema, new/rising/falling tracking between runs. No login. $3 per 1,000.

Pricing

$3.00 / 1,000 trending topics

Rating

0.0

(0)

Developer

Prague Data Lab

Prague Data Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

China Trending Topics API (Weibo, Douyin, Baidu, Toutiao, Bilibili)

China trending topics from Weibo, Douyin, Baidu, Toutiao and Bilibili in one call: one row per topic with platform, board, rank, the original Chinese title, hot value, label (hot / new / boom) and a link, in one schema for all five platforms. No login, no cookies, no proxy needed, $3 per 1,000 topics.

{ "platforms": ["weibo", "douyin", "baidu", "toutiao", "bilibili"], "maxItemsPerPlatform": 10 }

Three output rows (long values shortened, snapshot of 20 Oct 2026):

{
"type": "trend",
"platform": "douyin",
"platformName": "抖音",
"board": "hot",
"boardName": "热点榜",
"rank": 1,
"word": "中国队夺拜仁青年杯冠军",
"url": "https://www.douyin.com/hot/2703074",
"hotValue": 11741271,
"label": "hot",
"labelName": "热",
"category": null,
"description": null,
"imageUrl": "https://p5-ex-gddgtc-sign.douyinpic.com/tos-cn-p-0015c000-ce/oolEYEfEnw1Q…~noop.jpeg",
"topicId": "2703074",
"isAd": false,
"isPinned": false,
"videoCount": 1,
"eventAt": "2026-10-19T09:21:11.000Z",
"snapshotAt": "2026-10-20T06:10:00.000Z",
"firstSeenAt": null,
"minutesOnBoard": null
}
{
"type": "trend",
"platform": "baidu",
"platformName": "百度",
"board": "realtime",
"boardName": "热搜榜",
"rank": 1,
"word": "披旭日旗的中国留学生已被遣返开除",
"url": "https://www.baidu.com/s?wd=%E6%8A%AB%E6%97%AD%E6%97%A5%E6%97%97…",
"hotValue": 7809798,
"label": "hot",
"labelName": "热",
"category": null,
"description": "近日,一名陈姓中国留学生在莫斯科大学历史系课堂身披日本军国主义旭日旗引发…",
"imageUrl": "https://fyb-2.cdn.bcebos.com/hotboard_image/079871afd7f038bb5ed70f23ac1c022d",
"topicId": null,
"isAd": false,
"isPinned": false,
"videoCount": null,
"eventAt": null,
"snapshotAt": "2026-10-20T06:10:00.000Z",
"firstSeenAt": null,
"minutesOnBoard": null
}
{
"type": "trend",
"platform": "bilibili",
"platformName": "哔哩哔哩",
"board": "search",
"boardName": "热搜",
"rank": 1,
"word": "英伟达称消费级GPU短缺已失控",
"url": "https://search.bilibili.com/all?keyword=%E8%8B%B1%E4%BC%9F%E8%BE%BE…",
"hotValue": 788145,
"label": "hot",
"labelName": "热",
"category": null,
"description": null,
"imageUrl": null,
"topicId": null,
"isAd": false,
"isPinned": false,
"videoCount": null,
"eventAt": null,
"snapshotAt": "2026-10-20T06:10:00.000Z",
"firstSeenAt": null,
"minutesOnBoard": null
}

What you get

Everything comes from the public hot boards of each platform, the same lists the apps and websites show to a visitor who is not signed in. A full run of the five default boards takes about 10 seconds.

PlatformDefault boardOther boards (optional)hotValue isAlso in the row
Weibo 微博realtime 热搜榜 (50 topics + the pinned one)entertainment 文娱榜, news 要闻榜Weibo heat score (热度). Realtime top is between a few hundred thousand and over a millioncategory, Weibo's own first-seen time on the realtime board
Douyin 抖音hot 热点榜 (about 50 topics)rising 实时上升热点 (5 fast climbers, no hot value)Douyin hot value (热度值). Top is about 11 milliontopic ID, video count, event time, cover
Baidu 百度realtime 热搜榜 (50 topics)livelihood, finance, sports, new_entertainment, internation_news, challenge, movie, teleplay, novel, car, gameBaidu hot score (热搜指数). Realtime top is about 7.8 million; movie, TV, novel and game boards use a smaller scale (about 100,000)summary text, cover
Toutiao 今日头条hot 热榜 (50 topics + the pinned one)Toutiao hot value. Top is about 27 milliontopic ID, interest category, cover
Bilibili 哔哩哔哩search 热搜 (50 trending search keywords) and ranking 全站榜 (100 top videos)search: heat score (about 0.8 million at the top). ranking: view count of the videoranking: BV id as topic ID, cover

Hot values use a different scale on every platform: compare ranks and changes inside a platform, not raw values across platforms.

Use cases

  • Brands and agencies selling in China: see within the hour when your brand, a competitor or a category reaches a hot board, which platform picked it up first and how long it stays.
  • Media and newsrooms: one table of what China is talking about right now, with what the platforms pin to the top.
  • Analysts and researchers: an hourly time series of attention (rank, hot value, label) across five platforms for sentiment, consumer-trend or political-communication studies.
  • AI agents: one cheap call returns a structured, deduplicated snapshot of China's trending topics with links.

Input

FieldTypeDefaultDescription
platformsarrayall fiveweibo, douyin, baidu, toutiao, bilibili.
maxItemsPerPlatforminteger20Top N rows kept per platform (1 to 200); each row is one charged event. With several boards on one platform the top of every board comes first (Bilibili default: search and ranking share N, so 10 gives 5 + 5). A pinned topic counts as a row.
deltaModebooleanfalseTag each topic new, rising, falling or steady versus the previous run with the same delta key.
deltaStateKeystringdefaultName of an independent tracking stream (e.g. hourly). Kept in your key-value store china-trending-state.
includePromotedbooleanfalseWeibo sells one slot on the realtime board, and Douyin marks sponsored slots with a 商 badge. Dropped before billing by default; with true they are returned with isAd: true.
weiboBoardsarray["realtime"]realtime, entertainment, news.
douyinBoardsarray["hot"]hot, rising.
baiduBoardsarray["realtime"]realtime, livelihood, finance, sports, new_entertainment, internation_news, challenge, movie, teleplay, novel, car, game.
bilibiliBoardsarray["search", "ranking"]search, ranking.
proxyConfigurationobjectnoneOptional Apify Proxy. Not needed today.

Titles stay in the original Chinese: translation is not part of this Actor. Pipe the word column to a translation API or an LLM downstream if you need it.

Output fields

One row per topic per snapshot. Every field is also in the dataset schema.

FieldDescription
typeAlways trend (also the name of the charged event).
platform, platformNameweibo, douyin, baidu, toutiao or bilibili, and its Chinese name.
board, boardNameBoard key (see the table above) and the board's name as the platform shows it.
rankPosition on the board, 1 = top. null for the topic the platform pins above the board, and for Weibo's paid slot.
wordTopic text in Chinese, without # marks. On the Bilibili ranking board: the video title.
urlLink to the topic: Weibo, Baidu and Bilibili search page, Douyin hot page, Toutiao trending page, Bilibili video.
hotValueHeat score as the platform publishes it, null when it publishes none (Douyin rising, the pinned topics, Baidu when only the mobile list answers). Bilibili ranking: view count.
labelhot, new, boom or none.
labelNameThe badge as the platform shows it (热, 新, 爆, 沸, 热议, 独家, 首发, 挑战, 梗, 解读, 辟谣…), null when there is none.
categoryWeibo category (民生新闻, 艺人…), Toutiao interest category (international, sports…), Bilibili video partition when available; null otherwise.
descriptionShort summary text (Baidu).
imageUrlCover image of the topic or video, when the platform gives one.
topicIdThe platform's own ID: Douyin sentence_id, Toutiao cluster ID, Bilibili BV id on ranking. null where the platform has none.
isAd, isPinnedPaid slot (only with includePromoted); topic pinned above the board.
videoCountDouyin: number of videos under the topic.
eventAtDouyin: time of the event behind the topic. ISO 8601 UTC.
snapshotAtTime of the snapshot, ISO 8601 UTC. The same for every row of a run.
firstSeenAt, minutesOnBoardWhen the topic entered the board: Weibo's own time on the realtime board, or the first run of the delta key that saw it (deltaMode). Minutes since then.
status, previousRank, rankDelta, hotValueDelta, peakRank, peakHotValuedeltaMode only: see below.

Track movement: hourly snapshots with deltaMode

The Actor returns snapshots. To see movement, schedule it:

  1. Create a task with { "platforms": ["weibo", "douyin", "baidu", "toutiao", "bilibili"], "maxItemsPerPlatform": 10, "deltaMode": true, "deltaStateKey": "hourly" }.
  2. In Apify Console go to Schedules → Create new, cron 0 * * * * (every hour), and add the task.
  3. Every run stamps its rows with snapshotAt. Collect them with an integration (Google Sheets, webhook, Make, Zapier) or the API (GET /v2/actor-tasks/{taskId}/runs, then each run's defaultDatasetId items) and group by platform, board, word and snapshotAt to chart rank and hot value over time.
  4. With deltaMode every row also says how it moved since the previous run of the same key: status is new, rising, falling or steady; previousRank and rankDelta (positive = climbed); hotValueDelta; firstSeenAt and minutesOnBoard; peakRank and peakHotValue (best seen on that board). The first run of a key is the baseline: every topic is new.

Use one deltaStateKey per schedule. Movement is computed on the full board (about 50 topics, 100 videos for the Bilibili ranking) before maxItemsPerPlatform is applied, so a topic entering your top 10 from rank 11 shows rising, not new. Topics that left a board are not returned as rows. Tracking history is kept for a week per topic.

Cost of an hourly snapshot: the prefill above is 50 rows × $0.003 = $0.15 per run, about $108 a month. Fewer rows or fewer platforms cost proportionally less.

When a platform is down

A platform, or one board of a platform, that cannot be read (blocked, changed, timing out) is skipped: the run continues with the others, charges only for the rows it delivers, and the final status message names what was skipped and why, for example:

40 trending topics saved (weibo: 10, baidu: 10, toutiao: 10, bilibili: 10). Skipped: douyin (HTTP 503 from www.douyin.com).

Baidu and Bilibili have a built-in second source: Baidu falls back to its mobile list (same ranking, no hot value) and each Bilibili board has a second endpoint. If nothing could be read, the run ends with a status message and an empty dataset, without a crash.

Pricing

$3 per 1,000 topics ($0.003 per row, pay per result). No platform-usage charge on top. The run stops cleanly when the maximum cost you set is reached. With several platforms the rows are delivered one rank at a time across platforms (all rank 1s, then all rank 2s…), so a cost cap keeps a fair mix instead of only the first platform.

Good to know

  • Public data, no login. Only the public hot boards are read. No accounts, cookies or personal data of private individuals are involved: rows are topics, keywords and, on the Bilibili ranking, public videos.
  • Not covered, because they need a login or a signed request: Zhihu hot list, Kuaishou, RedNote (Xiaohongshu), Douyin search, Taobao. Weibo posts of verified accounts per topic: use the sister Actor Weibo Hot Search Scraper.
  • The platforms change their pages without notice. The Actor has fallbacks where a second source exists and tells you in the status message when something was skipped.
  • Bilibili ranking: the site's newer ranking/v2 endpoint refuses datacenter IPs, so the Actor reads the classic ranking endpoint (100 videos, ranked over the last 3 days) and only tries ranking/v2 if the classic one stops answering.
  • Timestamps are ISO 8601 in UTC. Platforms publish in Beijing time (UTC+8); the Actor converts.

FAQ

Can I get the Chinese titles translated? Not here. Keep word as the join key and translate downstream.

Why do I get fewer rows than maxItemsPerPlatform × platforms? Boards can be shorter than the cap (Douyin about 50, rising 5), a platform can be skipped (see the status message), and paid slots are dropped unless includePromoted is on.

Why is Bilibili split in two? Its two default boards (search and ranking) share the platform's N. Set bilibiliBoards to ["search"] for 10 trending keywords only.

How fresh is the data? The platforms refresh their boards every few minutes. An hourly schedule is a good default.