
taobao.item_video 是淘宝开放平台提供的专用商品主图视频获取 API,仅返回视频相关结构化数据(URL、封面、时长等),适合批量、高效采集场景。以下是完整接入与使用指南:
一、接口核心信息
- 接口名称 :
taobao.item_video(简称item_video) - 功能 :获取淘宝商品主图视频(不包含详情页 / 逛逛视频)
- 请求地址 :
https://eco.taobao.com/router/rest - 响应格式 :
JSON/XML(默认XML,可指定format=json) - 鉴权方式 :OAuth 2.0 + 签名(
sign)
二、接入前置条件
- 注册并认证:淘宝开放平台账号完成企业 / 个人实名认证
- 创建应用 :获取
App Key、App Secret - 申请权限 :在应用「接口管理」中申请
taobao.item_video调用权限 - 获取
access_token:通过 OAuth 2.0 授权流程获取
三、请求参数(必选 + 公共)
1. 业务参数(核心)
表格
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
num_iid |
String | 是 | 淘宝商品 ID(商品链接中的数字串) |
2. 公共参数(必须携带)
表格
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
method |
String | 是 | 固定为 taobao.item_video |
app_key |
String | 是 | 应用的 App Key |
timestamp |
String | 是 | 请求时间戳(yyyy-MM-dd HH:mm:ss) |
format |
String | 否 | 响应格式,json 或 xml(默认 xml) |
v |
String | 是 | API 版本,固定为 2.0 |
sign |
String | 是 | 签名(MD5,按规则生成) |
access_token |
String | 是 | OAuth 授权令牌 |

四、响应数据结构(JSON 示例)
json
{
"item_video_response": {
"video": {
"id": 123456, // 视频关联记录ID
"video_id": 789012, // 淘秀视频ID
"url": "https://cloud.video.taobao.com/play/u/xxx/xxx.mp4", // 视频播放地址
"cover_url": "https://img.alicdn.com/imgextra/xxx.jpg", // 封面图
"duration": 15000, // 时长(毫秒,15秒)
"width": 720,
"height": 1280,
"created": "2026-01-01 12:00:00" // 创建时间
}
}
}
- 无视频时:
video字段为null或不存在
五、Python 调用示例(可直接运行)
python
运行
import hashlib
import time
import requests
# 配置信息(替换为你的)
APP_KEY = "你的AppKey"
APP_SECRET = "你的AppSecret"
ACCESS_TOKEN = "你的access_token"
NUM_IID = "商品ID,如:765432109876"
def generate_sign(params, secret):
"""生成淘宝API签名(MD5)"""
# 1. 参数按key升序排序
sorted_params = sorted(params.items(), key=lambda x: x[0])
# 2. 拼接成字符串
param_str = "".join([f"{k}{v}" for k, v in sorted_params])
# 3. 前后拼接AppSecret
sign_str = f"{secret}{param_str}{secret}"
# 4. MD5加密并转大写
sign = hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper()
return sign
def get_item_video(num_iid):
"""调用taobao.item_video获取商品视频"""
url = "https://eco.taobao.com/router/rest"
# 构造参数
params = {
"method": "taobao.item_video",
"app_key": APP_KEY,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "2.0",
"access_token": ACCESS_TOKEN,
"num_iid": num_iid
}
# 生成签名
params["sign"] = generate_sign(params, APP_SECRET)
# 发送请求
resp = requests.get(url, params=params)
return resp.json()
# 调用
if __name__ == "__main__":
result = get_item_video(NUM_IID)
print(result)
# 提取视频地址
video = result.get("item_video_response", {}).get("video")
if video:
print("视频地址:", video["url"])
print("封面:", video["cover_url"])
print("时长:", video["duration"], "ms")
else:
print("该商品无主图视频")
六、关键注意事项(合规 + 稳定)
1. 合规红线(必须遵守)
- 版权 :视频版权归商家 / 平台所有,仅限内部合规使用 (选品、分析),严禁二次商用、分发、转售
- 规则 :遵循淘宝开放平台爬虫规范,禁止高频、批量、破坏性调用
- 隐私:不采集用户隐私数据,仅获取公开商品视频信息
2. 稳定性与风控
- 频率限制 :免费版通常每日 1000 次,付费版可升级;控制 QPS(建议≤5 次 / 秒)
- IP 与 UA:使用代理 IP 池、随机 UA,避免被风控
- 重试机制:对 5xx/429 错误做指数退避重试
- 防盗链:视频 URL 带 Referer/UA 校验,下载时需携带正确请求头
3. 业务适配
- 仅主图视频:不包含详情页嵌入视频、逛逛短视频
- 空值处理:部分商品无视频,需做判空
- 地址时效 :视频 URL 可能有时效性,建议即时使用 / 下载
七、与 taobao.item.get 对比(选型参考)
表格
| 维度 | taobao.item_video |
taobao.item.get |
|---|---|---|
| 定位 | 专用视频接口 | 全量商品详情接口 |
| 参数 | 仅需 num_iid |
需指定 fields=video |
| 响应 | 仅视频数据,轻量 | 全量商品信息(含视频) |
| 性能 | 更快、带宽更低 | 较慢、数据量大 |
| 适用场景 | 批量纯视频采集 | 需同步商品 + 视频数据 |
八、常见问题与排查
- 签名错误(sign invalid)
- 检查
App Secret是否正确 - 确认参数排序、时间戳格式、编码(UTF-8)
- 检查
- 权限不足(insufficient permissions)
- 确认已申请
item_video接口权限 - 检查
access_token是否有效、权限范围正确
- 确认已申请
- 无视频返回
- 商品本身无主图视频
- 检查
num_iid是否正确
- 视频 URL 403 / 无法播放
- 携带正确
Referer(如https://item.taobao.com) - 检查 UA 是否合法
- 携带正确
九、总结
taobao.item_video 是合规、高效 获取淘宝商品主图视频的官方通道,适合批量采集、选品分析、素材管理等场景。接入时重点关注签名、鉴权、频率控制与合规使用,即可稳定获取视频资源。