1688 官方接口实用整理:常用接口清单 + 字段对照 + 可直接调试代码
下面全部按照1688 开放平台真实规范来写,内容偏实操、通俗易懂,没有花哨术语,拿到手就能对接项目用。
一、1688 常用接口清单(业务最常用)
主要分三类:商品基础信息、商品评论、店铺商品列表,基本覆盖选品、比价、竞品分析、采购分析场景。
商品基本信息接口获取:标题、主图、价格、sku 规格、库存、发货地、商家信息、是否实力商家等。
商品评论列表接口获取:评分、评论文本、评论时间、是否追评、买家秀图片、规格属性。
店铺商品列表接口获取:店铺下所有商品 ID、标题、价格、销量、主图、上架时间。
商品搜索接口关键词搜索、按类目搜索、价格区间、销量排序、是否包邮等筛选。
商品库存 / 发货信息接口起批量、交期、是否现货、发货时效。
二、通用字段含义对照表(一看就懂)
1. 公共返回字段(所有接口都可能出现)
success:是否调用成功(true /false)error_code:错误码,用于排查问题error_msg:错误提示文案total:总条数(分页用)current_page:当前页码page_size:每页条数
2. 商品基础关键字段
offer_id/product_id:商品 ID(最核心)subject:商品标题price:单价(注意:1688 多为批发价)quantity:可售库存 / 起订量unit:计量单位(个、件、米等)images:商品主图列表sku_info:规格信息(颜色、尺寸、材质)seller_name:店铺名称seller_id:店铺 IDdelivery_place:发货地sale_count:销量
3. 评论关键字段
review_id:评论 IDscore:评分(1-5 星)content:评论文字内容gmt_create:评论时间is_additional:是否追评spec_info:评论对应的购买规格images:买家晒图
三、完整可运行 Python 接入代码(直接复制改 Key 即可)
下面这套是通用结构,适配 1688 官方签名规则,包含:
- 签名生成
- 公共参数封装
- 商品信息 + 评论 + 店铺商品 三个接口示例
- 自动延时、异常捕获、简单解析
python
运行
import hashlib import requests import time from urllib.parse import urlencode # ====================== 【请在这里填写你的开发者信息】 ====================== APP_KEY = "你申请的AppKey" APP_SECRET = "你申请的AppSecret" API_GATEWAY = "https://api.1688.com/openapi" # ========================================================================== def sign_params(params, app_secret): """ 1688 标准签名函数 """ # 按 key 字典序排序 sorted_items = sorted( [(k, v) for k, v in params.items() if k != "sign" and v is not None] ) # 拼接 raw_str = app_secret for k, v in sorted_items: raw_str += f"{k}{v}" raw_str += app_secret # MD5 大写 md5 = hashlib.md5(raw_str.encode("utf-8")).hexdigest().upper() return md5 def request_1688_api(method, params_dict): """ 统一请求入口 """ # 公共参数 common = { "method": method, "app_key": APP_KEY, "timestamp": int(time.time() * 1000), "format": "json", "v": "2.0", } # 合并参数 params = {**common, **params_dict} # 签名 params["sign"] = sign_params(params, APP_SECRET) # 请求 try: url = f"{API_GATEWAY}?{urlencode(params)}" resp = requests.get(url, timeout=10) resp.raise_for_status() return resp.json() except Exception as e: print("请求异常:", str(e)) return None # ------------------------------ # 1. 获取商品详情 # ------------------------------ def get_product_detail(offer_id): method = "alibaba.product.get" params = { "offer_id": offer_id, } data = request_1688_api(method, params) if data and data.get("success"): return data.get("result", {}) return None # ------------------------------ # 2. 获取商品评论 # ------------------------------ def get_product_reviews(offer_id, page_no=1, page_size=20): method = "alibaba.product.reviews" params = { "offer_id": offer_id, "page_no": page_no, "page_size": page_size, } data = request_1688_api(method, params) if data and data.get("success"): return data.get("result", {}).get("reviews", []) return [] # ------------------------------ # 3. 获取店铺商品列表 # ------------------------------ def get_shop_products(seller_id, page_no=1, page_size=20): method = "alibaba.seller.products.get" params = { "seller_id": seller_id, "page_no": page_no, "page_size": page_size, } data = request_1688_api(method, params) if data and data.get("success"): return data.get("result", {}).get("products", []) return [] # ------------------------------ # 测试调用 # ------------------------------ if __name__ == "__main__": # 替换成真实商品ID test_offer_id = "703301234567" print("===== 商品详情 =====") detail = get_product_detail(test_offer_id) if detail: print("标题:", detail.get("subject")) print("价格:", detail.get("price")) print("\n===== 商品评论 =====") reviews = get_product_reviews(test_offer_id, page_no=1) for r in reviews[:5]: print(f"{r.get('score')}星 | {r.get('content')[:50]}")四、接口调试必看心得(实战踩坑总结)
1. 关于权限
- 个人账号能调的接口非常有限,想稳定用必须企业认证 + 诚信通。
- 接口不是默认开通,需要在开放平台逐个申请权限,有些要审核。
- 不要跨场景乱用,比如用商品接口去爬全平台数据,容易被限流。
2. 关于签名报错(最常见)
- 时间戳必须是13 位毫秒,用秒级必错。
- 参数里不要带
sign参与签名。 None值的参数不要传,会导致签名不一致。
3. 关于频率与限流
- 不要连续快速循环调用,每页 sleep (1~2)秒最稳。
- 遇到
429或system busy,立刻停 5~10 分钟再试。 - 单日大量抓取建议分时段、分账号、分 IP。
4. 关于数据结构
- 1688 很多商品是多规格、多批发价,不要只取一个 price 字段。
- 评论可能为空、追评可能为空、图片可能为空,代码一定要做判空。
- 店铺商品列表翻页超过几十页容易返回空,建议用时间范围分批拉。
5. 业务使用心得
- 做选品:优先抓
price + sale_count + delivery_place。 - 做评论分析:重点抓
score + content + spec_info,可做口碑标签。 - 做店铺监控:用店铺商品接口定期拉取上新和价格变动。
五、你接下来可以直接做的事
- 把代码里的
APP_KEY和APP_SECRET换成你申请的。 - 填入真实商品 ID 测试,看是否能正常返回标题、价格、评论。
- 在此基础上扩展:批量抓取、保存 Excel、定时任务、数据分析。
