问答
怎么追踪自己的笔记在小红书某个关键词下排第几?
简短回答
每天用 okdata 的小红书笔记搜索按默认排序搜一次关键词,读前两三页,记下你的笔记 ID 或账号笔记出现的位置。每页约 20 篇,$0.02 一次;10 个关键词每天查到第 3 页,一个月共 $18.00。
对很多消费者来说,小红书就是搜索引擎:输入“敏感肌 面霜”,看完前几篇再决定买不买。一个护肤品牌投了 20 篇笔记,想知道其中有没有排进十个目标关键词的第一页,每周又有什么变化。说白了,这就是小红书版的 SEO 排名监测。定期搜索每个关键词,记下你的笔记 ID 出现在第几位,就能做到。
怎么测
用小红书笔记搜索,默认的 sort=general,也就是搜索者最先看到的综合排序。
- 每个关键词取第 1 到 3 页(每页约 20 篇)。
- 按
id找你的笔记;想看品牌号或合作博主的所有笔记,就按author.id找。 - 记录关键词、日期、笔记 ID 和位置。位置是跨页累计的序号,从 1 开始。
费用
| 方案 | 每天调用 | 30 天 |
|---|---|---|
| 1 个关键词,只看第 1 页 | 1 | $0.60 |
| 10 个关键词,第 1–3 页 | 30 | $18.00 |
| 10 个关键词,第 1–3 页,每周一次 | — | $2.40 |
对大多数品牌,每周一次就够了;排名会变,但不会每小时都变。
脚本
import os, requests, datetime as dt
API = "https://api.okdata.online/v1/xiaohongshu/notes/search"
HEAD = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
mine = {"6650a1b2000000001e00abcd"}
for kw in ["敏感肌 面霜", "修护 面霜 推荐"]:
params, pos = {"query": kw}, 0
for _ in range(3):
body = requests.get(API, headers=HEAD, params=params, timeout=60).json()
for n in body["data"]["items"]:
pos += 1
if n["id"] in mine:
print(dt.date.today(), kw, n["id"], pos)
if not body["page"]["has_more"]:
break
params["cursor"] = body["page"]["next_cursor"]
怎么解读这些数字
- App 会按每个登录用户做个性化排序,消费者手机上看到的,可能和你看到的、和这里测出来的都不一样。把这个位置当成一个稳定、中立的基准,用来看随时间的变化,而不是保证每个用户看到的都一样。
- App 搜索结果里的广告位,在这里不一定以同样的方式出现;比较时拿自然排名和自然排名比。
- 如果某篇笔记彻底消失了,用笔记详情查一下;返回
not_found说明已被删除或隐藏。
其他做法
小品牌每周一拿手机手动查十个词也可以,而且看到的是个性化后的真实界面。也有代理商专门卖小红书排名报告。想在同一批搜索结果里顺便盯竞品的笔记,可以看竞品监测方案。
更新于