淘宝店铺所有商品信息获取API:item_search_shop接口全解析

接口概述

  • 接口名称taobao.item_search_shop(淘宝开放平台核心接口)
  • 功能:通过卖家ID( seller_id)或店铺ID( shop_id)获取指定店铺所有商品信息,支持分页、排序及全量数据检索。
  • 适用场景:商品库管理、竞品监控、数据分析、个性化推荐等。

调用步骤与参数

  1. 前置准备
    • 注册淘宝开放平台开发者账号,完成企业/个人认证。
    • 创建应用,获取 App KeyApp Secret(密钥需严格保密)。
    • 申请接口权限(如 taobao.items.onsale.get),部分场景需签约淘宝服务市场。
  2. 请求参数
    • 必填参数
      • seller_id:卖家唯一ID(优先使用,部分版本 shop_id已失效)。
      • page:页码(默认1,支持分页遍历)。
      • page_size:每页商品数量(默认10,最大100,建议10-50)。
    • 可选参数
      • sort:排序方式( new新品、 bid价格升序、 _bid价格降序、 sale销量降序)。
      • category_id:商品分类ID(筛选特定分类商品)。
      • fields:指定返回字段(如 num_iid,title,price,sales)。
  3. 签名生成
    • 使用 MD5HMAC-SHA256对请求参数签名,确保请求合法性。示例Python代码:
      pythonimport hashlibdef generate_sign(params, app_secret):    sorted_params = sorted(params.items())    sign_str = app_secret + ''.join(f"{k}{v}" for k, v in sorted_params) + app_secret    return hashlib.md5(sign_str.encode()).hexdigest().upper()
  4. 请求示例
    • 接口地址: https://gw.api.taobao.com/router/rest
    • 完整请求参数需包含 app_keytimestampformat(JSON)、 v(版本号)等公共参数。

返回数据详解

  • 基础信息字段
    • seller_id:卖家唯一ID。
    • total_results/ real_total_results:总商品数(含缓存/实时数据)。
    • page_count:总页数(计算公式: ⌈总商品数/每页数量⌉)。
    • request_id:请求唯一标识(用于问题追踪)。
  • 商品列表字段(items数组)
    • num_iid:商品唯一ID(如 592020103246)。
    • title:商品标题(含关键词/卖点)。
    • price/ original_price:当前售价与原价(如 18.9元)。
    • sales:商品销量(如 10000笔)。
    • pic_url:商品主图URL(如 //img.alicdn.com/...)。
    • detail_url:商品详情页链接(如 https://item.taobao.com/item.htm?id=592020103246)。
    • category_id:商品分类ID(支持品类级推荐)。
    • props:商品属性(JSON格式,如 {"颜色":"黑色","尺寸":"128GB"})。
    • skus:SKU列表(含库存、价格,如 {"sku_id":"S123","price":"¥6199","quantity":100})。

注意事项与最佳实践

  • 频率限制:单应用每分钟调用不超过60次,超限将触发风控。
  • 数据时效性:部分字段(如销量)可能存在延迟,建议定期更新。
  • 错误处理
    • 错误码: 0000(成功)、 4000(系统错误)、 4003(参数错误)、 4008(频率过高)。
    • 异常处理:重试机制、日志记录、网络异常捕获。
  • 法律合规:遵守《数据安全法》《个人信息保护法》,禁止非法获取用户隐私。
  • 性能优化:分页缓存、批量请求、异步处理。

代码示例(Python)

pythonimport requestsimport timedef search_shop_items(app_key, app_secret, seller_id, page=1, page_size=10, sort="sale"):    url = "https://gw.api.taobao.com/router/rest"    timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())    params = {        "app_key": app_key,        "method": "taobao.item_search_shop",        "seller_id": seller_id,        "page": page,        "page_size": page_size,        "sort": sort,        "timestamp": timestamp,        "format": "json",        "v": "2.0",        "sign_method": "md5"    }    # 生成签名并添加    params["sign"] = generate_sign(params, app_secret)    response = requests.get(url, params=params)    return response.json()# 示例调用app_key = "YOUR_APP_KEY"app_secret = "YOUR_APP_SECRET"seller_id = "898146183"  # 示例卖家IDdata = search_shop_items(app_key, app_secret, seller_id, sort="_bid")print(data)

扩展应用

  • 竞品监控:定期抓取竞品店铺价格、销量动态,生成分析报表。
  • 个性化推荐:基于商品属性(如分类、价格)构建推荐算法。
  • 数据可视化:结合 matplotlib生成销量趋势图、价格分布热力图。

建议定期查阅 https://open.taobao.com/获取最新接口规范,或通过沙盒环境测试接口功能。如遇问题,可联系淘宝技术支持或社区论坛求助。


请使用浏览器的分享功能分享到微信等