POST
/v1/call/tiktok.product_detail预览TikTok Shop 商品详情接口
TikTok 独有的接口。
TikTok Shop 商品详情 API(数据接口)按商品编号取 TikTok Shop 美国站的一件商品:标题、文字说明、图片、评分、评价数、已售件数、店铺;价格用商品搜索取。每次调用 2 积分(约 $0.004–$0.0067),失败不扣。用 HTTP 调用,或让 AI 客户端通过 MCP 调用。最近实测:2026-10-17。
2 积分每次调用
一个对象每次调用返回
2026-10-17最近实测
948 B示例返回的体积(1 条)
最近更新:
预览:这个接口还没有标为稳定,参数和返回字段之后可能调整。计费和其他调用一样,调用失败不扣积分。
请求与返回
curl https://api.socialtoai.com/v1/call/tiktok.product_detail \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "1732488007561286228" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/tiktok.product_detail", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "id": "1732488007561286228", },)print(response.json())# 已经通过 MCP 接好了?直接用大白话问。用“TikTok Shop 商品详情”接口(tiktok.product_detail),参数是 id: 1732488007561286228。# 你的 AI 会调用 call 工具,参数是:{ "id": "1732488007561286228"}200 OK948 B2 积分
{ "op": "tiktok.product_detail", "platform": "tiktok", "status": "ok", "items": [ { "platform": "tiktok", "id": "…", "ref": "…", "approx": [], "type": "entry", "entry_type": "product", "title": "…", "url": "https://example.com/…", "rank": null, "heat": null, "fields": { "description": "…", "price": null, "original_price": null, "currency": null, "images": ["https://example.com/…", "https://example.com/…"], "rating": 4.1, "sold": 233, "reviews_count": 18, "shop": { "id": "…", "name": "…" } } } ], "unavailable": ["fields.price", "fields.original_price", "fields.currency"], "cost_credits": 2}- entry_type
- product
- description
- …
- price
null- original_price
null- currency
null- rating
- 4.1
- sold
- 233
示例里的名称和正文已去掉,数字是录制时的真实值。
示例数据完整返回
1 个参数。
全部必填。
用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| id | string | 必填 | — | 商品编号,一串数字(商品链接最后一段) |
这些值从哪里拿。
id商品编号,一串数字(商品链接最后一段)(例如 1732488007561286228)
这些接口返回的每一条都带 ref,原样填进来即可:
product_searchShop 商品搜索seller_productsShop 店铺商品
items 里每一条的字段。
TikTok 给不了的标出来了。
| 字段 | 类型 | 含义 |
|---|---|---|
| items[].title | string | 条目的标题或名称。 |
| items[].url | string | 能打开它的链接;平台的列表不带链接时为 null。 |
| items[].rank | integer | 榜上的名次,从 1 起。 |
| items[].heat | integer | 平台给的热度值。 |
| items[].fields.description | string | 商品描述。 |
| items[].fields.price | string始终 null | 现价,十进制字符串,币种见 fields.currency。 |
| items[].fields.original_price | string始终 null | 折前价。 |
| items[].fields.currency | string始终 null | 价格的币种。 |
| items[].fields.images | string[] | 图片地址。 |
| items[].fields.rating | number | 评分。 |
| items[].fields.sold | integer | 销量。 |
| items[].fields.reviews_count | integer | 评价数。 |
| items[].fields.shop.id | string | 店铺编号。 |
| items[].fields.shop.name | string | 店铺名称。 |
nullTikTok 给不了的字段null 的意思是“TikTok 没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:
fields.price现价,十进制字符串,币种见 fields.currency。fields.original_price折前价。fields.currency价格的币种。
每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式
会发生什么。
一次调用返回一个对象,不翻页,2 积分。
每把 Key 每秒 1 次,购买后 5 次;超出不扣费。 频率限制
失败的调用 0 积分,不会自动重试。 错误码
接好 MCP 后,这样问就会用到它。
按商品编号取 TikTok Shop 美国站的一件商品:1732488007561286228
2 积分call {"op":"tiktok.product_detail","id":"1732488007561286228"}按搜索词取 TikTok Shop 美国站的商品:yoga mat,再对前 3 个结果:按商品编号取 TikTok Shop 美国站的一件商品。
8 积分call {"op":"tiktok.product_search","query":"yoga mat"}call {"op":"tiktok.product_detail","id":"<ref>"} × 3
同名的接口,换个平台。
全部平台和价格POST
/v1/call/tiktok.product_detail{ "id": "1732488007561286228" }2 积分每次调用只改路径里的 op,返回的外层结构不变。
常见问题。
简短回答。
TikTok 的全部接口需要 TikTok 账号,或者申请 TikTok 官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是 TikTok 上公开可见的内容和账号信息,你不用登录 TikTok,也不用在那边申请任何东西。
“预览”是什么意思?
预览:这个接口还没有标为稳定,参数和返回字段之后可能调整。计费和其他调用一样,调用失败不扣积分。