接口健康状态
- 24h 健康值
- 34%
- 24h 平均耗时
- 16.56 s
- 健康 / 正常
- 可用
- 少量可用
- 基本不可用
24 小时趋势
30 天趋势
商品详情:返回单个对象;主要字段 product_id、title、price_cny、discount_price_cny、sales_text、sold_count。
请求发到 POST https://api.everyinfra.com/api/v1/social,platform 填 douyin,action 填 product_detail。 单价 $13.33 / 千次(每次 $0.01333),失败和空结果都不收费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。
抖音商品详情按 product_id 读取一件抖音商城商品:标题、店铺、展示价和当前公开优惠价、页面销量、主图与详情长图、服务保障标签、运费和发货说明、规格选项,以及是否在售。它回答「这件商品在抖音卖什么价、谁在卖、卖得怎样」,适合商家盯竞品、品牌方巡查经销商的价格,以及机构在安排达人带货前核实商品。
price_cny 和 discount_price_cny 的单位都是人民币元;sold_count 是整个商品的公开已售数,不是某位达人的销量。运费和发货说明保留页面原文,跨店比较前先自己解析;variant_groups 只有规格名、选项名和公开规格 ID,不含每个选项的价格和库存。
AI 提示词
#请帮我用 EveryInfra 的「抖音商品详情」接口(douyin/product_detail)写一个数据采集脚本。
接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 douyin,action 填 product_detail,参数放在 params 里。
- 必填参数:
- product_id:抖音商城商品数字 ID;从 product_search 或 live_product_search 结果取得,不是 SKU ID、推广 ID 或商品标题。
- 返回一个对象,主要字段:product_id(抖音商城商品稳定 ID)、title、price_cny(商品展示价格)、discount_price_cny(商品当前公开优惠价)、sales_text(商品详情公开销量原文)、sold_count(商品详情当前公开的已售数量)、shop_id(抖音商城店铺 ID)、shop_name(抖音商城店铺名称)、shop_avatar_url(抖音商城店铺头像 URL)、image_url、main_image_urls(商品头图/轮播图 URL 列表)、detail_image_urls(商品详情长图 URL 列表);一共 17 个字段,完整列表见 https://api.everyinfra.com/api/v1/social/catalog?platform=douyin。
- 示例请求体:
{
"platform": "douyin",
"action": "product_detail",
"params": {
"product_id": "3836720422792070096"
}
}
- 计费:$13.33 / 千次;失败和空结果不扣费。
- 一次要采几十上百个时,在请求体加 "mode": "async":先拿到 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id} 取结果。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。
写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。请求参数
#| 参数名 | 位置 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | - | Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。 |
platform | body | string | 是 | douyin | 平台标识,固定值。 |
action | body | string | 是 | product_detail | 能力标识,固定值。 |
product_id | body.params | string | 是 | - | 抖音商城商品数字 ID;从 product_search 或 live_product_search 结果取得,不是 SKU ID、推广 ID 或商品标题。 |
代码示例
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "douyin",
"action": "product_detail",
"params": {
"product_id": "3836720422792070096"
}
}'OpenAPI 定义 (JSON)示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。
响应示例
#{ "id": "req_…", "platform": "douyin", "action": "product_detail", "results": { "product_id": "3836720422792070096", "title": "【呆萌熊】新品双头双效唇釉哑光镜面显白滋润持久*", "price_cny": 29.9, "discount_price_cny": 29.9, "sales_text": "已售 2.1万", "sold_count": 21000, "shop_id": "299794838", "shop_name": "云熙韩系美妆店", "shop_avatar_url": "https://p26-item.ecombdimg.com/img/tos-cn-i-6vegkygxbk/f8ba953ab37546efb8a919a4e9ead1a8~tplv-5mmsx3fupr-resize:74:74.webp", "image_url": "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_37a8f86e0effdbc561476e142b123a40_sx_459175_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "main_image_urls": [ "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_37a8f86e0effdbc561476e142b123a40_sx_459175_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "https://p3-item.ecombdimg.com/img/ecom-shop-material/png_m_574f7406e9dd12bb3f18273204bf327f_sx_896309_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_534c2bcde929242168bd6807ad88a191_sx_437036_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp" ], "detail_image_urls": [ "https://p3-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_def6b7201342e9f4b6ac75d03e204a5c_sx_481255_www790-1056~tplv-5mmsx3fupr-resize:1080:0.webp", "https://p3-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_9886a360258475ee00925b5a9002f008_sx_536482_www790-1050~tplv-5mmsx3fupr-resize:1080:0.webp", "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_5f7156ffb9ef5e49cf37af6be985d933_sx_487609_www790-1394~tplv-5mmsx3fupr-resize:1080:0.webp" ], "assurances": [ "7天无理由退货" ], "shipping_fee_text": "免运费", "shipping_estimate_text": "预计明天发货", "variant_groups": [ { "name": "色号", "options": [ { "id": "•••", "name": "01烟熏烤奶" }, { "id": "•••", "name": "02芭乐奶油" }, { "id": "•••", "name": "03樱桃玫瑰" } ] }, { "name": "第二支选择", "options": [ { "id": "•••", "name": "01烟熏烤奶" }, { "id": "•••", "name": "02芭乐奶油" }, { "id": "•••", "name": "03樱桃玫瑰" } ] } ], "on_sale": true, "platform": "douyin" }, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
返回字段
#业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被编造。
| 字段 | 含义 |
|---|---|
product_id | 抖音商城商品稳定 ID。 |
title | 标题。平台无标题概念时(如纯文本帖)为 null。 |
price_cny | 商品展示价格,人民币元。 |
discount_price_cny | 商品当前公开优惠价,人民币元;缺失时不从原价推算。 |
sales_text | 商品详情公开销量原文。 |
sold_count | 商品详情当前公开的已售数量;是采集时快照,不等于指定达人销量。 |
shop_id | 抖音商城店铺 ID。 |
shop_name | 抖音商城店铺名称。 |
shop_avatar_url | 抖音商城店铺头像 URL。 |
image_url | 图片链接。多图能力可能返回 image_urls 数组。 |
main_image_urls | 商品头图/轮播图 URL 列表。 |
detail_image_urls | 商品详情长图 URL 列表。 |
assurances | 商品公开服务保障标签。 |
shipping_fee_text | 商品公开运费或发货地说明原文。 |
shipping_estimate_text | 商品公开预计发货说明原文。 |
variant_groups | 商品规格组与可选项;只保留规格名、选项名和公开规格 ID。 |
on_sale | 商品在采集时是否显示在售。 |
platform | 数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。 |
常见问题
#product_id 从哪里来?
#从抖音的商品搜索或直播商品搜索结果里取,那里每件商品都带抖音商城的数字商品 ID。只传这个数字;结果里同样出现的推广 ID、SKU ID,以及商品标题,都不能代替它。
sold_count 是达人带货的销量吗?
#不是。它是商品详情页公开的已售数量,覆盖整个商品,不区分达人或直播间。按调用日期把它存下来,可以画出销量走势;页面上销量的原始写法保存在 sales_text 里。
为什么有的商品没有 discount_price_cny?
#只有商品在读取时公开显示了优惠价,这个字段才有值。没有时,把 price_cny 当作当前展示价即可,优惠价不会根据原价推算出来。两者同时存在时可以直接相减,看出优惠幅度。
错误与计费
#- 401
- 缺少 Key 或 Key 无效。
- 402
- 余额不足,先充值。
- 422
- 参数名或取值不对,按错误信息给的候选改;不扣费。
- 429
- 超过每分钟请求上限,按 Retry-After 等待后再试。
- 503
- 暂时无法完成,预扣的费用退回;结果未知时先核对,不要直接重发。
- 200 空结果
- 没有数据,不扣费。