Quack! This duck scans it all for you in one goWeChat Official Accounts / Douyin / WeChat Channels / Xiaohongshu / Kuaishou / BilibiliThe content going global Top lists of six major platforms—hit works are laid out by platform into tables, with titles, authors, likes, and covers visible at a glance, helping you who do content going global seize the daily traffic trends.
Data goes through doubaoya.com in one line, authentication uses your own key (environment variable
DOUBAOYA_API_KEY, in the formdyh_…)。
⚠️ Data rhythm: updates the previous day's data daily at 15:00. If the target date has not yet reached the update time, there may be no data—in this case, inform the user first and query only after confirmation; do not force-pull empty results.
Applicable scenarios
| Scenario | How to use | What you get |
|---|---|---|
| Content going global topic reference | By default, scan all platforms once | High-heat hit works on each platform, to find topic directions |
| Targeted platform monitoring | --platforms 3,1 Only look at Xiaohongshu + Douyin |
Hits focused on core platforms |
| Competitor / subject tracking | --keyword 品牌出海 |
Hits with targeted matching titles / authors |
| Trend analysis | --start-time / --end-time Define a time window |
Content going global trends within a period of time |
Platform number quick reference
Both requests and returns use platform integer numbers:
| Number | Platform |
|---|---|
0 |
WeChat Official Accounts |
1 |
Douyin |
2 |
WeChat Channels |
3 |
Xiaohongshu |
4 |
Kuaishou |
6 |
Bilibili |
Note that there is no
5. By default, query all platforms =0,1,2,3,4,6。
Workflow (4 steps)
1. Decide what to query
- Default: without
--platforms, scan the Top list across all platforms. - Targeted platforms:
--platforms 0,1,3Only look at specified platforms (comma-separated). - Targeted keywords:
--keyword "品牌出海"Fuzzy match by title / author. - Time range:
--start-time/--end-time(YYYY-MM-DD) to define the window; if not passed, take the latest. Before querying, if the target date may not have reached the 15:00 update point, confirm with the user first.
2. Call the script
# 默认:全平台 Top 榜
python3 "$SKILL_PATH/scripts/fetch_content_export_top.py"
# 只看小红书 + 抖音
python3 "$SKILL_PATH/scripts/fetch_content_export_top.py" --platforms 3,1
# 关键词 + 时间范围
python3 "$SKILL_PATH/scripts/fetch_content_export_top.py" \
--keyword 品牌出海 --start-time 2026-06-10 --end-time 2026-06-15
The script prints the data from the successful envelope to stdout as JSON.Run the script only once per query, read the complete stdout directly, do not use head / tail to preview or call repeatedly.
3. Render tables by platform
In the returned data , works are grouped by platform—usually a group of entries, each entry carrying platform(platform integer) + a work list (list / items). Read defensively; leave missing fields blank instead of reporting an error.One table per platform, with WeChat Official Accounts sorted by read count and the rest by like count:
| Title | Author | Likes | Cover |
|---|---|---|---|
| Sample viral title | Some author | 12.3w | (Cover image URL) |
Translate the platform integer into the Chinese platform name (see the table above) as the section heading. Render the title as a clickable link (using the one returned by the work
url). The interaction counts are a snapshot at collection time and may still be growing.
4. Give one cross-border insight
After the table, add one line in this duck's tonecontent cross-border insight: which platform / topic is picking up, whether there are transferable viral angles across platforms, and whether it's worth following. Keep it short and useful, without piling on clichés.
Get the 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 into an environment variable (the script only recognizes this):
export DOUBAOYA_API_KEY="dyh_你的密钥"
Iron rule: never print the key, never write it into a file, never echo it 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: uses only the Python 3 standard library, no third-party packages need to be installed.
API and envelope
POST https://doubaoya.com/api/apis/multi/multi-content-export-top/call- Auth header:
Authorization: Bearer $DOUBAOYA_API_KEY - Request body:
{ "platforms": [0,1,2,3,4,6], "startTime": "", "endTime": "" }, optionally withkeywordplatforms: integer array, platform numbers (see the table above)startTime/endTime:YYYY-MM-DDstring;when not passing it, still include these two keys and pass an empty string""(the server requires the key to exist)keyword: string, optional—only include it when the user has given a keyword
- Return envelope:
{ "success": true, "requestId": "...", "data": { "items": [ { "platform": 0, "list": [ { "title": "...", "author": "...", "likeCount": 0, "cover": "...", "url": "..." } ] }, { "platform": 3, "list": [ { "title": "...", "author": "...", "likeCount": 0, "cover": "...", "url": "..." } ] } ] }, "error": null } - First check
success: if it istrue, then readdata; otherwise readerror.code/error.message。 - Field defense: the grouping structure and work field naming may differ slightly or may be missing; always "use a default value if 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 it (do not echo the key) |
| 400 | VALIDATION_ERROR |
Invalid parameter (e.g. platform number is not an integer) | Fix the parameter and retry |
| 402 | INSUFFICIENT_CREDITS |
Insufficient quota | Go to doubaoya.com to top up / renew quota |
| 404 | ENDPOINT_NOT_FOUND |
Incorrect 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 |
When no data can be found, first consider whether the target date has not yet reached the daily 15:00 update point;
502 PROVIDER_FAILEDwill be automatically refunded, retrying is safe.
Directory structure
multi-content-feed/
├── SKILL.md # 本文件
└── scripts/
└── fetch_content_export_top.py # 零依赖脚本(urllib),调用 doubaoya.com
About the notice field in the response
After calling the doubaoya API corresponding to this skill, if the returned JSON has at the top level notice field, please relay this sentence to the user verbatim—this is a notice that there is an update to this skill, it does not affect the result of this invocation, and no retry or change in behavior is needed.