京東搜索商品 API(item_search Pro)賦能電商運營全指南
item_search Pro 是京東商品搜索接口的增強版(第三方封裝或官方增強能力),核心用于按關鍵詞 / 條件檢索商品列表,獲取商品基礎信息、價格、銷量、店鋪、庫存等核心數據,是電商選品、競品分析、價格監控、市場調研的關鍵技術工具。
一、接口核心定位與官方關系
官方接口對應:本質是京東開放平臺jingdong.ware.search(商品搜索)或聯盟平臺jd.union.open.goods.search的增強封裝,提供更豐富篩選與數據字段
核心價值:從 “人工采集” 升級為 “數據驅動”,支撐選品決策、競品監控、價格優化、市場分析四大核心運營場景,效率提升 80%+
數據維度:覆蓋商品基礎信息、價格體系、銷量數據、店鋪信息、庫存狀態、評分評價等 12 + 核心字段
二、核心參數與數據字段詳解
1. 必選參數(調用基礎)
| 參數名 | 類型 | 說明 | 示例 |
|---|---|---|---|
| keyword | String | 搜索關鍵詞 | 無線耳機 降噪 |
| appkey | String | 開發者密鑰 | 32 位字符串(京東開放平臺獲取) |
| timestamp | Long | 時間戳(毫秒) | 1672502400000 |
| sign | String | 簽名(MD5 加密) | 按參數排序 + 密鑰生成 |
2. 可選篩選參數(精準定位商品)
| 參數名 | 類型 | 說明 | 有效值 |
|---|---|---|---|
| categoryId | Long | 商品分類 ID | 3258(耳機類目,通過類目 API 獲取) |
| page | Int | 頁碼 | 1-50(默認 1) |
| pageSize | Int | 每頁數量 | 10-50(默認 20) |
| sortType | String | 排序方式 | price_asc/price_desc/sale_desc(銷量降序) |
| start_price/end_price | Float | 價格區間 | 100-500(篩選 100-500 元商品) |
| brand | String | 品牌篩選 | 華為 / 小米 |
| seller_id | Long | 店鋪 ID 篩選 | 123456(指定店鋪商品) |
| is_stock | Int | 庫存篩選 | 1(僅顯示有貨) |
3. 返回核心數據字段(運營價值)
| 字段名 | 類型 | 運營應用場景 |
|---|---|---|
| skuId | String | 商品唯一標識(用于詳情查詢 / 競品跟蹤) |
| skuName | String | 商品標題(標題優化參考) |
| price | Float | 售價(定價策略 / 價格監控) |
| originalPrice | Float | 原價(折扣力度分析) |
| saleCount | Int | 銷量(爆款判斷 / 市場熱度) |
| shopName | String | 店鋪名稱(競品店鋪識別) |
| shopId | Long | 店鋪 ID(店鋪監控) |
| stock | Int | 庫存(補貨提醒 / 市場供給分析) |
| score | Float | 商品評分(品質篩選) |
| commentCount | Int | 評價數(口碑判斷) |
| imgUrl | String | 商品主圖(素材參考) |
| productUrl | String | 商品鏈接(詳情頁訪問) |
三、完整調用流程與代碼實現(多語言)
1. 前置準備(關鍵步驟)
注冊京東開放平臺開發者賬號(https://open.jd.com/)
創建應用,獲取appkey + appsecret
開通商品搜索 API 權限(部分接口需企業資質 / 付費)
熟悉簽名規則:按參數名 ASCII 排序→拼接密鑰→MD5 加密→轉大寫
2. Python 代碼示例(推薦,數據處理高效)
python
運行
import requests import hashlib import time # 配置信息 APP_KEY = "你的appkey" APP_SECRET = "你的appsecret" KEYWORD = "無線耳機 降噪" CATEGORY_ID = 3258 PAGE = 1 PAGE_SIZE = 30 # 生成簽名(核心步驟) def generate_sign(params): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = APP_SECRET + ''.join([f"{k}{v}" for k, v in sorted_params]) + APP_SECRET return hashlib.md5(sign_str.encode()).hexdigest().upper() # 構造請求參數 params = { "appkey": APP_KEY, "keyword": KEYWORD, "categoryId": CATEGORY_ID, "page": PAGE, "pageSize": PAGE_SIZE, "sortType": "sale_desc", "timestamp": str(int(time.time()*1000)), "format": "json" } params["sign"] = generate_sign(params) # 發送請求 url = "https://api.jd.com/routerjson" response = requests.get(url, params=params, timeout=10) result = response.json() # 解析數據 if result.get("code") == 0: items = result["data"]["items"] print(f"搜索結果:共{len(items)}件商品") for item in items[:5]: # 輸出前5件 print(f"商品ID:{item['skuId']} | 標題:{item['skuName'][:30]}... | 價格:{item['price']} | 銷量:{item['saleCount']}") else: print(f"調用失敗:{result.get('msg', '未知錯誤')}")
3. Java 代碼示例(企業級系統集成)
java
運行
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.util.*;
import java.security.MessageDigest;
public class JdItemSearchPro {
private static final String APP_KEY = "你的appkey";
private static final String APP_SECRET = "你的appsecret";
private static final String API_URL = "https://api.jd.com/routerjson";
public static void main(String[] args) {
Map params = new HashMap?>();
params.put("appkey", APP_KEY);
params.put("keyword", "無線耳機 降噪");
params.put("categoryId", "3258");
params.put("page", "1");
params.put("pageSize", "30");
params.put("sortType", "sale_desc");
params.put("timestamp", String.valueOf(System.currentTimeMillis()));
params.put("format", "json");
params.put("sign", generateSign(params));
try (CloseableHttpClient client = HttpClients.createDefault()) {
StringBuilder url = new StringBuilder(API_URL).append("?");
for (Map.Entry entry : params.entrySet()) {
url.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
HttpGet request = new HttpGet(url.substring(0, url.length()-1));
String response = EntityUtils.toString(client.execute(request).getEntity(), "UTF-8");
System.out.println("響應結果:" + response);
} catch (Exception e) {
e.printStackTrace();
}
}
private static String generateSign(Map params) {
List> list = new ArrayList?>(params.entrySet());
list.sort(Map.Entry.comparingByKey());
StringBuilder sb = new StringBuilder(APP_SECRET);
for (Map.Entry entry : list) {
sb.append(entry.getKey()).append(entry.getValue());
}
sb.append(APP_SECRET);
return md5(sb.toString()).toUpperCase();
}
private static String md5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(str.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(b & 0xFF);
if (hex.length() == 1) sb.append("0");
sb.append(hex);
}
return sb.toString();
} catch (Exception e) {
return "";
}
}
}
4. PHP 代碼示例(店鋪后臺快速集成)
php
運行
?php
$appkey = "你的appkey";
$appsecret = "你的appsecret";
$keyword = "無線耳機 降噪";
$categoryId = 3258;
$page = 1;
$pageSize = 30;
$timestamp = (string)round(microtime(true)*1000);
// 構造參數并排序
$params = [
"appkey" =?> $appkey,
"keyword" => $keyword,
"categoryId" => $categoryId,
"page" => $page,
"pageSize" => $pageSize,
"sortType" => "sale_desc",
"timestamp" => $timestamp,
"format" => "json"
];
ksort($params);
// 生成簽名
$signStr = $appsecret;
foreach ($params as $k => $v) {
$signStr .= $k . $v;
}
$signStr .= $appsecret;
$params["sign"] = strtoupper(md5($signStr));
// 發送請求
$url = "https://api.jd.com/routerjson?" . http_build_query($params);
$response = file_get_contents($url);
$result = json_decode($response, true);
// 解析數據
if ($result["code"] == 0) {
$items = $result["data"]["items"];
echo "搜索結果:共" . count($items) . "件商品n";
foreach (array_slice($items, 0, 5) as $item) {
echo "商品ID:{$item['skuId']} | 標題:" . mb_substr($item['skuName'], 0, 30) . "... | 價格:{$item['price']}n";
}
} else {
echo "調用失敗:{$result['msg']}n";
}
?>
四、四大核心運營場景落地(直接見效)
1. 數據驅動選品:挖掘潛力爆款
操作流程:
批量獲取類目 TOP 關鍵詞(通過搜索關鍵詞 API)
用 item_search Pro 查詢每個關鍵詞下銷量 TOP20 商品
篩選條件:30 天銷量 > 1000 + 好評率 > 95%+ 價格區間在類目均價 ±20%
結合關鍵詞熱度與競爭度,鎖定 “高熱度 + 低競爭” 潛力款
案例:某 3C 商家通過該流程篩選出 “無線耳機 超長續航 100 小時”,30 天銷量 1200+,好評率 96%,上架后月銷突破 5000 單,自然流量占比 65%。
2. 競品監控:實時跟蹤對手動態
監控維度:
價格監控:每日定時(每 4 小時)調用接口,跟蹤競品價格變動,閾值觸發(降價 > 10%)自動預警
銷量追蹤:統計競品周 / 月銷量增長,判斷其推廣力度與市場接受度
標題優化:分析競品標題關鍵詞布局,提取高轉化詞用于自身標題優化
庫存監測:監控競品庫存,判斷其補貨周期與斷貨風險
工具化:開發自動化監控系統,每日生成競品分析報告,包含價格趨勢、銷量對比、標題變化等維度。
3. 動態定價:避免價格戰,鎖定利潤
定價策略:
用 item_search Pro 獲取類目價格分布(低價段 <均價 70%,中價段 70%-130%,高價段> 130%)
若中價段商品占比 < 40% 且自身成本有優勢,定在中價段(均價 + 10%),保證利潤
若低價段占比 > 60%,避開低價競爭,主打功能差異化(如 “進口芯片 + 終身保修”),定價高于均價 15%-20%
實時監控類目價格變動,動態調整價格,保持競爭力同時最大化利潤
4. 廣告優化:提升京東快車 ROI
操作步驟:
篩選高轉化關鍵詞(通過搜索關鍵詞 API 獲取 “高熱度 + 高轉化率 + 低競爭度” 詞)
用 item_search Pro 查詢這些關鍵詞下前 10 商品的價格與銷量,確定廣告出價區間
按關鍵詞等級分配預算:A 級(核心詞)高價搶位(前 5),B 級(關聯詞)中價穩定(6-10),C 級(長尾詞)低價鋪量
實時監控廣告排名,調整出價,確保 CPC 低于行業均值,ROI>3
五、API 調用避坑指南(合規 + 高效)
1. 合規性要求(避免賬號封禁)
調用頻率:嚴格遵守京東 QPS 限制(建議≤5),批量調用設置1-2 秒間隔
數據使用:僅用于自身店鋪運營,不得泄露、轉售或用于惡意競爭
權限管理:敏感數據(如精準銷量、轉化率)需申請專項權限,未授權不得抓取
法律風險:遵守《電子商務法》《數據安全法》,避免數據濫用
2. 技術避坑(確保調用穩定)
簽名錯誤:參數必須按ASCII 碼排序,否則簽名驗證失敗(最常見問題)
分類 ID 錯誤:通過京東類目查詢 API 獲取準確 ID,否則返回數據與目標類目不匹配
分頁限制:最大支持 50 頁,每頁最多 50 條,超出部分無返回
異常處理:添加網絡超時、數據缺失、錯誤碼捕獲,避免程序崩潰
數據緩存:高頻查詢數據(如類目價格分布)設置1-3 小時緩存,減輕接口壓力
3. 數據應用避坑(避免決策失誤)
單一數據依賴:結合店鋪自身數據(轉化率、復購率)綜合決策,API 數據僅作參考
忽略長尾詞:長尾詞雖流量小,但轉化率高(通常是核心詞的 2-3 倍),需均衡布局
實時性誤區:部分數據(如銷量)存在延遲(約 1-2 小時),避免基于實時數據做緊急決策
六、總結與進階建議
item_search Pro 的核心價值在于將京東海量商品數據轉化為可執行的運營動作,構建 “數據采集→分析→優化→監控→迭代” 的閉環。對于電商運營者,掌握該接口意味著:
從 “經驗驅動” 升級為 “數據驅動”,決策更精準
運營效率提升 80%+,減少人工采集成本
市場響應速度提升至小時級,搶占競爭先機
審核編輯 黃宇
-
API
+關注
關注
2文章
2368瀏覽量
66752 -
京東
+關注
關注
2文章
1108瀏覽量
50076
發布評論請先 登錄
淘寶關鍵字搜索API接入后
京東關鍵詞item_search-按關鍵字搜索京東商品
Temu跨境電商按關鍵字搜索Temu商品API的應用及接口請求示例
item_search-按關鍵字搜索商品列表API接口
1688平臺關鍵字搜索商品API接口技術實踐指南
亞馬遜平臺根據關鍵字搜索商品API接口
京東按關鍵字搜索商品 API接口item_search Pro
評論