一、接口基础介绍
1688 商品详情接口可根据商品 ID / 商品链接,获取商品完整信息,核心能拿到各 SKU 规格、阶梯批发价、活动优惠价、实时库存、起批量等动态数据,广泛用于货源比价、价格监控、库存预警、ERP 数据同步场景。
接口优势:无需自研爬虫、规避平台风控,支持关闭缓存拉取实时数据,搭配分层轮询策略可保障数据时效性。
二、完整 Python 调用代码
```import requests
import re
配置自己的接口密钥
API_KEY = "后台密钥"
API_GATEWAY = "接口请求地址"
待监控1688商品链接
goods_url = "https://detail.1688.com/offer/7234567890123.html"
def extract_offer_id(url):
"""正则自动提取商品ID"""
pattern = r"offer/(\d+)"
match_res = re.search(pattern, url)
if match_res:
return match_res.group(1)
return None
def get_1688_item_detail(goods_link, cache="no"):
"""
请求商品详情接口
goods_link:1688商品完整链接
cache=no:关闭缓存,获取实时价格库存
"""
item_id = extract_offer_id(goods_link)
if not item_id:
return {"error": "商品链接解析失败,请检查链接格式"}
params = {
"key": API_KEY,
"api_name": "item_get",
"id": item_id,
"cache": cache,
"fields": "sku,title,price,stock,promotion_price"
}
try:
response = requests.get(API_GATEWAY, params=params, timeout=15)
return response.json()
except Exception as err:
return {"error": f"接口请求异常:{str(err)}"}
if name == "main":
print("待监控商品链接:")
print(goods_url)
print("-" * 40)
# cache设置no,保证价格、库存实时更新
result = get_1688_item_detail(goods_url, cache="no")
if result.get("error"):
print("接口调用失败:", result["error"])
elif result.get("items") and len(result["items"]) > 0:
item_info = result["items"][0]
print(f"商品标题:{item_info.get('title')}")
print("SKU规格、实时批发价、库存明细:")
sku_list = item_info.get("sku", [])
for sku in sku_list:
spec = sku.get("sku_name", "通用规格")
price = sku.get("sku_price", sku.get("price"))
stock = sku.get("stock_num", 0)
print(f"规格:{spec} | 批发价:{price} | 实时库存:{stock}")
else:
print("未查询到商品数据,返回原始内容:", result)
`
三、核心参数说明
cache
监控价格、库存场景统一传 cache=no,关闭缓存,每次请求拉取平台最新数据;仅查询商品标题、图片等静态信息可传 yes,节省调用额度。
id
支持传入纯数字商品 ID,也可直接传入完整商品链接,代码内部自动解析提取 ID。
fields
仅筛选 SKU、价格、库存等动态字段,过滤冗余图文数据,加快接口响应速度,减少无效数据传输。
四、配套实时性落地方案
分层本地缓存
商品标题、规格名称等静态数据缓存 30 分钟~2 小时;SKU 价格、库存仅缓存 10-30 秒,大促活动直接关闭本地缓存。
分级定时轮询
爆款、活动商品 30 秒~1 分钟轮询;普通商品 3-5 分钟;长期无动销商品 10-15 分钟轮询,采用异步队列错峰请求,防止限流。
SKU 增量比对
以 sku_id 作为唯一标识,每次请求后和历史数据对比,仅更新价格、库存变动数据;检测到异动自动二次复核,过滤网络波动产生的虚假数据。
异常容错机制
代码设置 15 秒请求超时,捕获网络、接口异常;请求失败保留上一轮有效数据兜底,同时记录异常日志方便排查。
五、使用步骤
登录接口服务商后台,复制专属密钥填入代码;
将 goods_url 替换为需要监控的 1688 商品链接;
执行安装依赖命令:pip install requests,运行脚本即可打印全部 SKU 实时价格与库存;
批量监控可封装定时任务,搭配 Redis 实现商品去重、价格库存异动告警。
六、开发避坑要点
仅支持标准 1688 商品详情链接,短链接、跳转链接无法正常解析商品 ID;
做库存、价格监控不可开启缓存,否则会出现数据延迟、数值不准;
批量循环采集时增加随机休眠间隔,短时间大量并发请求容易触发接口限流报错。