Quack! This duck gathers all at onceDouyin, Weibo, Bilibili, Kuaishou, Zhihu, Toutiao, Baiduand other all-platform trending searches together — the same event is merged across platforms, ranked into a TOP list by comprehensive popularity, and each item also shows which platforms it appeared on. One glance in the morning tells you what the whole internet is buzzing about today, without having to scroll through platform after platform.
Data goes through doubaoya.com one line; authentication uses your own key (environment variable
DOUBAOYA_API_KEY, in the formdyh_…)。⚠️ This tool only outputsaggregated trending lists, and does not support querying details for a specific trending term.
Use cases
| Scenario | How to use | What you get |
|---|---|---|
| Today's trending scan | Run directly (without a date) | The current all-platform hottest aggregated TOP list |
| Topic selection decisions | View the TOP list + platform distribution | Locate high-value topics in 5 minutes |
| Public opinion / trend riding | See which item is dominating across multiple platforms | Discover events you can ride on / need attention at the first opportunity |
| Trending records | Run once at a fixed time every day and save it | Build a visible evolution of trending topics for yourself |
🔗 Want to create a "comprehensive trending topic selection"? The main path is
trending-hub(directly get comprehensive trending topics without keywords → intelligently match with personal IP → produce topics). What this skill outputs istrending search keyword seeds(20 trending words + the platforms they belong to), which are the optional "topic name seeds" in that workflow — after getting the trending words, return to the workflow oftrending-hub: match with the user's IP positioning, anddo not use the user's account name/IP name as keywords to search。
Workflow (4 steps)
1. Decide the time scope
There is only one scope: no date. The trending list is a "current snapshot", not a traceable time series — tested (2026-08-13)
passing any date range (even yesterday to today counts) returns 0 items, and only without a date do you get the latest batch of 20 trending words.
--start-date / --end-date Currentlyhas no available data upstream, so do not use it.
2. Call the script
# 最新聚合热榜 —— 就这一条命令,别加日期参数
python3 "$SKILL_PATH/scripts/fetch_hot_keywords.py"
The script prints the data from the success envelope as JSON to stdout.Run the script only once per query, read the full stdout directly, and do not use head / tail preview or repeated calls.
3. Render the trending searches TOP table
Take items from the hotspot array in data (defensive reading; leave fields blank if missing instead of erroring). Each item usually contains keyword(trending search keyword) + plats(array of platforms it belongs to, marking which platforms the hotspot appeared on). Take the TOP10 by comprehensive popularity from high to low and lay them out into a table:
| Rank | Hot search keywords | Platform |
|---|---|---|
| 1 | Example hot search term | Weibo / Douyin / Toutiao |
| 2 | Another hot search term | Zhihu / Bilibili |
Trending topics that appear on multiple platforms at the same time indicate high consensus across the entire internet and strong传播力, so you can pay special attention to them.
4. Give a one-sentence hot topic insight
After the table, add one sentence in this duck's toneHot topic insight: which one is dominating across platforms, which type of topic (breaking / entertainment / livelihood / industry) is worth creating content to ride the trend, and which is still on the rise. Keep it short and useful, don't pile on empty talk.
Get a key (secret key)
- Open doubaoya.com
- Log in(register first if you don't have an account)
- Go to Key Center
- Generate key(in the form
dyh_…)
Configure it to an environment variable (the script only recognizes this):
export DOUBAOYA_API_KEY="dyh_你的密钥"
Iron rule: the key must never be printed, never written to a file, and never echoed back to the user. The script itself also never outputs the key. All requests are sent only to doubaoya.com, do not take the key to any other domain.
Dependencies: only use the Python 3 standard library, no third-party packages need to be installed.
Interface and envelope
POST https://doubaoya.com/api/apis/trend/hot-keywords/call- Auth header:
Authorization: Bearer $DOUBAOYA_API_KEY - Request body:
{}(fetch the latest)startDate/endDate:YYYY-MM-DD,Optional, but currently if included it will always return 0 items(the upstream only provides the latest batch), so the normal usage is an empty request body
- Return envelope:
{ "success": true, "requestId": "...", "data": { "items": [ { "keyword": "...", "plats": ["微博", "抖音", "头条"] } ] }, "error": null } - First check
success: if it istrue, then readdata; otherwise readerror.code/error.message。 - Field defense: hot topic item field names may differ slightly, or may be missing; always "use a default value when it cannot be retrieved".
Error handling
When the script fails, print to stderr [error] CODE: message and exit with code 1. Common cases:
| HTTP | code | Meaning | Handling |
|---|---|---|---|
| 401 | MISSING_API_KEY / UNAUTHORIZED |
No key provided or invalid key | Check DOUBAOYA_API_KEY, go to the Key Center to regenerate (do not echo the key) |
| 400 | VALIDATION_ERROR |
Invalid parameter (such as wrong date format) | Fix the parameter and retry |
| 402 | INSUFFICIENT_CREDITS |
Insufficient quota | Go to doubaoya.com to top up / renew quota |
| 404 | ENDPOINT_NOT_FOUND |
Wrong API path | Usually the script has been modified; restore the default endpoint path |
| 502 | PROVIDER_FAILED |
Temporary upstream failure (automatically refunded) | safe to retry |
| — | NETWORK_ERROR |
Cannot connect to doubaoya.com | Check the network and retry |
502 PROVIDER_FAILEDwill automatically refund, retrying is safe and will not double-charge.
Directory structure
trending-hub-top10/
├── SKILL.md # 本文件
└── scripts/
└── fetch_hot_keywords.py # 零依赖脚本(urllib + datetime),调用 doubaoya.com
About the notice field in the response
After calling the doubaoya API corresponding to this skill, if the returned JSON has a top-level notice field, please relay this sentence to the user verbatim—this is a notice that this skill has an update, it does not affect the result of this call, and there is no need to retry or change behavior.