POST

接口健康状态

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 等待后重试。

写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。

请求参数

#
参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是douyin平台标识,固定值。
actionbodystring是product_detail能力标识,固定值。
product_idbody.paramsstring是-抖音商城商品数字 ID;从 product_search 或 live_product_search 结果取得,不是 SKU ID、推广 ID 或商品标题。

代码示例

#
bash
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。

响应示例

#
2026年11月7日 22:47(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息;id、billing、quota 每次调用都不同,只给结构。
json
{  "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 空结果
没有数据,不扣费。

错误码

自有访问统计常开;Google Analytics 仅在你点「同意分析」后启用。 隐私政策