文档首页 / 用户中心设置 / 开放 API 字段字典

开放 API 字段字典

2026-10-13 …

这一页是开放 API的字段字典:告诉你每个返回字段叫什么、是什么类型、什么时候为空。怎么用:先看「通用约定」和「记录结构」,遇到不懂的字段回来查。

通用约定

字段类型说明
code整数0=成功;出错时等于 HTTP 状态码
msg字符串人类可读提示,成功时为空
data对象业务数据
meta.api_version字符串当前为 v1
meta.generated_at整数服务端生成时间(Unix 秒)
meta.cache_ttl整数建议客户端缓存秒数
error字符串仅出错时出现,机器可读错误码(如 unknown_act);成功响应没有这个字段

出错时是另一套结构,没有 data / meta:{"code":404,"error":"unknown_act","msg":"..."},其中 code 等于 HTTP 状态码。

榜单 / 分类流的记录结构

这两种记录大体一致,差别是:榜单记录没有 price 和 content(limit ≤ 50 时);分类流有 price,content 始终返回。搜索结果只返回下表中的一部分字段(见下方「搜索记录的差异」)。

字段类型说明
id整数文章 ID
title字符串标题
url字符串绝对地址,可直接打开
category.id整数分类 ID
category.name字符串分类名,微博/好单还会带细分(如「微博线报-饮料-淘宝」)
price数字或 null仅分类流 / 搜索有(榜单记录不带此字段)。null 表示该内容没有价格(与 0 元不同)。只有微博线报/好单线报/值得买有值
published_at整数发布时间(Unix 秒)
published_text字符串可读的发布时间文本(榜单与分类流;搜索不返回)
author字符串楼主/发报员
comments整数评论数(仅榜单与分类流;搜索不返回)
content字符串正文纯文本。分类流始终返回;榜单仅在 limit > 50 时返回;搜索结果不返回

正文 HTML(含转链与图片的那一版)默认不下发,需要时加 with_html=1,详见下方「content_html 字段」。

同样地,不提供浏览量字段。榜单已按站内热度排好序,外部按返回顺序使用即可。

搜索记录的差异

/api/v1/search 的每条记录只有:id、title、url、category.id、category.name、price、published_at、author;没有 published_text、comments、content。要正文请加 with_html=1 取 content_html,或按返回的 url 打开文章。

content_html 字段(with_html=1 时出现)

字段类型说明
content_html字符串正文富文本 HTML。图片已做防盗链处理(每张图带 referrerpolicy="no-referrer",微博走搜狗 CDN,豆瓣/酷安/技术QQ/小刀/QQ 图床走站内代理),src / href 均为绝对地址,已按你请求的域名改写。内容经白名单清洗(脚本、事件属性、iframe、javascript: 等已剥离),可直接插入页面。无正文时为空串

响应 meta 中同时给出:with_html(是否开启)、html_count(本次实际带回 HTML 的条数)、html_truncated(是否因 4 MB 单次预算截断,截断的条目 content_html 为空串)。

对应地,content 字段仍是纯文本(已剥标签与 URL),适合做摘要、检索与截断展示;要渲染正文请用 content_html。

值得买独立流(type=zdm)

它的字段与上表完全不同,因为数据来自另一个平台,结构本身就不一样:

字段类型说明
id字符串值得买的商品 ID
type字符串固定为 smzdm(值得买来源标识)
title字符串商品标题(通常已含价格)
url字符串站外地址,指向 smzdm.com
price数字或 null价格
brand字符串品牌
mall字符串商城名(京东、天猫超市、抖音商城…)
category_name字符串平台侧类目路径
pic字符串商品图
published_at整数入库时间(Unix 秒)

生活优惠的记录结构

字段说明
act_id活动 ID
act_name活动名
cate_name活动分类
desc简介
img / icon横幅图 / 小图标
start_date / end_date活动起止日期(YYYY-MM-DD)
h5活动直达链接

常见问题

Q:price 是 null 是接口坏了吗?
不是。它表示“这条内容没有价格”。只有微博线报、好单线报、值得买会带价格;null 和 0 不是一回事。

Q:content 为什么是空的?
榜单在 limit ≤ 50 时不下发 content;搜索永远不下发;值得买没有正文。要正文请加大 limit(榜单)或加 with_html=1。

Q:id 有时是数字、有时是字符串?
普通线报的 id 是数字;值得买流的 id 是商品 ID 字符串,两者不要混用。