What is China talking about right now? If you work in PR, brand monitoring, journalism or you feed LLM pipelines, that question means checking six different hot lists: Weibo hot search (微博热搜), Baidu hot search, Zhihu hot list, Douyin trending, Toutiao and Bilibili — each with its own format, none with an official public API.

I got tired of maintaining six scrapers, so I merged them into one Apify Actor that returns a single unified schema. This post shows how to turn it into a tiny keyword alert.

Disclosure: I built the Actor. Pricing is pay-per-result ($2 / 1,000 items — a full run of ~280 items costs about half a cent).

Unified output

{"platform":"weibo","rank":3,"title":"...","url":"https://s.weibo.com/weibo?q=...", "hotValue":1234567,"label":"hot","category":null,"fetchedAt":"2026-10-28T08:16:41Z"} 

Every platform maps to the same fields: platform, rank, title, url, hotValue, label, category, fetchedAt.

Fetch everything

import os from apify_client import ApifyClient client = ApifyClient(os.environ["APIFY_TOKEN"]) ACTOR = "certified_astronomy_6vi/china-trending-hotlists" def trending(platforms=("weibo","baidu","zhihu","douyin","toutiao","bilibili"), n=50): run = client.actor(ACTOR).call(run_input={ "platforms": list(platforms), "maxItemsPerPlatform": n}) return list(client.dataset(run["defaultDatasetId"]).iterate_items()) items = trending(n=10) for it in items: print(f"[{it['platform']:>8}] #{it['rank']:<2} {it['title']} ({it.get('hotValue')})") 

Keyword alert

WATCH = ["特斯拉", "Apple", "小米", "比亚迪"] # brands you care about  hits = [it for it in trending() if any(k.lower() in it["title"].lower() for k in WATCH)] for h in hits: print(f"ALERT {h['platform']} #{h['rank']}: {h['title']} -> {h['url']}") # send to Slack / email / Telegram here 

Make it continuous

In the Apify console, create a Schedule (e.g. every hour) for the Actor and add a webhook on ACTOR.RUN.SUCCEEDED pointing to your own endpoint. Each run's dataset becomes one snapshot — append them to a table and you get topic lifecycles: when a topic first appears, which platform picks it up first, how long it stays.

import pandas as pd df = pd.DataFrame(items) print(df.groupby("platform")["title"].count()) # Cross-platform topics: same keyword appearing on 3+ lists 

English titles?

Titles stay in original Chinese. Pipe them through any translation API or an LLM — batching ~50 titles per prompt is cheap.

Responsible use

Only public trending lists, no login, no personal data, one request per platform per run.

Link: https://apify.com/certified_astronomy_6vi/china-trending-hotlists

Which platform should I add next — Xiaohongshu public trends, 36Kr, or Kuaishou? Let me know.