小红书(XHS)笔记评论 API(以开放平台 v2 标准为主)返回结构清晰,包含评论主体、用户信息、互动数据、层级回复、分页游标,完整 JSON 如下(含字段说明)。
一、接口基础(v2)
- 地址:
GET https://api.xiaohongshu.com/v2/notes/{note_id}/comments - 鉴权:
access_token(OAuth 2.0) - 分页:
cursor游标(非 page) - 排序:
sort=time(最新)/hot(最热) - 返回:
JSON
二、顶层 JSON 结构(完整)
json
{
"code": 200,
"msg": "success",
"request_id": "649c46ab000000002702ad36",
"data": {
"note_id": "649c46ab000000002702ad36",
"total": 1568,
"cursor": "a1b2c3d4e5f6",
"has_more": true,
"comments": [
{
"comment_id": "c_123456",
"content": "这款真的超好用!已经回购三次了~",
"create_time": 1744262400,
"like_count": 128,
"reply_count": 5,
"is_top": false,
"comment_type": 0,
"user": {
"user_id": "u_7890ab",
"nickname": "草莓奶盖不加糖",
"avatar": "https://sns-avatar-qc.xhscdn.com/avatar/xxx.jpg",
"user_role": "normal",
"is_follower": false
},
"reply_comments": [
{
"comment_id": "r_7890",
"content": "求链接!!",
"create_time": 1744262500,
"like_count": 12,
"user": {
"user_id": "u_cdef12",
"nickname": "美妆小达人",
"avatar": "https://sns-avatar-qc.xhscdn.com/avatar/yyy.jpg"
}
}
],
"images": [],
"video": null
}
]
}
}
三、关键字段说明
1. 顶层状态
code:200 = 成功msg:success / 错误信息request_id:请求唯一 ID(排查用)
2. 数据层(data)
note_id:笔记 IDtotal:总评论数cursor:下一页游标(翻页用)has_more:是否还有更多comments:一级评论数组(核心)
3. 单条评论(comments [])
comment_id:评论唯一 IDcontent:评论文本(支持表情 /@)create_time:时间戳(秒)like_count:点赞数reply_count:回复数is_top:是否置顶comment_type:0 = 普通,1 = 作者回复
4. 用户信息(user)
user_id:用户 IDnickname:昵称avatar:头像 URLuser_role:normal/author(作者)
5. 回复评论(reply_comments)
- 二级评论(楼中楼)
- 结构同一级评论(不含
reply_comments)
6. 多媒体(images/video)
images:晒图 URL 数组video:视频信息(cover/url)
四、常用简化版(采集常用)
json
{
"code": 200,
"data": {
"total": 1568,
"cursor": "a1b2c3d4e5f6",
"comments": [
{
"id": "c_123456",
"content": "这款真的超好用!",
"time": 1744262400,
"like": 128,
"user": {
"id": "u_7890ab",
"name": "草莓奶盖不加糖",
"avatar": "https://..."
},
"replies": [
{
"content": "求链接!!",
"time": 1744262500,
"user": { "name": "美妆小达人" }
}
]
}
]
}
}
五、Python 极简解析
python
运行
import requests
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
url = "https://api.xiaohongshu.com/v2/notes/649c46ab000000002702ad36/comments"
params = {"cursor": "", "page_size": 20, "sort": "time"}
resp = requests.get(url, headers=headers, params=params)
data = resp.json()
for c in data["data"]["comments"]:
print(f"用户:{c['user']['nickname']}")
print(f"内容:{c['content']}")
print(f"点赞:{c['like_count']}")
print(f"时间:{c['create_time']}")
print(f"回复数:{c['reply_count']}")
print("-" * 50)
六、常见状态码
200成功401token 无效 / 过期403无权限 / 限流429请求频率超限500服务器错误
总结
小红书评论 API 返回:
- 基础:ID、内容、时间、点赞、用户(昵称 / 头像)
- 层级 :一级评论 + 二级回复(
reply_comments) - 分页 :
cursor+has_more - 扩展:置顶、类型、图片、视频、作者标识