速卖通商品详情数据 API 接口全解——注册、签名、Python 调用到落库一条龙
关键词:AliExpress、aliexpress.item.get、官方 OpenAPI、跨境电商、Python 示例、合规限速
适用:比价 SaaS、ERP 选品、数据分析、第三方金融评估
一、接口能拿到什么数据?
速卖通开放平台提供 aliexpress.item.get,一次调用可回 30+ 字段:
- 基础:商品标题、一口价/原价、折扣率、主图 URL、币种
- SKU:各规格库存、阶梯价、属性图、尺码/颜色绑定
- 物流:运费模板、海外仓、预计妥投时间
- 营销:促销标签、历史最低价、佣金率
- 评价:评分、评论数、带图评价比例
- 多语言:支持英/西/俄等 8 种返回,利于本土化
二、0→1 准备工作
| 步骤 | 说明 | 地址/备注 |
|---|---|---|
| ① 注册开发者 | 企业认证 QPS 更高 | |
| ② 创建应用 | 选“商品数据”权限 | 得到 AppKey + AppSecret |
| ③ 申请权限 | 搜索 aliexpress.item.get | 审核 1-3 天 |
| ④ 获取 token | OAuth2.0 或商家授权 | 部分接口可省 |
三、技术画像
网关: https://gw.api.aliexpress.com/routerjson (固定) Method: aliexpress.item.get 必参: app_key, timestamp, sign, method, v=1.0, format=json, num_iid 签名: HMAC-SHA256(新)或 MD5(旧),需排序后拼接 [^20^][^22^] 返回: JSON,UTF-8,gzip 压缩 频率: 默认 1 000 次/天,购买资源包可升至 10 万/天四、Python 实战:30 行拿到商品 JSON
# pip install requests import time, json, hashlib, hmac, requests from urllib.parse import urlencode APP_KEY = '你的AppKey' APP_SECRET = '你的AppSecret' GATEWAY = 'https://gw.api.aliexpress.com/routerjson' def sha256_sign(params: dict) -> str: """HMAC-SHA256 签名(官方推荐)""" params = {k: v for k, v in params.items() if v is not None} sorted_str = urlencode(sorted(params.items())) sig = hmac.new(APP_SECRET.encode(), sorted_str.encode(), hashlib.sha256).hexdigest().upper() return sig def item_get(num_iid: str): p = { "method" : "aliexpress.item.get", "app_key" : APP_KEY, "timestamp" : time.strftime("%Y-%m-%d %H:%M:%S"), "v" : "1.0", "format" : "json", "sign_method": "hmac_sha256", "num_iid" : num_iid, "fields" : "title,price,sku,image_urls,stock,commission_rate" } p["sign"] = sha256_sign(p) r = requests.get(GATEWAY, params=p, timeout=10) r.raise_for_status() return r.json()["aliexpress_item_get_response"]["result"] if __name__ == "__main__": data = item_get("1005005517123456") print(json.dumps(data, indent=2, ensure_ascii=False))运行结果(节选):
{ "product_id": 1005005517123456, "title": "Bluetooth 5.3 Wireless Earbuds", "sale_price": 12.47, "currency": "USD", "stock": 12580, "sku": [...], "commission_rate": 8.5 }五、批量链路:搜索 → 详情 → 落库
- 搜索端:用
aliexpress.item.search按关键词/品类/价格区间抓商品 ID 列表 - 详情端:for 循环调
item_get,并发≤5、QPS≤1 保平安 - 存储:MySQL 按
product_id主键INSERT ... ON DUPLICATE KEY UPDATE - 缓存:Redis 记录“最近 1h 已抓”ID,防止重复烧额度
六、常见错误码速查
| 返回码 | 含义 | 解决 |
|---|---|---|
| 401 | sign 错误 | 检查时间戳误差>10 min 或签错算法 |
| 429 | 流量超限 | 降速 + 买资源包 |
| 561 | 商品不存在 | ID 写错或已下架 |
| 5611 | 店铺关闭 | 跳过该 ID |
七、合规与风控(第三方重点)
- 数据归属——谁的数据谁授权;未授权商品 ID 不抓取
- 最小可用字段——只申请业务必需的
fields,减少隐私风险 - 频率封顶——默认 1 000/天,超限需购买独立资源包,不得多 AppKey 分摊
- 落地脱敏——买家昵称、邮箱、电话等个人字段不落盘
- 再分发限制——接口返回数据不可直接打包出售,只能“结果化展示”给终端用户
- 定期审计——平台会抽查调用日志,异常需 24h 内整改