×

淘宝商品详情 API,taobao.item.get

知名用户18007905473 知名用户18007905473 发表于2026-03-17 10:30:42 浏览4 评论0

抢沙发发表评论

taobao.item.get 是淘宝开放平台获取单个商品公开 / 完整详情的核心接口,用于获取标题、价格、SKU、主图、库存、销量、属性、详情描述等结构化数据。

一、接口基础信息

  • 接口标识taobao.item.get(v2.0)

  • 请求地址o0b.cn/anzexi

  • 请求方式:POST(推荐)/ GET

  • 返回格式:JSON(默认)/ XML

  • 权限要求:需申请接口权限,个人 / 企业均可申请

  • 授权类型:公开数据无需用户授权;卖家自有商品需 OAuth 授权

  • 默认限流2 QPS / 应用,日调用量 500–1000 次(免费版)


二、核心请求参数(必填 + 常用)

表格
参数名类型必填说明
methodString固定值:taobao.item.get
app_keyString应用唯一标识
signStringSHA256 签名(大写)
timestampString时间戳,格式:yyyy-MM-dd HH:mm:ss
vString固定值:2.0
formatString返回格式:json / xml,默认 json
num_iidNumber商品数字 ID(必填)
fieldsString返回字段列表,逗号分隔

常用 fields 组合(按需选择)

plaintext
num_iid,title,price,pic_url,num,detail_url,
seller_nick,props_name,sku,approve_status,
sold_quantity,volume,item_imgs,desc
  • num:库存

  • sold_quantity:累计销量

  • volume:30 天销量

  • sku:SKU 规格、价格、库存

  • desc:商品详情 HTML(需单独申请权限)


三、签名生成规则(必须)

  1. 所有参数(不含 sign)按字母升序排序

  2. 拼接成 key1value1key2value2… 字符串

  3. 末尾追加 App Secret

  4. SHA256 加密,结果转大写即为 sign

Python 签名示例

python
运行
import hashlibdef generate_sign(params, app_secret):
    # 1. 按key升序排序
    sorted_params = sorted(params.items())
    # 2. 拼接参数
    raw_str = ''.join([f"{k}{v}" for k, v in sorted_params])
    # 3. 追加App Secret
    raw_str += app_secret    # 4. SHA256加密并转大写
    sign = hashlib.sha256(raw_str.encode('utf-8')).hexdigest().upper()
    return sign

四、完整调用示例(Python)

python
运行
import requestsfrom datetime import datetimedef taobao_item_get(app_key, app_secret, num_iid, fields):
    # 1. 构造公共参数
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    params = {
        "method": "taobao.item.get",
        "app_key": app_key,
        "timestamp": timestamp,
        "v": "2.0",
        "format": "json",
        "num_iid": num_iid,
        "fields": fields    }

    # 2. 生成签名
    sign = generate_sign(params, app_secret)
    params["sign"] = sign    # 3. 发送请求
    url = "https://eco.taobao.com/router/rest"
    response = requests.post(url, data=params)
    return response.json()# 调用示例if __name__ == "__main__":
    APP_KEY = "你的AppKey"
    APP_SECRET = "你的AppSecret"
    NUM_IID = "1234567890"  # 商品ID
    FIELDS = "num_iid,title,price,pic_url,sku,num"

    result = taobao_item_get(APP_KEY, APP_SECRET, NUM_IID, FIELDS)
    print(result)

五、核心返回字段(JSON 结构)

json
{
  "item_get_response": {
    "item": {
      "num_iid": 1234567890,
      "title": "商品标题",
      "price": "99.00",
      "pic_url": "https://img.example.com/xxx.jpg",
      "num": 100,  // 库存
      "sold_quantity": 5000,  // 累计销量
      "volume": 200,  // 30天销量
      "detail_url": "https://item.taobao.com/item.htm?id=1234567890",
      "seller_nick": "卖家昵称",
      "approve_status": "onsale",  // onsale:在售, instock:仓库中
      "props_name": "品牌:XX;型号:XXX;",
      "sku": [
        {
          "sku_id": 123,
          "properties_name": "颜色:红色;尺码:L",
          "price": "99.00",
          "quantity": 50
        }
      ],
      "item_imgs": [
        {"url": "https://img.example.com/1.jpg"},
        {"url": "https://img.example.com/2.jpg"}
      ]
    },
    "request_id": "xxx"
  }}

六、常见错误码与处理

表格
错误码含义处理方案
7参数缺失检查必填参数(num_iid/fields
15签名错误核对排序、算法、App Secret
27商品不存在 / 已下架校验 num_iid
429限流降低 QPS、指数退避重试、申请提额
500服务端异常重试(最多 3 次)、检查网络
110权限不足申请接口权限、检查应用审核状态

七、稳定性与最佳实践

  1. 严格限流:控制 QPS ≤ 2,避免触发限流

  2. 重试策略:仅对 5xx / 超时 / 429 重试,指数退避(1s→3s→5s),最多 3 次

  3. 缓存优化:热点商品缓存 1–2 小时,普通商品 6–12 小时

  4. 超时设置:请求超时 3–5s,避免阻塞

  5. 批量拆分:大批量采集拆分为小批次,间隔 1s 提交

  6. 监控告警:监控成功率、响应时间、错误率,异常及时告警


八、权限与合规

  • 仅获取公开数据,不涉及用户隐私

  • 数据仅限自身业务使用,禁止二次分发、售卖

  • 遵守《淘宝开放平台开发者协议》与《反不正当竞争法》

  • 禁止用于恶意比价、爬虫、侵权等场景


群贤毕至

访客