给 AI

小红书电商小红书商城 API

小红书商城商品详情 API

按商品 ID 取小红书商城的一件商品:标题、现价和原价(元)、图片、已售件数、评分、评价数和店铺。看到的是 App 海外用户的商品页,促销可能和国内用户看到的不同。

GEThttps://api.okdata.online/v1/xiaohongshu/shop/products/get

也叫小红书商品信息小红书商品价格英文名:Xiaohongshu shop product detail API

价格
$0.02约 ¥0.14
/ 次 · 出错和超时不收费
返回
一个 Product
放在 data.item 里
调用出错时
不收费
一个数据源出错就换下一个;出错和超时都不扣费。
状态
预览
还可能调整,改动会提前公告。

参数

参数名类型说明
id必填string商品 ID(24 位十六进制),来自商城商品搜索。 例 6441fb9a6cd6140001acf7b4
viewstringcompactstandardfull返回多少字段。full 会在 ext 里带上平台特有字段。 默认 standard
fieldsstring[]只保留这些字段,按路径写(如 author.name),用来省 token。放在查询参数里时用逗号分隔。

所有接口的 cursor、view、fields 用法一致: 请求说明。

请求示例

cURL

curl -G "https://api.okdata.online/v1/xiaohongshu/shop/products/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=6441fb9a6cd6140001acf7b4'

Python

import os
import requests

resp = requests.get(
    "https://api.okdata.online/v1/xiaohongshu/shop/products/get",
    headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
    params={"id": "6441fb9a6cd6140001acf7b4"},
    timeout=60,
)
body = resp.json()
if body["code"] != "ok":
    raise RuntimeError(f"{body['code']}: {body['message']} (charged: {body['charged']})")

row = body["data"]["item"]
print(row["price"], row["currency"], row["sold"], row["title"][:60])
print("cost: $" + body["meta"]["billing"]["amount"])

TypeScript

const url = new URL('https://api.okdata.online/v1/xiaohongshu/shop/products/get');
url.searchParams.set('id', "6441fb9a6cd6140001acf7b4");

const res = await fetch(url, {
  headers: {
    Authorization: `Bearer ${process.env.OKDATA_API_KEY}`,
  },
});
const body = await res.json();
if (body.code !== 'ok') throw new Error(`${body.code}: ${body.message}`);

const row = body.data.item;
console.log(row.price, row.currency, row.sold, row.title.slice(0, 60));
console.log('cost: $' + body.meta.billing.amount);

MCPtools/call

{
  "name": "call",
  "arguments": {
    "capability": "xiaohongshu.shop.products.get",
    "id": "6441fb9a6cd6140001acf7b4"
  }
}

返回示例

200 · application/jsonmeta.billing.amount = 0.02
{
  "code": "ok",
  "request_id": "0f6c2a8e-4b1d-4e0a-9a51-3c7d2b9e1f20",
  "data": {
    "item": {
      "id": "6441fb9a6cd6140001acf7b4",
      "url": "https://www.xiaohongshu.com/goods-detail/6441fb9a6cd6140001acf7b4",
      "title": "小型便携式手摇咖啡机 304 不锈钢磨豆机",
      "price": 39.9,
      "original_price": null,
      "currency": "CNY",
      "sold": null,
      "rating": null,
      "reviews": null,
      "images": [
        "https://cdn.example.com/product/1.jpg"
      ],
      "shop": {
        "id": null,
        "name": "轻装户外旗舰店",
        "url": null
      }
    }
  },
  "warnings": [],
  "meta": {
    "capability": "xiaohongshu.shop.products.get",
    "billing": {
      "amount": "0.02",
      "currency": "USD",
      "balance_after": "9.98"
    },
    "unavailable": {},
    "cached": false,
    "replayed": false,
    "fetched_at": "2026-11-11T08:00:00Z"
  }
}

在线调试

这会向 https://api.okdata.online 发送一次真实调用,正常计费:最多 $0.02。失败的调用不扣费。key 只会发往这个地址,本站不保存。

返回字段

data.item 是一个 Product。

字段类型视图说明
idstringcompact商品在商城里的 ID。
urlstringcompact商品页面。
titlestringcompact商品标题。
pricenumber | nullcompact现价(最低规格),单位见 currency。
original_pricenumber | nullstandard折前原价(有的话)。
currencystring | nullcompactISO 4217 货币代码。
展开全部 12 个字段收起其余 6 个
字段类型视图说明
soldinteger | nullcompact销量,以商城显示为准。
ratingnumber | nullcompact平均星级,0 到 5。
reviewsinteger | nullcompact评价数。
imagesstring[] | nullstandard商品图片地址。
shopShopRefcompact卖家店铺。
extobjectfull平台特有字段,只在 view=full 时返回。

“视图”一列是字段最早出现的 view:compact 只返回 compact 字段,standard 再加上 standard 字段,full 返回全部。默认是 standard。

什么时候收费

每次调用 $0.02,返回一个结果。查 1,000 次共 $20.00。失败的调用不扣费。

返回了数据$0.02,每次调用收一次

参数不合法、出错、超时不收费

情况收费
单次最高扣费$0.02
空结果不收费
查无此项(平台上没有)不收费
参数不合法、出错、超时不收费
24 小时内带同一个 Idempotency-Key 重试只扣一次

调用失败不收费;空结果不收费;查无此项不收费。

价格取自价目表版本 1b273c48fea9634e。 这个平台的全部价格 →

常见报错

所有错误同一种结构,并写明是否扣费。这个接口可能返回的:

状态码代码含义是否扣费
400invalid_params参数缺失、类型或取值不对,或者请求方法不对。problems 列出每一处问题,param 是第一个出错的参数。能否重试:修正后重试否
401unauthorizedKey 缺失、格式不对、已撤销、已停用或已过期(知道原因时 reason 会写明)。能否重试:不要重试否
402insufficient_balance余额(available)不够这次调用的最高费用(required)。能否重试:修正后重试否
404not_found内容、账号或页面不存在或不公开。charge_when_not_found 大于 0 的接口会对这个结果计费(数据源也向我们收了钱):这时返回体里 charged 为 true,并给出 amount。能否重试:不要重试否
429rate_limited账号这一分钟请求太多(reason: rate),或同时进行的调用太多(reason: concurrency)。能否重试:可以重试否
500settlement_unknown数据已返回,但没能确认是否扣费。能否重试:用同一个 Idempotency-Key 重试查询后才知道
502upstream_failed这个接口的所有数据源这次都失败了。能否重试:可以重试否
503capability_paused这个接口暂时停用了,这次没有执行。能否重试:可以重试否
504timeout数据没有及时返回。预扣已退回,这次没有扣费。能否重试:可以重试否

全部错误码 →

常见问题

小红书商城商品详情接口多少钱?

每次调用 $0.02,返回一个结果。查 1,000 次共 $20.00。失败的调用不扣费。

需要小红书账号、Cookie 或扫码登录吗?

不需要。只要带上 okdata 的 API key。返回的是小红书上的公开数据,不会用到你自己的小红书账号。

调用失败会扣费吗?

不会。所有错误都会返回 charged: false;只有超时返回 charged: null,表示结果还没确定。带同一个 Idempotency-Key 重发,绝不会重复扣费。

小红书不展示某个字段怎么办?

这个字段会是 null,meta.unavailable 里会列出它和原因:platform(平台本来就不展示)或 capability(我们暂时取不到)。

在你的 AI 里用

复制这段话贴给 Claude、ChatGPT、Cursor 或任何能打开网页的智能体。它会读这个接口的说明,再用你的 key 调用。

先读 https://okdata.online/zh/apis/xiaohongshu/shop/products/get.md,再用 okdata 帮我调这个接口,key 在环境变量 OKDATA_API_KEY 里。用「小红书商城商品详情」看价格区间和销量前五的商品,附链接。

接好 MCP 服务后,直接问: 用「小红书商城商品详情」看价格区间和销量前五的商品,附链接。

其他平台的同类数据

其他平台的同一类数据,返回同样的 Product 结构:

放在一起比较:商品详情接口 →

小红书的全部 30 个接口

小红书 API 总览 →小红书 API 价格 →

名称和编号

名称
小红书商城商品详情 API · Xiaohongshu shop product detail API
简称
小红书商城商品详情
编号
xiaohongshu.shop.products.get
地址
GET /v1/xiaohongshu/shop/products/get
分类
电商
也叫
小红书商品信息、小红书商品价格
数据类型
商品详情接口
返回
Product:12 个字段

接上一次,以后直接问 AI。

新 key 自带 $0.10 试用额度。贴一句话,就能接进你的智能体。

免费开始
一句话接进你的 AI

把这句话发给你的智能体

读一下 https://okdata.online/zh/agents.md,帮我把 okdata 配好;我的 key 在环境变量 OKDATA_API_KEY 里。

Claude Code、Cursor、Codex 等能打开网址的智能体,读完会自己配好。

MCP 地址https://api.okdata.online/mcp