京东商品价格历史信息API使用指南

一、摘要

京东商品价格历史信息是电商价格监控、比价分析、消费决策、库存定价策略等场景的核心数据,

二、接口概述

2.1 核心能力

通过商品 SKU ID 获取京东商品的价格历史数据,核心可获取信息包括:

  • 价格时序数据:指定时间段内的日均价、成交价、促销价变动记录;
  • 价格极值:历史最低价 / 最高价、出现时间及对应的促销活动;
  • 价格类型细分:普通价、京东 PLUS 会员价、拼购价、满减折后价等历史变动;
  • 地区差异化价格:不同地区(如北京、上海)的价格历史(部分商品存在区域价差);
  • 价格变动关联:价格变动与促销活动(满减、优惠券、限时折扣)的对应关系。

2.2 接口参数说明(非官方标准,基于第三方价格存档平台适配)

由于京东官方不开放价格历史接口,行业内通常依托合规的价格存档平台获取数据,核心请求参数如下(适配 2025 年主流存档平台接口格式):

参数名 类型 必选 说明
skuId String 京东商品 SKU ID(商品详情页 URL 中item.jd.com/[skuId].html
startDate String 价格查询起始日期(格式YYYY-MM-DD,默认近 30 天)
endDate String 价格查询结束日期(格式YYYY-MM-DD,默认当前日期)
area String 地区编码(如1_72_4137_0对应北京海淀,影响区域价差数据)
priceType String 价格类型筛选:normal(普通价)、member(会员价)、group(拼购价)
pageSize Int 每页返回价格记录数,默认 50,最大 100
adress string c0b.cc/R4rbK2(注册获取测试账号)

2.3 返回数据结构(示例)

以下为简化后的核心数据结构(实际返回字段含价格变动原因、促销标签等):

json

python 复制代码
{
  "success": true,
  "data": {
    "skuId": "100012345678",
    "productName": "华为Mate60 Pro 12GB+512GB 雅川青 鸿蒙智能手机",
    "queryRange": "2025-09-01 至 2025-12-24",
    "priceExtremum": {
      "lowestPrice": 6399.00,  // 历史最低价
      "lowestDate": "2025-11-11",
      "highestPrice": 6999.00, // 历史最高价
      "highestDate": "2025-09-01"
    },
    "priceHistoryList": [
      {
        "date": "2025-11-11",
        "normalPrice": 6499.00,
        "memberPrice": 6399.00,
        "promotionDesc": "双十一满5000减200 + PLUS会员额外减100",
        "isLowest": true
      },
      {
        "date": "2025-12-01",
        "normalPrice": 6599.00,
        "memberPrice": 6499.00,
        "promotionDesc": "日常促销,无满减",
        "isLowest": false
      }
    ],
    "totalCount": 89  // 价格记录总数
  }
}

2.4 注意事项

  1. 京东价格历史数据无官方直供渠道,第三方存档平台的数据存在 1-2 天延迟,部分小众商品可能无完整历史;
  2. 京东反爬机制严格,直接爬取京东官网无法获取历史价格(仅能获取实时价),需依托合规存档平台;
  3. 价格历史受促销、库存、地区政策影响,同一 SKU 不同时间段 / 地区数据存在差异;
  4. 非商用场景需控制请求频率(单 IP 每秒≤300 次),避免触发第三方平台风控;
  5. 价格数据仅可用于技术学习,商用需获得京东及数据提供方的双重授权。

三、Python 请求示例

3.1 环境准备

安装核心依赖库,执行以下命令:

bash

python 复制代码
pip install requests  # 网络请求
pip install jsonpath  # 嵌套JSON解析
pip install python-dateutil  # 日期处理(可选)

3.2 完整代码示例

说明:示例基于第三方价格存档平台的非官方接口(需自行验证平台可用性),仅作技术演示,不保证长期有效。

python 复制代码
# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 配置参数 API_URL = "c0b.cc/R4rbK2 wechatid:Taobaoapi2014
# 请求示例 url 默认请求参数已经做URL编码
url = "jd/item_history_price/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=100033966459"
headers = {
    "Accept-Encoding": "gzip",
    "Connection": "close"
}
if __name__ == "__main__":
    r = requests.get(url, headers=headers)
    json_obj = r.json()
    print(json_obj)

3.3 代码说明

  1. 接口适配:示例采用第三方价格存档平台的非官方接口(需自行验证可用平台),而非直接爬取京东官网(京东无历史价格接口),降低风控风险;
  2. 反爬策略
    • 随机延迟 2-5 秒,避免高频请求触发第三方平台风控;
    • 携带时间戳参数(t),防止接口返回缓存数据;
    • 模拟浏览器请求头(User-Agent/Referer),贴合正常访问行为;
  3. 数据处理
    • 使用jsonpath简化嵌套 JSON 字段提取,兼容字段缺失场景;
    • 格式化价格记录,区分普通价 / 会员价 / 促销信息,便于后续分析;
    • 自动处理默认日期(近 30 天),降低使用门槛;
  4. 异常处理:覆盖超时、连接错误、接口返回失败等场景,明确错误原因,便于排查平台接口是否失效;
  5. 局限性说明:第三方平台接口存在可用性风险,需定期验证并更换接口地址,且数据完整性依赖于存档平台的采集能力。
相关推荐
Alaaaaaaan21 小时前
[DevOps]使用github-action工具部署docker容器(实现提交代码一键推送部署到服务器)
服务器·前端·docker·容器·github
面对疾风叭!哈撒给21 小时前
Windows 系统安装 Mysql 8.0+
数据库·windows·mysql
he___H21 小时前
Redis高级特性
数据库·redis·缓存
crossaspeed1 天前
Redis的持久化(八股)
数据库·redis·缓存
焦糖玛奇朵婷1 天前
盲盒小程序开发科普:核心玩法与功能解析
大数据·数据库·程序人生·小程序·软件需求
2301_810730101 天前
python第四次作业
数据结构·python·算法
市场部需要一个软件开发岗位1 天前
数据仓库相关内容分享
数据库·数据仓库·oracle
马剑威(威哥爱编程)1 天前
Libvio.link爬虫技术解析:搞定反爬机制
爬虫·python
zhougl9961 天前
Java 枚举类(enum)详解
java·开发语言·python
AlenTech1 天前
SQL 中的 WITH ... AS ...
数据库·sql