This Ya helps you pull by datepublic account reading growth rate ranking—specifically picking out the "dark horses" with the fastest recent growth, letting you see at a glance which accounts are rising and which tracks are growing, and conveniently judge the current traffic trends.
Data goes through doubaoya.com one line, authentication uses your own key (environment variable
DOUBAOYA_API_KEY, in the formdyh_…)。
Applicable Scenarios
| Scenario | How to Use | What You Get |
|---|---|---|
| Discover Dark Horses | Pull the latest growth ranking to see who is surging | A batch of high-growth accounts |
| Traffic Trends | See which tracks the growth accounts are concentrated in | The real current traffic trends |
| Benchmark Rising Accounts | Find accounts that are gaining momentum to study their tactics | Transferable growth strategies |
| Daily Quick Scan | Scan the growth ranking once every day | The day's dark horse list |
Workflow (4 Steps)
1. Set the Date
By default, pull the ranking for latest(2 days before today) . Two hard rules (tested on 2026-08-13):
- Data is delayed by about two days: yesterday's and today's rankings have not yet been settled, so querying them directly will definitely be empty. Therefore the default is T-2,
don't change it to "yesterday"—
--date yesterdaynow almost always returns an empty ranking. - Only the most recent 30 days are retained: earlier dates will not return an empty ranking, but will directly be judged as no result found (422).
--auto-backcan move back at most 7 days, and cannot cross this 30-day wall.
--date accepts latest / yesterday / today, and also accepts specific YYYY-MM-DD。
2. Call the Script
python3 "$SKILL_PATH/scripts/fetch_growth_rank.py"
When specifying a datecalculate it based on today, don't copy a hardcoded date(a hardcoded date will sooner or later slide outside the 30-day window):
python3 "$SKILL_PATH/scripts/fetch_growth_rank.py" \
--date "$(date -d '-5 days' +%F 2>/dev/null || date -v-5d +%F)"
If there is no data for a certain day, add --auto-back to let the script automatically trace back day by day (up to 7 days), stopping as soon as it finds data:
python3 "$SKILL_PATH/scripts/fetch_growth_rank.py" --date yesterday --auto-back
The script outputs the data from the success envelope as JSON to stdout.Run the script only once each time, read the full stdout, don't use head/tail to preview.
Even without adding
--auto-back, when encountering "no data for the specified date", you can also have the main Agent proactively move--dateback one day and run again, until data is obtained—but don't move outside the most recent 30 days.
3. Render the Growth Ranking Table
From data.items , take rank (position)、accountName (account name)、readRaise (reading growth) and other fields (defensive reading, leave blank if missing), lay them out into a Markdown table, sorted by rank ascending:
| Rank | Account | Reading Growth |
|---|---|---|
| 1 | Some Public Account | +xxx% |
readRaiseis read growth (increment or growth rate, displayed as returned), don't imagine index fields the API didn't provide.
4. Give a one-line trend insight
After the table, add a line in this duck's voice: which tracks these dark horses are concentrated in, what hot topics they rode, and which tactics can be transferred to your own account or other platforms. Keep it short, useful, and don't pile on clichés.
Get the key (secret key)
- Open doubaoya.com
- Log in
- Go to Key Center
- Generate key(in the form
dyh_…)
Configure it into an environment variable (the script only recognizes this one):
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。
API and envelope
POST https://doubaoya.com/api/apis/gongzhonghao/gongzhonghao-raise-rank/call- Auth header:
Authorization: Bearer $DOUBAOYA_API_KEY - Request body:
{ "rankDate": "YYYY-MM-DD" }rankDate: stringYYYY-MM-DD,required; only the most recent 30 days are kept, and data is delayed by about two days (the script mapslatest/yesterday/todayto a specific date, defaultlatest= 2 days before today)
- Return envelope:
{ "success": true, "requestId": "...", "data": { "items": [ { "rank": 1, "accountName": "...", "readRaise": "..." } ] }, "error": null } - First check
success: only when it istruereaddata; otherwise readerror.code/error.message。
Error handling
When the script fails, it prints to stderr [error] CODE: message and exits 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 Key Center to regenerate |
| 400 | VALIDATION_ERROR |
Invalid parameter (e.g. wrong date format) | Fix --date and retry |
| — | NO_DATA |
Still no ranking after tracing back multiple days | Try another date, or confirm the data window |
| 402 | INSUFFICIENT_CREDITS |
Insufficient quota | Go to doubaoya.com to top up/renew quota |
| 422 | PROVIDER_NO_RESULT |
No data found for this set of parameters,most likely the date is outside the most recent 30 days | Move --date into the most recent 30 days (T-2 recommended) and retry |
| 502 | PROVIDER_FAILED |
Temporary upstream failure (automatically refunded) | Safe to retry |
502 PROVIDER_FAILEDwill be automatically refunded, retrying is safe and won't double-charge.
The ranking is empty(success: true but 0 entries): it's not a failure, and itwon't deduct your credits—the response will carry a
noResult flag, and the credits are refunded on the spot. The most common reason is that the date landed on yesterday/today; move it back two days and try again.
Directory structure
wechat-fastest-growing/
├── SKILL.md # 本文件
└── scripts/
└── fetch_growth_rank.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 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 no retry or behavior change is needed.