一、接口核心功能
- 关键词搜索API
- 功能:通过输入商品关键词(如“连衣裙”“运动鞋”),返回匹配的商品列表,包含标题、价格、图片、销量等核心信息。
- 技术实现:基于淘宝商品库的语义搜索算法,支持模糊匹配与排序优化(如按销量、价格、好评率排序)。
- 典型场景:电商导购平台、价格监控工具、选品分析系统。
- 商品详情API
- 功能:通过商品ID(
num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。 - 技术实现:支持高并发查询,数据实时更新(如库存变动、价格调整)。
- 典型场景:商品详情页展示、库存管理系统、竞品分析工具。
二、接口调用流程
- 注册与权限申请
- 关注博主注册账号,创建应用并申请以下API权限:
taobao.tbk.item.get(淘宝客商品详情)taobao.item.get(标准商品详情)taobao.items.search(关键词搜索)
- 审核通过后获取
App Key和App Secret,用于接口签名。
- 构建请求
- 请求方式:HTTPS POST(推荐)或GET。
- 关键参数:
method:接口名称(如taobao.items.search)。app_key:应用唯一标识。timestamp:请求时间戳(格式:YYYY-MM-DD HH:MM:SS)。sign:请求签名(通过MD5算法对参数加密生成)。q:搜索关键词(仅关键词搜索API需要)。num_iid:商品ID(仅商品详情API需要)。fields:返回字段(如title,price,pic_url,sku)。
- 示例代码(Python):
python import requests import hashlib import time def generate_sign(app_secret, params): sorted_params = sorted(params.items()) param_str = ''.join(f'{k}{v}' for k, v in sorted_params) + app_secret return hashlib.md5(param_str.encode()).hexdigest() def search_items(app_key, app_secret, keyword): url = "https://eco.taobao.com/router/rest" params = { "method": "taobao.items.search", "app_key": app_key, "q": keyword, "fields": "num_iid,title,price,pic_url,volume", "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "format": "json", "v": "2.0" } params["sign"] = generate_sign(app_secret, params) response = requests.get(url, params=params) return response.json() def get_item_detail(app_key, app_secret, item_id): url = "https://eco.taobao.com/router/rest" params = { "method": "taobao.item.get", "app_key": app_key, "num_iid": item_id, "fields": "num_iid,title,price,skus,item_imgs,props", "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "format": "json", "v": "2.0" } params["sign"] = generate_sign(app_secret, params) response = requests.get(url, params=params) return response.json()
- 解析响应数据
- 关键词搜索API返回示例:
json { "items_search_response": { "items": { "item": [ { "num_iid": "123456789", "title": "2025夏季新款连衣裙", "price": "199.00", "pic_url": "https://img.alicdn.com/xxx.jpg", "volume": 2560, "detail_url": "https://item.taobao.com/item.htm?id=123456789" }, { "num_iid": "987654321", "title": "高品质运动鞋", "price": "299.00", "pic_url": "https://img.alicdn.com/yyy.jpg", "volume": 1820, "detail_url": "https://item.taobao.com/item.htm?id=987654321" } ] }, "total_results": 10000, "request_id": "abc123xyz" } }
- 商品详情API返回示例:
json { "item_get_response": { "item": { "num_iid": "123456789", "title": "2025夏季新款连衣裙", "price": "199.00", "skus": [ { "sku_id": "456789012", "properties": "颜色:黑色;尺码:M", "quantity": 100, "price": "199.00" } ], "item_imgs": [ {"url": "https://img.alicdn.com/img1.jpg"}, {"url": "https://img.alicdn.com/img2.jpg"} ], "props": [ {"name": "品牌", "value": "XX品牌"}, {"name": "材质", "value": "棉"} ] }, "request_id": "def456uvw" } }
三、多语言支持
- 请求参数扩展
- 在API请求中添加
lang参数(如lang=en),支持英语、俄语等多语言返回。 - 示例:
python params["lang"] = "en" # 返回英文数据
- 翻译实现
- 若API不支持多语言,可通过翻译API(如Google Translate)对返回的商品标题、描述进行翻译。
- 示例代码: