SocialToAI免费开始控制台
POST/v1/call/xiaohongshu.product_search预览

小红书商品搜索接口

小红书独有的接口。

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

注册送 100 积分,不用绑卡
12 积分每次调用
每页最多 20 条一次调用返回一页
2026-10-17最近实测
1019 B示例返回的体积(1 条)

最近更新:

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

请求与返回

curl https://api.socialtoai.com/v1/call/xiaohongshu.product_search \  -H "Authorization: Bearer $SOCIALTOAI_KEY" \  -H "Content-Type: application/json" \  -d '{    "query": "防晒霜"  }'
import osimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/call/xiaohongshu.product_search",    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},    json={        "query": "防晒霜",    },)print(response.json())
# 已经通过 MCP 接好了?直接用大白话问。用“小红书商品搜索”接口(xiaohongshu.product_search),参数是 query: 防晒霜。# 你的 AI 会调用 call 工具,参数是:{  "query": "防晒霜"}
登录后运行12 积分登录后带着这些参数进入 Playground,不会自动运行。
200 OK1019 B12 积分
{  "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"  },  "cost_credits": 12}
entry_type
product
description
null
price
17.9
original_price
null
currency
…
rating
null
sold
4027

示例里的名称和正文已去掉,数字是录制时的真实值。

示例数据录制的 19 条里的 1 条

2 个参数。
1 个必填。

用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。

名称类型是否必填默认值说明
querystring必填—搜索词
cursorstring选填—填上一次返回的 page.cursor,取下一页。

items 里每一条的字段。
小红书给不了的标出来了。

字段类型含义
items[].titlestring条目的标题或名称。
items[].urlstring始终 null能打开它的链接;平台的列表不带链接时为 null。
items[].rankinteger榜上的名次,从 1 起。
items[].heatinteger平台给的热度值。
items[].fields.descriptionstring始终 null商品描述。
items[].fields.pricestring现价,十进制字符串,币种见 fields.currency。
items[].fields.original_pricestring折前价。
items[].fields.currencystring价格的币种。
items[].fields.imagesstring[]图片地址。
items[].fields.ratingnumber始终 null评分。
items[].fields.soldinteger销量。
items[].fields.reviews_countinteger始终 null评价数。
items[].fields.shop.idstring店铺编号。
items[].fields.shop.namestring店铺名称。
null小红书给不了的字段

null 的意思是“小红书没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:

  • url能打开它的链接;平台的列表不带链接时为 null。
  • fields.description商品描述。
  • fields.rating评分。
  • fields.reviews_count评价数。

每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式

会发生什么。

一次调用返回一页,最多 20 条;page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页,每页 12 积分,cursor 30 分钟内有效。
正常执行但没有结果,算一次成功的调用:status 为 "empty",items 为空,扣 12 积分。

每把 Key 每秒 1 次,购买后 5 次;超出不扣费。 频率限制

失败的调用 0 积分,不会自动重试。 错误码

接好 MCP 后,这样问就会用到它。

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

同名的接口,换个平台。

全部平台和价格
POST/v1/call/xiaohongshu.product_search{ "query": "防晒霜" }12 积分每次调用
只改路径里的 op,返回的外层结构不变。

常见问题。
简短回答。

小红书的全部接口
需要小红书账号,或者申请小红书官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是小红书上公开可见的内容和账号信息,你不用登录小红书,也不用在那边申请任何东西。
“预览”是什么意思?
预览:这个接口还没有标为稳定,参数和返回字段之后可能调整。计费和其他调用一样,调用失败不扣积分。

你的 AI 离全网社交媒体
只差一个地址。

注册送 100 积分,不用绑卡