接口概述
一句话说明
oilprice.all 一次性返回当前生效批次的全部发改委价格明细。
接口取 生效日期 <= 今天 的最新批次后整体返回,
系统中未来生效的价格不会被查出。
适合做本地缓存、离线对账与批量核算,建议每天拉取一次即可。
| 请求地址 | https://api.xujian.tech/openapi/oilprice/all |
|---|---|
| 请求方式 | GET |
| 鉴权方式 | 请求头 X-API-Key(不做签名与加密) |
| 接口编码 | oilprice.all |
| 收费类型 | PER_CALL(按次计费,5.0000 元/次) |
| 响应格式 | JSON,Content-Type: application/json;charset=UTF-8 |
| 是否需要授权 | 否(无需授权,API Key 有效且余额充足即可调用) |
| 数据量 | 取决于运营维护粒度(全省统一价时约 30+ 条,按市维护时约 300+ 条) |
| 典型用途 | 本地价格库初始化、批量成本核算、油价监测大屏、离线对账 |
快速开始
把 你的APIKey 换成控制台获取的 API Key:
curl -s "https://api.xujian.tech/openapi/oilprice/all" \
-H "X-API-Key: 你的APIKey"
请求参数
| 参数名 | 必填 | 说明 |
|---|---|---|
X-API-Key |
是 | 控制台获取的 API Key;缺失返回「缺少请求头 X-API-Key」 |
本接口无查询参数:固定返回当前生效批次的全部价格,避免遗漏。
响应参数
| 字段 | 类型 | 说明 |
|---|---|---|
effectiveDate |
String | 本批次价格生效日期 yyyy-MM-dd;无数据时为 null |
total |
int | 本次返回的价格条数 |
list |
Array | 价格明细列表(见下表) |
apiCode / apiName |
String | 接口编码与接口名称 |
chargeType |
String | 本次计费方式(PER_CALL) |
balance |
BigDecimal | 本次扣费后的账户余额 |
costMs |
long | 接口耗时(毫秒) |
| 字段 | 类型 | 说明 |
|---|---|---|
effectiveDate |
String | 价格生效日期 yyyy-MM-dd |
province / provinceCode |
String | 省名称与 6 位 adcode |
city / cityCode |
String | 地市名称与代码;null 表示全省统一价 |
district / districtCode |
String | 区县名称与代码;null 表示全市统一价 |
priceDiesel0 |
BigDecimal | 0#柴油价格(元),未维护时为 null |
priceDiesel10 |
BigDecimal | -10#柴油价格(元) |
priceDiesel35 |
BigDecimal | -35#柴油价格(元) |
priceGas92 |
BigDecimal | 92#汽油价格(元) |
priceGas95 |
BigDecimal | 95#汽油价格(元) |
priceGas98 |
BigDecimal | 98#汽油价格(元) |
dataUpdateTime |
String | 数据更新时间 yyyy-MM-dd HH:mm:ss |
响应示例
成功(code = 0)
{
"code": 0,
"msg": "success",
"data": {
"effectiveDate": "2026-09-24",
"total": 2,
"list": [
{
"effectiveDate": "2026-09-24",
"provinceCode": "500000",
"province": "重庆市",
"cityCode": null,
"city": null,
"districtCode": null,
"district": null,
"priceDiesel0": 7.28,
"priceDiesel10": 7.72,
"priceDiesel35": 8.05,
"priceGas92": 7.86,
"priceGas95": 8.31,
"priceGas98": 9.36,
"dataUpdateTime": "2026-09-24 09:00:00"
},
{
"effectiveDate": "2026-09-24",
"provinceCode": "330000",
"province": "浙江省",
"cityCode": "330100",
"city": "杭州市",
"districtCode": null,
"district": null,
"priceDiesel0": 7.25,
"priceDiesel10": 7.69,
"priceDiesel35": null,
"priceGas92": 7.83,
"priceGas95": 8.28,
"priceGas98": 9.32,
"dataUpdateTime": "2026-09-24 09:00:00"
}
],
"apiCode": "oilprice.all",
"apiName": "全量发改委价格查询",
"chargeType": "PER_CALL",
"balance": 94.9900,
"costMs": 12
}
}
失败(余额不足)
{
"code": 500,
"msg": "余额不足,请先充值。可联系微信xujian_cq",
"data": null
}
错误码与常见失败原因
| code | msg(示例) | 处理建议 |
|---|---|---|
| 0 | success | 调用成功;total 为 0 表示系统暂未维护当前批次价格 |
| 500 | 缺少请求头 X-API-Key | 在请求头中补充 X-API-Key |
| 500 | API Key 无效 / API Key 已停用 | 检查 Key 是否正确,或在控制台重新启用 |
| 500 | 客户不存在或已停用 | 联系平台运营确认账号状态(可联系微信xujian_cq) |
| 500 | 接口不存在或已停用 | 确认接口编码 oilprice.all 当前是否维护中 |
| 500 | 余额不足,请先充值。可联系微信xujian_cq | 本接口单价较高,建议本地缓存、每天拉取一次;余额不足时不扣费(可联系微信xujian_cq) |
多语言调用示例
String body = HttpRequest.get("https://api.xujian.tech/openapi/oilprice/all")
.header("X-API-Key", apiKey)
.timeout(10000)
.execute().body();
import requests
resp = requests.get(
"https://api.xujian.tech/openapi/oilprice/all",
headers={"X-API-Key": api_key},
timeout=10,
)
data = resp.json()["data"]
print(data["effectiveDate"], data["total"])
const res = await fetch("https://api.xujian.tech/openapi/oilprice/all", {
headers: {"X-API-Key": apiKey}
});
const json = await res.json();
常见问题
这个接口怎么收费?
oilprice.all 的收费类型为 PER_CALL(按次计费),当前单价 5.0000 元/次,调用前校验余额,余额不足返回「余额不足,请先充值。可联系微信xujian_cq」且不扣费;充值可可联系微信xujian_cq。扣费金额、交易前后余额均记录于交易流水中。
会返回未来生效的价格吗?
不会。接口只返回 生效日期 <= 今天 的最新批次。
为什么某条记录的油品价格是 null?
该地区未维护该油品的价格(例如南方地区通常不供应 -35#柴油),字段返回 null,
请按「无价」处理,不要当作 0。
city / district 为 null 是什么意思?
city 为 null → 该省全省统一价;
district 为 null → 该市全市统一价。
建议多久调用一次?
国家发改委约每 10 个工作日调价一次,建议配合 调价周期查询(免费) 在调价日当天拉取一次,其余时间使用本地缓存。