SuperAPI AI Directory

xiaohongshu-lowtop

Marketing & growth

View repository

Updated 10-16 04:56

About this skill

Xiaohongshu Low-Follower Viral Hits List (Dubaoya)

This duck helps you bydate + categorypull the Xiaohongshu low-follower viral hits list—specifically picking notes that have few followers yet went viral purely on content strength, helping you find the ordinary-creator playbook that breaks out without relying on follower count—most useful for cold starts and benchmarking small accounts.

Data goes through doubaoya.com one line, authentication uses your own key (environment variable DOUBAOYA_API_KEY, in the form dyh_…). Tip: if 502 PROVIDER_FAILED temporarily can't get data, it's a temporary upstream fluctuation—just try again later. Failures are automatically refunded, no charge.


Get the key (secret key)

  1. Open doubaoya.com
  2. Log in
  3. Go to Key Center
  4. Generate key(in the form dyh_…)
export DOUBAOYA_API_KEY="dyh_你的密钥"

Iron rule: never print the key, never write it to 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。


Run the script

Zero dependencies, standard library is enough (Python 3).

# 默认:综合全部,今天往前 2 天
python3 "$SKILL_PATH/scripts/fetch_low_fans_top.py"

# 指定日期 + 分类(日期按今天现算,别照抄写死的日期)
python3 "$SKILL_PATH/scripts/fetch_low_fans_top.py" \
  --rank-date "$(date -d '-3 days' +%F 2>/dev/null || date -v-3d +%F)" --category 化妆美容

🔴 Two ground rules to get straight first(tested 2026-08-13):

  • For broad categories, write 综合全部, not 综合。 综合 is not in the official closed set; if you pass it, it will be directly judged as "no results found"— this is not "no list that day," it's the wrong name. Categories are a closed set of 25 tracks; copy them, don't make up your own:

    综合全部 出行代步 休闲爱好 影视娱乐 数码科技 医疗保健 综合杂项 星座情感

时尚穿搭 婚庆婚礼 拍摄记录 学习教育 化妆美容 居家装修 旅行度假 亲子育儿 个人护理 美味佳肴 职业发展 宠物天地 潮流鞋包 日常生活 科学探索 新闻资讯 体育锻炼

Map the abbreviations users say to the full names first: Beauty → 化妆美容, Food → 美味佳肴, Fashion → 时尚穿搭, Travel → 旅行度假, Mother & Baby → 亲子育儿, Fitness → 体育锻炼, Digital → 数码科技。

  • Dates lag by about two days, and only the most recent 30 days are kept. Yesterday's and today's lists haven't settled yet (empty lists), so by default take T-2; dates earlier than 30 days will be judged as no results found (not an empty list).
Parameter Description Default
--rank-date List date YYYY-MM-DD, only the most recent 30 days are kept 2 days before today
--category Category, one of the 25 closed set; don't pass 综合 综合全部

The script prints the data from the success envelope to stdout as JSON.Run the script only once each time, and read the full stdout.


Workflow (3 steps)

  1. Set date + category: default category 综合全部, date is 2 days before today.
  2. Call the script to get data: the list is in data.items, each entry contains title(title),likedCount(like count),fansCount(follower count).
  3. Lay out the list + give ordinary-creator playbook insights: lay out the table in descending order of likes, and put fansCount Also display and highlight the "low followers, high likes" contrast, then add one line in this Duck's voice after the table — what hooks/topics did these ordinary people use to achieve more with less, and are there any templates that can be directly applied.
Rank Title Likes Followers
1 … … …

Defensive field reading (leave blank if missing).


API Contract

  • POST https://doubaoya.com/api/apis/xiaohongshu/xiaohongshu-low-fans-top/call
  • Auth header:Authorization: Bearer $DOUBAOYA_API_KEY
  • Request body:{ "rankDate": "YYYY-MM-DD", "category": "综合全部" } (category Take one of the 25 above,do not pass 综合—it is not in the closed set; rankDate only keep the most recent 30 days, with about a two-day lag)
  • Response envelope:
    { "success": true, "requestId": "...", "data": { "items": [ { "title": "...", "likedCount": 123, "fansCount": 456 } ] }, "error": null }
    
  • First check success: if true then read data; otherwise read error.code / error.message。

Error code

When the script fails, print to stderr [error] CODE: message and exit with code 1.

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
400 VALIDATION_ERROR Invalid parameters Fix --rank-date / --category and retry
402 INSUFFICIENT_CREDITS Insufficient quota Go to doubaoya.com to top up/renew quota
422 PROVIDER_NO_RESULT No data can be found for this set of input parameters.Most likely the category name is not among the 25 in the closed set (for example, you wrote 综合), or the date is outside the most recent 30 days Change the category to the full name in the closed set, move the date into the most recent 30 days, and retry
502 PROVIDER_FAILED Temporary upstream failure (automatically refunded) safe to retry

Directory structure

xiaohongshu-lowtop/
├── SKILL.md                     # 本文件
└── scripts/
    └── fetch_low_fans_top.py    # 零依赖脚本(urllib),调用 doubaoya.com

FAQ

Q: Why look at low-follower viral hits? A: Low followers with high likes = pure content power breaking out; the playbook is the cleanest and easiest to replicate, and cold starts and small accounts should study it most.

Q: Temporarily unable to get data? A: First self-check according to the two criteria above — is the category name not among the 25 in the closed set (for example, you wrote 综合), and is the date set to yesterday/today (not yet settled) or outside the most recent 30 days? If all are ruled out, thenwait a while and retry once exactly as before: occasional transient empty values upstream — this Duck has actually seen the same set of parameters return empty once and a full ranking the next time, so do not draw conclusions from a single empty result (empty results are not charged).

About the notice field in the response

After calling the doubaoya API corresponding to this skill, if the top level of the returned JSON contains the notice field, please relay this sentence to the user exactly as is — 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.