# 小红书商品搜索接口

小红书商品搜索 API（数据接口）按搜索词取一页小红书商城的商品：标题、现价和原价（人民币）、已售件数、图片、店铺。每次调用 12 积分（约 $0.024–$0.04），失败不扣。用 HTTP 调用，或让 AI 客户端通过 MCP 调用。最近实测：2026-10-17。

- 页面：https://socialtoai.com/zh/xiaohongshu-product-search-api/
- 最近更新：2026-10-17
- 最近实测：2026-10-17

| 请求 | 价格键 | 积分 |
| --- | --- | --- |
| `POST /v1/call/xiaohongshu.product_search` | `xiaohongshu.product_search` | 12 |

预览：这个接口还没有标为稳定，参数和返回字段之后可能调整。计费和其他调用一样，调用失败不扣积分。

## 请求

```bash
curl https://api.socialtoai.com/v1/call/xiaohongshu.product_search \
  -H "Authorization: Bearer $SOCIALTOAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "防晒霜"
  }'
```

```python
import os
import requests

response = requests.post(
    "https://api.socialtoai.com/v1/call/xiaohongshu.product_search",
    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},
    json={
        "query": "防晒霜",
    },
)
print(response.json())
```

## 参数

| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| `query` | string | 必填 | — | 搜索词 |
| `cursor` | string | 选填 | — | 填上一次返回的 page.cursor，取下一页。 |

## 返回字段

| 字段 | 类型 | 含义 | 能否给出 |
| --- | --- | --- | --- |
| `items[].title` | string | 条目的标题或名称。 | 有 |
| `items[].url` | string | 能打开它的链接；平台的列表不带链接时为 null。 | 小红书给不了，始终是 null |
| `items[].rank` | integer | 榜上的名次，从 1 起。 | 有 |
| `items[].heat` | integer | 平台给的热度值。 | 有 |
| `items[].fields.description` | string | 商品描述。 | 小红书给不了，始终是 null |
| `items[].fields.price` | string | 现价，十进制字符串，币种见 fields.currency。 | 有 |
| `items[].fields.original_price` | string | 折前价。 | 有 |
| `items[].fields.currency` | string | 价格的币种。 | 有 |
| `items[].fields.images` | string[] | 图片地址。 | 有 |
| `items[].fields.rating` | number | 评分。 | 小红书给不了，始终是 null |
| `items[].fields.sold` | integer | 销量。 | 有 |
| `items[].fields.reviews_count` | integer | 评价数。 | 小红书给不了，始终是 null |
| `items[].fields.shop.id` | string | 店铺编号。 | 有 |
| `items[].fields.shop.name` | string | 店铺名称。 | 有 |

每一条另有 platform、id、ref、approx、type；items 外面的部分每个调用都一样。 [返回格式](https://socialtoai.com/zh/docs/api/response.md)

## 示例返回

示例数据：名称、链接和正文已替换成占位符，数字是录制时的真实值。

```json
{
  "request_id": "req_00000000-0000-4000-8000-000000000001",
  "schema_version": "v1",
  "fetched_at": "2026-10-12T21:55:07.000Z",
  "action": "call",
  "op": "xiaohongshu.product_search",
  "platform": "xiaohongshu",
  "status": "ok",
  "items": [
    {
      "platform": "xiaohongshu",
      "id": "…",
      "ref": "…",
      "approx": [],
      "type": "entry",
      "entry_type": "product",
      "title": "…",
      "url": null,
      "rank": null,
      "heat": null,
      "fields": {
        "description": null,
        "price": "17.9",
        "original_price": null,
        "currency": "…",
        "images": ["https://example.com/…"],
        "rating": null,
        "sold": 4027,
        "reviews_count": null,
        "shop": {
          "id": "…",
          "name": "…"
        }
      }
    }
  ],
  "unavailable": ["url", "fields.description", "fields.rating", "fields.reviews_count"],
  "page": {
    "has_more": true,
    "cursor": "cur_…",
    "cursor_expires_at": "2026-10-12T22:25:07.000Z"
  },
  "warnings": [],
  "applied_params": {
    "query": "防晒霜"
  },
  "cost_credits": 12,
  "billing": {
    "cost_credits": 12,
    "balance_credits": 88,
    "today_spend_credits": 12,
    "daily_limit_credits": null,
    "daily_remaining_credits": null,
    "display": "本次 12 积分，余额 88 积分"
  },
  "replayed": false
}
```

## 翻页与失败

- 一次调用返回一页，最多 20 条；page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页，每页 12 积分，cursor 30 分钟内有效。
- 正常执行但没有结果，算一次成功的调用：status 为 "empty"，items 为空，扣 12 积分。
- 每把 Key 每秒 1 次，购买后 5 次；超出不扣费。 [频率限制](https://socialtoai.com/zh/docs/credits-and-billing.md#rate-limits)
- 失败的调用 0 积分，不会自动重试。 [错误码](https://socialtoai.com/zh/docs/api/errors.md)

## 在 AI 里这样问

- 按搜索词取一页小红书商城的商品：防晒霜 → `call {"op":"xiaohongshu.product_search","query":"防晒霜"}`，12 积分

## 同一个调用在其他平台

| 平台 | 价格键 | 积分 | 页面 |
| --- | --- | --- | --- |
| TikTok | `tiktok.product_search` | 2 | https://socialtoai.com/zh/tiktok-product-search-api.md |

## 小红书的其他接口

| 接口 | 做什么 | 价格键 | 积分 | 页面 |
| --- | --- | --- | --- | --- |
| `product_detail` | 按商品编号取小红书商城的一件商品。 | `xiaohongshu.product_detail` | 12 | https://socialtoai.com/zh/xiaohongshu-product-detail-api.md |
| `product_reviews` | 按商品编号取小红书商城这件商品排在最前的一页买家评价。 | `xiaohongshu.product_reviews` | 12 | https://socialtoai.com/zh/xiaohongshu-product-reviews-api.md |
| `search` | 按关键词找笔记：正文、作者、点赞数、评论数和发布时间。 | `xiaohongshu.search` | 12 | https://socialtoai.com/zh/xiaohongshu-search-api.md |
| `trending` | 现在的热榜：标题、名次和热度。 | `xiaohongshu.trending` | 12 | https://socialtoai.com/zh/xiaohongshu-trending-api.md |
| `detail` | 用编号或链接取一条笔记：正文、作者、点赞数、评论数和发布时间。 | `xiaohongshu.detail` | 12 | https://socialtoai.com/zh/xiaohongshu-detail-api.md |
| `comments` | 一条笔记下的评论：正文、点赞数、回复数和时间。 | `xiaohongshu.comments` | 12 | https://socialtoai.com/zh/xiaohongshu-comments-api.md |
| `user_profile` | 一个账号：名称、简介、粉丝数、关注数和作品数。 | `xiaohongshu.user_profile` | 12 | https://socialtoai.com/zh/xiaohongshu-user-profile-api.md |
| `user_posts` | 一个账号最近发布的笔记。 | `xiaohongshu.user_posts` | 12 | https://socialtoai.com/zh/xiaohongshu-user-posts-api.md |
| `topic_notes` | 按话题页编号取该话题下的热门笔记。 | `xiaohongshu.topic_notes` | 12 | https://socialtoai.com/zh/xiaohongshu-topic-notes-api.md |
| `topic` | 按话题页编号取一个小红书话题。 | `xiaohongshu.topic` | 12 | https://socialtoai.com/zh/xiaohongshu-topic-api.md |

## 常见问题

**需要小红书账号，或者申请小红书官方的 API 吗？**

不需要，只要一把 SocialToAI 的 Key。返回的是小红书上公开可见的内容和账号信息，你不用登录小红书，也不用在那边申请任何东西。

**“预览”是什么意思？**

预览：这个接口还没有标为稳定，参数和返回字段之后可能调整。计费和其他调用一样，调用失败不扣积分。
