一、接口功能概述
拼多多开放平台提供的商品搜索API(pdd.ddk.goods.search)支持通过关键词获取商品列表,返回数据包含商品ID、标题、价格、销量等核心信息。适用于比价工具、选品分析等场景。
二、调用前准备
个人开发者每日限额2000次
企业认证可提升至10万次/日
三、API请求构建
核心请求参数示例:
GET /api/router?type=pdd.ddk.goods.search
?keyword=手机
&page=1
&page_size=50
&sort_type=1
&with_coupon=true
&client_id=YOUR_CLIENT_ID
×tamp=1667890123
&sign=生成的签名
关键参数说明:
keyword:URL编码后的搜索关键词,如%E6%89%8B%E6%9C%BA
sort_type:排序方式(0-综合 1-销量 2-价格升序 3-价格降序)
with_coupon:是否返回优惠券信息
四、签名生成算法
import hashlib
def generate_sign(params, secret):
param_str = secret + ''.join(f'{k}{v}' for k,v in sorted(params.items()))
return hashlib.md5(param_str.encode('utf-8')).hexdigest().upper()
五、响应数据处理
典型JSON响应结构:
{
"goods_search_response": {
"total": 1200,
"goods_list": [
{
"goods_id": 123456789,
"goods_name": "华为Mate60 5G手机",
"min_group_price": 5999,
"sales": 15234,
"mall_name": "品牌旗舰店"
}
]
}
}
六、实战示例(Python)
import requests
import urllib.parse
import time
def pdd_goods_search(keyword):
base_url = "https://open-api.pinduoduo.com/api/router"
params = {
"type": "pdd.ddk.goods.search",
"client_id": "YOUR_CLIENT_ID",
"timestamp": int(time.time()),
"keyword": urllib.parse.quote(keyword),
"page_size": 20,
"sort_type": 1
}
params["sign"] = generate_sign(params, "YOUR_CLIENT_SECRET")
response = requests.get(base_url, params=params)
return response.json()['goods_search_response']['goods_list']
调用示例
products = pdd_goods_search("蓝牙耳机")
for p in products:
print(f"{p['goods_name']} | 价格:{p['min_group_price']/100}元")
七、注意事项
频率限制:单IP请求建议间隔≥500ms,避免触发风控
数据更新:价格数据有效期为2小时,需定时刷新
字段差异:非旗舰店商品可能缺少mall_name字段
授权范围:部分高敏感字段需额外申请权限
提示:实际开发请以最新版官方文档为准,如有任何疑问,欢迎留言探讨。