文档首页 / 用户中心设置 / 开放 API 接口参考

开放 API 接口参考

2026-10-13 …

这一页把五个 /api/v1 接口的参数逐个列清楚。怎么用:找到你要的接口,照表格传参;接口返回的字段含义在字段字典,出错码在错误码与限流。所有接口都是 GET、无需密钥。

1. /api/v1/meta —— 能力清单

无参数。返回可用的榜单类型、可订阅的分类、价格筛选覆盖范围、限流参数,以及明确不提供的能力列表。

2. /api/v1/rank —— 榜单

参数必填说明
act是榜单类型,取值见下表
limit否条数 1~300,默认 20。limit ≤ 50 时不返回 content 字段(响应瘦身)
with_html否填 1 时每条额外返回 content_html(正文富文本)

可用 act:yixiaoshi(一小时榜)、sanxiaoshi、liuxiaoshi、shierxiaoshi、ershisixiaoshi、sishibaxiaoshi、jintian、zuotian、qiantian、santian、wutian、qitian、shiwutian。

GET /api/v1/rank?act=qitian&limit=20

3. /api/v1/feed —— 分类最新线报

参数说明
cate分类别名或 ID(如 weibo / 10);缺省为 all(全站流)
type填 zdm 取「值得买」独立流。它的字段结构与分类流不同,见字段字典
limit1~50,默认 20
with_html填 1 时每条额外返回 content_html(正文富文本,见下文「正文 HTML」)

重要:每个分类流最多保留 20 条(值得买 30 条),是"最新快照"而不是可分页的历史接口。需要历史请用榜单接口。

GET /api/v1/feed?cate=weibo
GET /api/v1/feed?type=zdm

4. /api/v1/search —— 关键词 + 价格筛选

参数说明
q关键词。多个词用换行、| 或 # 分隔,词之间是「或」的关系
kp屏蔽词,命中的内容会被排除
mip / mxp最低价 / 最高价
cate限定分类(别名或 ID),可选
page / limit页码(1~100,默认 1)/ 每页条数(1~50,默认 20)
with_html填 1 时每条额外返回 content_html

搜索结果每条只含标题、链接、分类、价格、作者、发布时间(不返回正文 content,也不返回评论数);data 里同时给出 total、page、count、has_more。

价格筛选的适用范围:只有微博线报、好单线报、值得买这三类内容带价格。豆瓣、赚客吧等其他分类的商品信息里没有价格字段,对它们做价格筛选会得到空结果——这是数据本身的限制,不是接口故障。响应 meta.price_scope 会同时告知这一点。

至少要提供 q、kp、mip、mxp 之一,否则返回 400。

GET /api/v1/search?q=耳机&mip=50&mxp=200&page=1&limit=20
GET /api/v1/search?q=牛奶|酸奶&kp=包邮&cate=haodan

5. /api/v1/shenghuo —— 生活优惠

参数说明
cate活动分类
q关键词(匹配活动名与描述)
page / pageSize页码(1~500,默认 1)/ 每页条数(1~100,默认 20)
with_cates填 1 时额外返回全部分类清单

每条记录都带 h5 字段(活动直达链接),无需再单独请求转链接口;data 里同时给出 total、page_size、has_more。

GET /api/v1/shenghuo?page=1&pageSize=20&with_cates=1

6. 正文 HTML(with_html=1)

三个接口(/feed、/rank、/search)都支持可选参数 with_html=1,此时每条记录多一个 content_html 字段,值是正文的富文本 HTML(含图片与链接)。

值效果
不传 / 0 / 其他值响应与旧版完全一致,不含 content_html 字段
1 / true / yes每条附 content_html;无正文的条目该字段为空串(不省略)
GET /api/v1/feed?cate=weibo&limit=5&with_html=1
GET /api/v1/rank?act=qitian&limit=10&with_html=1
GET /api/v1/search?q=耳机&with_html=1

图片已经过防盗链处理,这正是该字段与「自己去抓原文」的关键差别:

  • 微博图片改写成搜狗 CDN 地址;豆瓣、酷安、技术QQ、小刀、QQ 图床的图片改写成线报酷的站内代理(/plus/api/image.php)。直接用原文里的 sinaimg.cn / doubanio.com 原图地址,在第三方页面里会因 Referer 校验全部裂图。
  • 每张图都带 referrerpolicy="no-referrer",第三方页面无需额外配置即可正常显示。
  • 站内代理地址已改写成你请求时使用的域名(用镜像域请求就返回镜像域地址),所有 src / href 都是绝对地址,可直接插入任意页面。

HTML 可直接当 HTML 用:返回内容已经过白名单清洗,<script>、on* 事件属性、<iframe>、javascript: / data: 协议、<style> / <form> 等均已剥离,可安全插入你的页面容器。清洗同时移除了站内的 class / id / style 属性,避免站点样式泄漏,排版由你自己的 CSS 决定。

体积与预算:正文 HTML 通常每条几百字到几 KB。单次响应的 content_html 合计上限 4 MB,超出预算的条目该字段返回空串,并在 meta.html_truncated 中标记 true——按提示降低 limit 重取即可。另外 meta.html_count 会告诉你本次实际带回了多少条 HTML。

值得买流不适用:type=zdm 的条目是站外商品,没有站内正文,content_html 不适用,请用其 pic 与 url。

建议:只为真正需要渲染正文的场景开启 with_html(列表展示只用标题就够),体积和耗时都会明显更小。

常见问题

Q:act 该填哪个?
想不起来就请求一次 /api/v1/meta,data.abilities.rank.ranks 里是当前全部可用值;填错会返回 404 unknown_act。

Q:page 是从 0 还是 1 开始?
从 1 开始,0 会被钳成 1。搜索最大 100 页,生活优惠最大 500 页。

Q:为什么响应里没有 content_html?
只有传了 with_html=1/true/yes 才有这个字段;值得买流(type=zdm)本身没有站内正文,永远没有。