# 小红书 粉丝列表 API (xiaohongshu.followers_list)

- Canonical page: https://everyinfra.com/xiaohongshu-api/followers_list
- Endpoint: POST /api/v1/social with {"platform": "xiaohongshu", "action": "followers_list", "params": {...}}
- Price: $0.005556 per call ($5.56 per 1,000 requests); failed and empty results are not charged
- Returns: list, one page of up to 20 per call; the number of rows varies from page to page and a short page is not the end (limit is ignored; pass the top-level next_page_token from the response as page_token for the next page; no next_page_token means the end)
- Pagination: pass next_page_token back as page_token for the next page, other params unchanged; one call per page, tokens last 24 hours
- Mode: sync; add "mode": "async" for slow tasks

想知道哪些人关注了一个小红书账号，用粉丝列表，按 `user_id` 读取。每行是一位粉丝：昵称 `nickname`、头像 `avatar_url`、主页链接 `url`、这位粉丝自己的粉丝数 `follower_count` 和发布的笔记数 `note_count`。它回答「关注这个账号的是些什么人」，适合给达人或品牌号看受众里有没有活跃用户。

`user_id` 填 24 位用户 ID，或者 https://www.xiaohongshu.com/user/profile/<ID> 这样的主页链接。`of_user` 记着这一行是谁的粉丝，也就是请求里的 `user_id`，几个账号的粉丝合并存储时靠它区分。商品搜索那一页返回商品，这里返回人。

## Health

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

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| user_id | not declared | yes | not declared | 要看谁的粉丝：24 位用户 ID（profile、search_users 返回的 user_id）或主页链接 https://www.xiaohongshu.com/user/profile/<ID>。很多账号把粉丝列表设成了不可见，这时请求失败、按失败退款。 |
| page_token | not declared | no | not declared | 翻页令牌。第一页不传；之后把上一页响应里的 next_page_token 原样传回取下一页，其余参数不变。每页通常 19–20 人，每页算一次调用；翻到底时响应里没有 next_page_token。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| user_id | 用户在原平台的唯一 ID。 |
| nickname | 用户昵称。 |
| avatar_url | 头像图片链接。部分平台给的是带尺寸参数的 CDN 链接，可能有时效。 |
| 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 返回的笔记链接带上了请求里的令牌（请求里没带就没有）。 |
| follower_count | 粉丝数。profile 里是精确值；search_users 里是从列表展示的「粉丝 1.2万」换算的近似值（1.2万 → 12000）；followers_list 里是这位粉丝自己的粉丝数。null 表示不公开或没认出来，不等于 0。 |
| note_count | 这位粉丝发布的笔记数（followers_list）。 |
| of_user | 这一行是哪个账号的粉丝（followers_list），即请求里的 user_id。 |
| next_page_token | 翻页游标：同一页每行的值相同，原样作为下一次请求的 page_token 就取下一页，其余参数保持不变；为空或没有这个字段表示没有下一页。能传 page_token 的是 search、user_posts、comments、sub_comments、search_users、hashtag、product_search、pgy_content_square、reviews、followers_list；comments_batch 行上也带这一项，但它本身不收 page_token。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |

## 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": "followers_list",
  "params": {
    "user_id": "59dcceac20e88f3035edb060"
  }
}'
```

```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": "followers_list",
        "params": {
            "user_id": "59dcceac20e88f3035edb060",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

No real sample for these example parameters yet: structure only, every value is a placeholder (…).

```text
{
  "id": "req_…",
  "platform": "xiaohongshu",
  "action": "followers_list",
  "results": [
    {
      "user_id": …,
      "nickname": …,
      "avatar_url": …,
      "url": …,
      "follower_count": …,
      "note_count": …,
      "of_user": …,
      "next_page_token": …,
      "platform": …
    }
  ],
  "next_page_token": …,
  "pagination": { … },
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 为什么有的账号读不到粉丝列表？

很多账号把粉丝列表设成了不可见，这时请求会失败，并按失败退款。`user_id` 可以用主页资料或用户搜索返回的 `user_id`，也可以直接填主页链接。

### `follower_count` 是这个账号的粉丝数吗？

不是，它是这位粉丝自己的粉丝数。null 表示不公开或没认出来，不等于 0；这位粉丝发布了多少笔记看 `note_count`。`url` 是粉丝的主页链接，不带访问令牌，要能直接打开的链接，用 `user_id` 去调主页资料。

### 怎么读完一个账号的粉丝列表？

一直翻，直到响应里不再出现 `next_page_token`。每页通常 19–20 人，人数不固定，少几个不说明已经翻完；`limit` 在这里不管用，翻一页记一次调用。

## 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
