拼多多开放平台商品搜索API技术实践指南

3 阅读2分钟

一、接口功能概述

拼多多开放平台提供的商品搜索API(pdd.ddk.goods.search)支持通过关键词获取商品列表,返回数据包含商品ID、标题、价格、销量等核心信息。适用于比价工具、选品分析等场景。

二、调用前准备

  1. 平台注册
    拼多多开放平台完成开发者认证,创建应用获取client_idclient_secret

  2. 权限申请
    在控制台申请API商品接口权限,特别注意:

    • 个人开发者每日限额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}元")

七、注意事项

  1. 频率限制:单IP请求建议间隔≥500ms,避免触发风控
  2. 数据更新:价格数据有效期为2小时,需定时刷新
  3. 字段差异:非旗舰店商品可能缺少mall_name字段
  4. 授权范围:部分高敏感字段需额外申请权限

提示:实际开发请以最新版官方文档为准,如有任何疑问,欢迎留言探讨。