# 小红书 笔记详情 API (xiaohongshu.note)

- Canonical page: https://everyinfra.com/xiaohongshu-api/note
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "xiaohongshu", "action": "note", "params": {...}}
- Price: $0.005556 per call ($5.56 per 1,000 requests); failed calls and empty results are not charged
- Returns: single object
- Mode: sync; add "mode": "async" for slow tasks

小红书笔记详情按 `url` 读取一篇笔记的完整内容：正文全文、全部图片（按原顺序）、话题、被 @ 的人，以及点赞、收藏、评论、分享数和发布时间；图片带定位时还有 `lat`、`lng`。它回答「这篇笔记到底写了什么、反响如何」，适合做内容分析、种草效果复盘，或者把搜索结果补全成可分析的语料。

`url` 要用完整的笔记链接，保留其中的 xsec_token 等查询参数，优先用近期搜索结果里的链接；只给笔记 ID 往往读不到。`ip_location` 是平台展示的 IP 归属地，不是作者填写的地址；`topics` 里的话题 ID 可以拿去读同一话题下的其他笔记。

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=xiaohongshu&action=note

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| url | not declared | yes | not declared | 小红书笔记完整链接，路径为 /explore/<笔记ID> 或 /discovery/item/<笔记ID>；优先使用近期搜索结果中的完整 URL，保留 xsec_token 等查询参数。sub_comments 还需同一笔记下的 comment_id。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| id | 该记录在原平台上的唯一标识。仅在同一平台内唯一，跨平台可能重复。 |
| url | 该记录在小红书上的链接。search、note、profile、hashtag 返回的链接一般带访问令牌，未登录的浏览器也能打开（令牌有时效，过期后重新调用即可）；user_posts 返回的笔记链接不带令牌，在浏览器里打开需要令牌：用笔记 ID 调 note 能拿到可以打开的链接；search_users 返回的主页链接同样不带令牌，用 user_id 调 profile 拿能打开的链接。pgy_content_square 不带 keyword 时笔记链接带令牌，带 keyword 时不带（用笔记 ID 调 note 拿能打开的链接）。followers_list 返回的是粉丝的主页链接，同样不带令牌；note_location 返回的笔记链接带上了请求里的令牌（请求里没带就没有）。 |
| title | 标题。平台无标题概念时（如纯文本帖）为 null。 |
| text | 笔记正文或评论内容。note、hashtag 返回笔记全文；search、user_posts 返回的笔记正文可能是截断的摘要（分别约 60 字、100 字以内），要全文用笔记 ID 调 note。reviews 是商品评价的全文。 |
| like_count | 点赞数。笔记、评论类结果是这条内容的点赞数；reviews 是这条商品评价被点「有用」的次数；profile 里是该账号所有笔记累计获得的点赞数。null 表示不公开或这次没拿到，不等于 0。 |
| collect_count | 收藏数。笔记类结果是这篇笔记被收藏的次数；profile 里是该账号笔记累计被收藏的次数。null 表示不公开或这次没拿到，不等于 0。 |
| comment_count | 评论数。null 表示不公开，不等于 0。 |
| share_count | 分享/转发数。null 表示不公开，不等于 0。 |
| posted_at | 发布时间，ISO 8601 格式、UTC 时区（如 2026-08-07T12:34:56+00:00）。平台只给非标准字符串时原样透传，解析前建议做容错。null 表示平台未公开。 |
| ip_location | 小红书展示的 IP 归属地（省份/国家），平台强制显示，非用户填写。user_posts 只有部分笔记带。 |
| author_name | 作者昵称（显示名）。 |
| author_id | 作者的用户 ID，可直接传给 profile、user_posts。笔记类结果里是 24 位，与主页链接里的 ID 相同；评论类结果（comments、comments_batch、sub_comments）里多为 29 位的另一种写法。同一个人的两种写法不同，跨批次去重前先用 profile 换成它返回的 user_id。 |
| is_video | 是否视频笔记。视频播放地址不在详情返回里（2026-10-14 起）：要地址请用同一篇笔记的 url 单独调用 video 接口，按次计费。 |
| avatar_url | 头像图片链接。部分平台给的是带尺寸参数的 CDN 链接，可能有时效。 |
| author_url | 作者主页链接，不带访问令牌，未登录的浏览器打不开；用 author_id 调 profile 返回的 url 可以直接打开。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |
| images | 图片链接列表。note、hashtag、search、user_posts 是笔记的全部图片（按原顺序）；评论类结果（comments、comments_batch、sub_comments）是评论所附的图片，含表情包贴图，没有图片时为空数组；reviews 是买家晒的图，没有晒图时为空数组。null 表示这次没拿到这一项。 |
| tags | 标签列表：note 是笔记的话题标签；profile 是主页上展示的个人标签（如星座、地区）；reviews 是这条评价被打上的评价标签（如 质量很好），没有时没有这个字段。按页面原文。 |
| topics | 笔记的话题列表，每项是话题名称 name 和话题页 ID topic_id；topic_id 可以直接传给 hashtag 读这个话题下的笔记。没有话题或这次没拿到时没有这个字段。 |
| mentioned_users | 被 @ 的人：评论类结果是评论里 @ 的人，note 是笔记里 @ 的人；每项有 user_id、nickname。没有时没有这个字段。 |
| lat | 笔记图片上带的定位纬度（note），按原值给出；没有定位时没有这个字段。 |
| lng | 笔记图片上带的定位经度（note），与 lat 成对出现。 |
| has_goods | 笔记是否挂了商品（note）。 |
| is_cooperation_note | 是否为品牌商业合作笔记（search、note）；拿不到这一项时没有这个字段。 |
| author_red_id | 作者的小红书号：评论类结果（comments、comments_batch、sub_comments）是评论者的，note、search 是笔记作者的。 |
| author_is_verified | 作者是否官方认证（note、search）。 |
| language | 内容语言代码（如 zh、en），由平台判定，可能不准。 |
| updated_at | 笔记最后编辑时间（search、note；ISO 8601，UTC）；没编辑过时可能与 posted_at 接近或缺省。 |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "xiaohongshu",
  "action": "note",
  "params": {
    "url": "https://www.xiaohongshu.com/explore/6aa7a3f600000000110335f8?xsec_token=YByFNzoKupps8B3qI774Gx7XGxfHpq4QWEvxU4zsD8454%3D"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "xiaohongshu",
        "action": "note",
        "params": {
            "url": "https://www.xiaohongshu.com/explore/6aa7a3f600000000110335f8?xsec_token=YByFNzoKupps8B3qI774Gx7XGxfHpq4QWEvxU4zsD8454%3D",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-10-15T15:16:12Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "xiaohongshu",
  "action": "note",
  "results": {
    "id": "6aa7a3f600000000110335f8",
    "url": "https://www.xiaohongshu.com/explore/6aa7a3f600000000110335f8?xsec_token=YByFNzoKupps8B3qI774Gx7XGxfHpq4QWEvxU4zsD8454%3D",
    "title": "33㎡的一字户塞下28㎡收纳？！还巨显大！",
    "text": "感谢超有生活智慧的@••• 接受采访！\n本期视频超多干货！\n33㎡邪修出两房！2㎡卫生间硬塞浴缸🛁\n全屋28㎡收纳、衣柜800件衣服装不满！\n超低成本旋转鞋架、空调机位改树屋🌳\n把每一寸空间都榨干的小户型终极收纳来啦！\n#roomtour[话题]# #小户型收纳[话题]# #探家[话题]#  #小红书自建房大赏[话题]#  #WeeklyPick[话题]#  #野生体验家howto[话题]# #我在小红书搞装修[话题]# #装修内行人[话题]#",
    "like_count": 3421,
    "collect_count": 3928,
    "comment_count": 104,
    "share_count": 976,
    "posted_at": "2026-09-14T09:01:04+00:00",
    "ip_location": "•••",
    "author_name": "•••",
    "author_id": "•••",
    "is_video": true,
    "avatar_url": "https://sns-avatar-qc-ae.rednotecdn.com/•••",
    "author_url": "https://www.xiaohongshu.com/•••",
    "platform": "xiaohongshu",
    "images": [
      "https://sns-i11-ae.rednotecdn.com/spectrum/1040g34o3253cssm6302049v1t8cah4q0tpb8l58?imageView2/2/w/576/format/heif/q/58|imageMogr2/strip&redImage/frame/0/enhance/4&ap=1&sc=V_PRV&sign=ed0259e196793273f51646a46b2c1a02&t=6ad0ee3c"
    ],
    "tags": [
      "roomtour",
      "小户型收纳",
      "探家"
    ],
    "topics": [
      {
        "name": "roomtour",
        "topic_id": "6103b7a0b2363700017d720a"
      },
      {
        "name": "小户型收纳",
        "topic_id": "5be9634385cfbb000101d51f"
      },
      {
        "name": "探家",
        "topic_id": "6064a7711fd52f0001b7d830"
      }
    ],
    "mentioned_users": [
      {
        "user_id": "•••",
        "nickname": "•••"
      }
    ]
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 为什么只给笔记 ID 读不到？

小红书的笔记页需要链接里带的访问令牌。请传完整链接，路径为 /explore/<笔记ID> 或 /discovery/item/<笔记ID>，并保留 xsec_token 等查询参数；搜索结果里的 `url` 本身就带令牌，可以直接用。

### `ip_location` 是作者所在地吗？

不完全是。它是小红书强制展示的 IP 归属地（省份或国家），由平台给出，不是作者自己填写的。做地域分析时可以参考，但不要当成精确位置。

### 视频笔记为什么没有播放地址？

笔记详情不返回视频播放地址，视频笔记只用 `is_video` 标出。需要播放地址时，用同一个笔记链接调小红书的视频详情能力，它返回播放地址和时长，单独按次计费；从搜索结果拿到的视频笔记，结果行里已经带了播放地址。

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
