1688 商品详情 API 接口(核心为alibaba.item.get)是获取 1688 批发商品结构化数据的官方通道,以下从接口基础信息、核心字段、调用规则、实战代码、常见问题五个维度,给出完整且可落地的参考,覆盖你开发中需要的所有关键信息。
一、接口基础信息(必知前提)
核心接口清单
接口名称接口标识核心用途适用场景通用商品详情接口alibaba.item.get获取商品基础、价格、供应商、SKU 等核心数据批量选品、价格监控、供应商筛选SKU 详情接口alibaba.item.sku.get单独获取 SKU 维度的库存、价格精细化库存监控商品详情页富文本接口alibaba.item.detail.get获取商品详情页图文 / 规格参数详情页内容解析接口调用前提
账号认证:在1688 开放平台完成个人 / 企业实名认证(企业认证配额更高);
应用创建:创建应用并获取App Key和App Secret(接口调用的身份凭证);
权限申请:申请目标接口权限(如alibaba.item.get),审核周期 1-3 个工作日;
地址与规则:固定请求地址https://gw.api.1688.com/openapi/param2/1/alibaba.item.get/2.0,仅支持 GET 请求,QPS 限制为 1(普通应用)/5(企业应用)。
二、核心接口(alibaba.item.get)返回字段解析
返回数据以 JSON 为主,核心字段按业务维度分类,重点关注 1688 批发场景的专属属性:
核心字段分类(带示例)
字段分类关键字段含义示例值商品标识item_id商品唯一 ID(1688 专属,12 位数字)"689712345678"category_id/category_name类目 ID / 名称"123456"/"男装 > T 恤 > 短袖 T 恤"基础信息title商品标题(含起批量 / 定制信息)"2025 夏季纯棉 T 恤 10 件起批 可定制"pic_url/detail_url主图链接 / 详情页链接"https://cbu01.alicdn.com/xxx.jpg"批发价格规则price基础批发价(字符串转浮点)"19.90"min_order_quantity最小起批量(批发核心字段)"10"max_order_quantity最大订购量"9999"trade_type交易类型(wholesale = 批发 /retail = 零售)"wholesale"SKU 信息sku_listSKU 列表(含规格、价格、库存)见下方示例供应商信息supplier_info供应商名称 / 类型 / 所在地{"supplier_name":"XX 服饰厂","supplier_type":"factory","province":"浙江"}物流信息logistics_info运费 / 发货时效 / 包邮规则{"freight":"0.00","delivery_time":"48 小时内发货","freight_note":"满 500 元包邮"}销售数据sales_info月销量 / 总销量 / 上架时间{"month_sales":1250,"total_sales":8900}商品状态status在售(on_sale)/ 下架(off_sale)"on_sale"典型 SKU 列表字段示例
json
"sku_list": [
{
"sku_id": "987654321012",
"sku_spec": "白色-L",
"sku_price": "19.90",
"sku_stock": 5000,
"available_stock": 4980 // 可售库存(真实库存)
封装好API demo url=o0b.cn/ibrad
}]
三、Python 调用核心代码(最简可运行版)
python
import requestsimport hashlibimport time# 配置项(替换为自己的)APP_KEY = "你的App Key"APP_SECRET = "你的App Secret"API_URL = "https://gw.api.1688.com/openapi/param2/1/alibaba.item.get/2.0"def generate_sign(params):
"""生成1688 API签名(核心)"""
# 1. 按ASCII升序排序,过滤空值
sorted_params = sorted([(k, v) for k, v in params.items() if v], key=lambda x: x[0])
# 2. 拼接+加密
sign_str = APP_SECRET + "".join([f"{k}{v}" for k, v in sorted_params]) + APP_SECRET return hashlib.md5(sign_str.encode()).hexdigest().upper()def get_1688_item_detail(item_id):
"""调用商品详情接口"""
# 构造参数
params = {
"app_key": APP_KEY,
"method": "alibaba.item.get",
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "2.0",
"sign_method": "md5",
"item_id": item_id,
"fields": "item_id,title,price,min_order_quantity,supplier_info,sku_list"
}
# 生成签名
params["sign"] = generate_sign(params)
# 发起请求
try:
resp = requests.get(API_URL, params=params, timeout=10)
resp.encoding = "utf-8"
result = resp.json()
# 处理结果
if result["code"] != 0:
raise Exception(f"调用失败:{result['data']['error_response']['msg']}")
return result["data"]["item_get_response"]["item"]
except Exception as e:
print(f"异常:{e}")
return None# 调用示例if __name__ == "__main__":
item_data = get_1688_item_detail("689712345678") # 替换为目标商品ID
if item_data:
print(f"商品标题:{item_data['title']}")
print(f"批发价:{item_data['price']} 元,起批量:{item_data['min_order_quantity']} 件")
四、调用时的核心注意事项
- 签名必对(最易踩坑)
参数必须按ASCII 升序排序(不是拼音 / 数字排序);
空值参数(如未传fields)不参与签名;
签名拼接规则:App Secret + 排序后keyvalue + App Secret,MD5 加密后转大写。
- 限流控制
普通应用 QPS=1,批量调用需添加time.sleep(1)延迟;
个人账号每日配额约 100 次,企业账号提升至 1 万次 / 天。
- 数据处理
价格 / 起批量等字段返回为字符串,需转成数值类型(float/int);
部分字段(如供应商联系方式)需额外申请权限,未授权时返回null;
商品图片链接有效期约 30 天,长期使用需下载到本地。
五、常见异常及解决方案
异常类型错误码 / 提示解决方案签名错误isv.invalid-sign核对 App Secret、参数排序、过滤空值权限不足isv.permission-denied确认接口权限已审核通过(企业认证优先)限流超限isv.api-rate-limit-exceeded增加调用延迟,引入缓存减少请求商品不存在isv.item-not-exist核对商品 ID(1688 ID≠淘宝 ID),跳过下架商品时间戳错误isv.invalid-timestamp校准本地时间,确保格式为YYYY-MM-DD HH:mm:ss
总结
核心关键点
1688 商品详情 API 的核心是alibaba.item.get,需重点关注起批量、供应商类型、批发价等批发专属字段;
签名生成是调用成功的前提,必须严格遵循 ASCII 排序 + MD5 加密规则;
调用时需控制频率(1 QPS)、处理空值字段、适配平台限流 / 权限规则;
异常处理优先覆盖签名、权限、限流三类高频问题,保障采集稳定性。
如果需要针对「批量采集」「数据清洗」「异常重试」等特定场景的优化代码,可以告诉我,我会补充对应的实战方案。