1688店铺所有商品一键获取:`item_search_shop` API接口指南

3 阅读3分钟

item_search_shop是1688开放平台提供的核心API接口之一,它允许开发者通过店铺ID或店铺昵称,一键获取该店铺下的所有商品信息,包括商品标题、价格、库存、销量、图片链接等。这一接口在电商数据分析、竞品调研、供应链管理等领域具有广泛应用价值。

一、接口功能概述

  • 获取商品信息:支持获取商品的基础信息(如标题、价格、库存、销量)、多媒体信息(如主图URL、详情页图片)以及用户互动数据(如点赞数、评论数、收藏数,需申请权限)。
  • 店铺信息获取:可获取店铺的基本信息,如店铺ID、名称、链接等。
  • 灵活搜索与排序:支持按关键词搜索店铺内商品,并设定搜索结果的排序方式(如按销量、价格等排序)。
  • 数据整合与应用:便于与其他电商平台数据共享,提升运营效率。

二、请求参数详解

参数名类型必填说明
app_keyString开发者在1688开放平台申请的App Key。
timestampString请求时间戳,格式为yyyy-MM-dd HH:mm:ss,防止请求被缓存或重复执行。
sign_methodString签名方法,固定为md5
signString请求签名,确保安全性(生成方法见下文)。
vStringAPI版本号,固定为2.0
formatString返回数据格式,固定为json
seller_nickString店铺昵称或店铺ID。
start_priceNumber价格下限(单位:元),用于筛选商品。
end_priceNumber价格上限(单位:元),用于筛选商品。
qString搜索关键词,用于在店铺内搜索特定商品。
pageNumber当前页码,默认为1
page_sizeNumber每页显示商品数量,默认为40,最大支持100
sortString排序方式,如price(价格从低到高)、_price(价格从高到低)、sale(销量从高到低)。

三、签名生成方法

签名是API调用的关键,确保请求未被篡改。签名生成步骤如下:

  1. 参数排序:将所有参数(除sign外)按字母顺序排序。
  2. 拼接字符串:将参数名和值用=连接,再用&拼接成字符串。
  3. 添加密钥:在字符串首尾加上App Secret。
  4. MD5加密:对字符串进行MD5加密,生成签名。

示例代码(Python)

python
import hashlib
import time

def generate_sign(params, app_secret):
    sorted_params = sorted(params.items())
    param_str = '&'.join([f'{k}={v}' for k, v in sorted_params])
    sign_str = f'{param_str}{app_secret}{app_secret}'
    return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()

# 示例参数
params = {
    'app_key': 'your_app_key',
    'timestamp': '2025-07-28 17:00:00',
    'v': '2.0',
    'format': 'json',
    'seller_nick': 'b2b-2200733087881719de',
    'page': '1',
    'page_size': '40'
}

# 生成签名
app_secret = 'your_app_secret'
params['sign'] = generate_sign(params, app_secret)

四、响应数据解析

成功响应为JSON格式,结构如下:

json
{
    "items": {
        "page": "1",
        "real_total_results": 1900,
        "total_results": 1900,
        "page_size": 40,
        "pagecount": 48,
        "item": [
            {
                "num_iid": "628675986215",
                "title": "圆形服装店吊牌定做女装衣服吊卡订制800g加厚烘培礼品花卉卡片",
                "pic_url": "https://cbu01.alicdn.com/img/ibank/2020/386/208/22202802683_1873238575.search.jpg",
                "price": 138.00,
                "detail_url": "https://item.1688.com/item.htm?id=628675986215",
                "shop_name": "圆形服装店",
                "shop_url": "https://shop.1688.com/?num_iid"
            }
            // 更多商品...
        ]
    }
}

五、调用示例(Python)

python
import requests

url = "https://api.1688.com/router/rest"
params = {
    'app_key': 'your_app_key',
    'method': 'item_search_shop',
    'format': 'json',
    'v': '2.0',
    'timestamp': '2025-07-28 17:00:00',
    'seller_nick': 'b2b-2200733087881719de',
    'page': '1',
    'page_size': '40'
}

# 生成签名(略,见上文)
params['sign'] = generate_sign(params, 'your_app_secret')

response = requests.get(url, params=params)
result = response.json()

if result.get('status') == 0:
    for item in result.get('result', {}).get('item_list', []):
        print(item.get('title'), item.get('price'))
else:
    print('API请求失败:', result.get('message'))

六、注意事项

  • 权限申请:使用前需在1688开放平台申请API权限。
  • 频率限制:遵守API调用频率限制,避免触发限流。
  • 错误处理:妥善处理网络异常、API限流、参数错误等情况。
  • 数据安全:采用HTTPS协议传输数据,对关键数据进行加密存储。