全国油价查询免费 API 接口详解与调用实战(PHP / Python)

简介: 本文详解接口盒子提供的免费全国油价API:支持查询31省汽油(89/92/95/98等)、柴油、CNG/LNG等全品类实时价格及涨跌幅度,含多价区(如四川分一、二价区),每10个工作日更新,附PHP/Python调用示例与避坑指南。

本文基于接口盒子提供的全国油价查询免费 API整理而来,面向开发者做一份更系统、可照抄使用的教程。一般每 10 个工作日调整一次,覆盖汽油、柴油、CNG / LNG 等品类,对做车主类 App、物流成本测算、财经小工具都很实用。


一、接口能干嘛

一句话:给定「省 / 直辖市」名字,返回该省当前最新调价周期下的各品类油价 + 波动幅度,部分省份还会按「价区」拆分(比如四川分一价区、二价区,二价区含凉山州、攀枝花)。

支持油品包括但不限于:

  • 汽油:89 / 92 / 95 / 98
  • 乙醇汽油:e92 / e95 / e98
  • 爱跑系列:ap95 / ap98,以及乙醇版 ape95 / ape98
  • 柴油:0h、-10h、-20h、-35h、站库价 zyk
  • 天然气:CNG / LCNG / LNG

价格波动字段(xxbd)为负数即代表降价,正数就是涨价,单位是元/升(柴油同理)。


二、接口基本信息

项目

内容

请求地址

https://cn.apihz.cn/api/jinrong/youjia.php

请求方式

GET 或 POST 均可

数据格式

返回 JSON

费用

接口本身免费

公共 ID

示例使用公共 ID,生产环境建议换成自己的 ID/KEY 独享频次


三、请求参数(必填 3 个)

参数

名称

必填

说明

id

用户 ID

用户中心的数字 ID,如 id=10000000

key

通讯秘钥

用户中心生成的 KEY

sheng

省 / 直辖市

中文名,如 sheng=四川sheng=北京


四、返回参数速览

顶层字段:

  • code:200 成功 / 400 错误
  • msg:提示信息
  • sheng:省名
  • date:本次调价时间,如 2026年07月03日
  • data:对象,内含 data1/ data2…… 多个价区

单个价区(data1为例)核心字段:

  • jq:价区名(如一价区 / 二价区)
  • area:价区范围(有的省为空)
  • 92/ 95/ 98/ 89:对应汽油价格
  • 92bd/ 95bd…:对应波动
  • 0h/ 10h/ 20h/ 35h:柴油
  • cng/ lcng/ lng:天然气
  • 乙醇 / 爱跑系列字段同理,不一一列举

💡 某地区没卖的油品,对应字段会返回 null,解析时别硬取值。


五、返回示例

{
  "code": 200,
  "sheng": "四川",
  "date": "2026年07月03日",
  "data": {
    "data1": {
      "jq": "一价区",
      "area": "",
      "92": 7.28,
      "92bd": -0.76,
      "95": 7.78,
      "95bd": -0.81,
      "ap98": 8.88,
      "ap98bd": -0.92,
      "0h": 6.88,
      "0hbd": -0.78,
      "10h": 7.30,
      "10hbd": -0.82
    },
    "data2": {
      "jq": "二价区",
      "area": "含凉山州、攀枝花",
      "92": 7.35,
      "92bd": -0.76,
      "95": 7.85,
      "95bd": -0.81,
      "ap98": 8.95,
      "ap98bd": -0.93,
      "0h": 6.97,
      "0hbd": -0.77
    }
  }
}

可以看到这一轮四川 92 降了 0.76 元、95 降了 0.81 元,二价区比一价区略贵几分钱。


六、调用示例:PHP

方式 A · GET(最简单)

<?php
$id    = '88888888';   // 换成你自己的
$key   = '88888888';
$sheng = '四川';
$url = "https://cn.apihz.cn/api/jinrong/youjia.php?"
     . "id={$id}&key={$key}&sheng=" . urlencode($sheng);
$json = file_get_contents($url);
$data = json_decode($json, true);
if ($data['code'] == 200) {
    echo "省:{$data['sheng']},调价时间:{$data['date']}\n";
    foreach ($data['data'] as $k => $zone) {
        echo "--- {$zone['jq']} ({$zone['area']}) ---\n";
        echo "92#: {$zone['92']} 元(波动 {$zone['92bd']})\n";
        echo "95#: {$zone['95']} 元(波动 {$zone['95bd']})\n";
        echo "0号柴油: {$zone['0h']} 元\n";
    }
} else {
    echo "接口错误:{$data['msg']}\n";
}

方式 B · POST(curl,更正式)

<?php
$id    = '88888888';
$key   = '88888888';
$sheng = '四川';
$ch = curl_init('https://cn.apihz.cn/api/jinrong/youjia.php');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query([
        'id'    => $id,
        'key'   => $key,
        'sheng'=> $sheng,
    ]),
]);
$json = curl_exec($ch);
curl_close($ch);
$data = json_decode($json, true);
// 后面解析逻辑同上

七、调用示例:Python

方式 A · GET(requests)

import requests
api_id = "88888888"
api_key = "88888888"
sheng = "四川"
url = "https://cn.apihz.cn/api/jinrong/youjia.php"
params = {
    "id": api_id,
    "key": api_key,
    "sheng": sheng,
}
resp = requests.get(url, params=params)
resp.raise_for_status()
data = resp.json()
if data["code"] == 200:
    print(f"省:{data['sheng']}|调价时间:{data['date']}")
    for k, zone in data["data"].items():
        print(f"--- {zone['jq']} ({zone.get('area','')}) ---")
        print(f"92#:{zone.get('92')} 元(波动 {zone.get('92bd')})")
        print(f"95#:{zone.get('95')} 元(波动 {zone.get('95bd')})")
        print(f"0号柴油:{zone.get('0h')} 元")
else:
    print("接口错误:", data["msg"])

方式 B · POST

resp = requests.post(url, data=params)
# 后面解析完全一致

八、几个容易踩的小坑

  1. 多价区省份:别只认 data1,凉山、攀枝花这种地方在 data2,要 for着读。
  2. null字段:部分地区不卖 98、不卖 -35 柴油,解析时用 get()??(PHP)兜底,别直接下标。
  3. 波动是相对上轮调价的差值,不是百分比,单位是元/升。

九、适用场景随想

  • 车主小程序:「加满一箱 92 比上次省几块钱」
  • 物流后台:按省份拉柴油价算干线成本
  • 财经类站点:每次调价日自动发快讯

接口本身免费 + 返回字段细到爱跑 / 乙醇 / CNG 都有,算是国内这类数据里比较省事的一个。

目录
相关文章
|
1月前
|
API
油价查询-今日油价查询-汽油价格查询-柴油价格查询-历史油价查询-国内油价查询-国际油价查询API接口介绍
本文介绍两款权威油价API:国内版支持全国300+城市、10000座加油站实时油价查询(含89/92/95/98号汽油及0号柴油),同步中石化、中石油出厂价;国际版提供WTI与布伦特原油历史行情,涵盖开盘、收盘、涨跌幅等全维度数据。
382 0
|
JavaScript
关于“wap2app仅支持对已通过ICP备案的域名站点进行打包”问题解决
关于“wap2app仅支持对已通过ICP备案的域名站点进行打包”问题解决
关于“wap2app仅支持对已通过ICP备案的域名站点进行打包”问题解决
|
1月前
|
弹性计算 缓存 运维
阿里云ECS磁盘空间满了处理教程:从诊断到扩容的一线经验
ECS 实例突然写入失败、网站报 503 或数据库连接不上,运维群里最常跳出的截图就是 df -h 里那行触目惊心的 Use% 100%。阿里云的云盘扩容不算复杂,但真正让业务停摆的,往往不是扩容本身有多难,而是事前没做分层监控、事后清理时又不小心踩了 inode 耗尽或文件句柄占用的坑。这篇教程不会把 100 篇文档重复一遍,而是直接聚焦三个关键动作:诊断真实占用源、安全清理大文件,以及在线扩容到文件系统生效的全链路。
328 1
|
3月前
|
人工智能 搜索推荐 JavaScript
别再手动刷热搜了——我让Hermes每天自动分析热点和产品的结合点,还帮我出好了选题
Hermes Agent是Nous Research开源的自进化AI智能体(MIT协议),支持私有部署、持久记忆与闭环学习。本文介绍如何用它自动抓取微博、抖音等多平台热点,结合你的产品信息每日生成精准选题与大纲——三步配置,省去手动刷榜筛热的低效劳动。
1340 2
|
8月前
|
数据安全/隐私保护
阿里云号码百科支持哪些功能?号码百科不同功能收费价格表整理
阿里云号码百科提供号码归属、状态查询、二次号检测、在网时长及运营商/企业/身份证要素核验等服务,支持加密通信与风控分析,按套餐包计费,广泛应用于注册验证、广告归因与安全防控场景。
1134 0
|
6月前
|
安全 Linux 文件存储
别再给音箱充会员了!手把手教你把小爱音箱变成“私人点唱机”
小爱音箱只能听受限音乐?开源神器XiaoMusic来了!它让小爱直连你的NAS/网盘/本地音乐库,支持FLAC/WAV无损播放,语音控制“小爱同学,播放《七里香》”即刻响应。Docker一键部署,Web后台管理,免费、安全、不刷机。守着宝库,终于有了钥匙!
1528 1
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
11月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
648 16
|
测试技术 Go 开发者
go-carbon v2.6.10发布,轻量级、语义化、对开发者友好的 golang 时间处理库
Carbon 是一个轻量级、语义化的 Golang 时间处理库,支持时间穿越、差值计算、极值判断、星座、农历、儒略日、波斯历等特性。现由开源组织 dromara 维护,获 Gitee 2024 GVP 与 Gitcode G-Star 认可。优化了时间冻结方法、位运算替代条件判断,并新增 Sleep 方法、韩语文档及多项常量,提升性能与易用性。官网与源码详见:carbon.go-pkg.com,GitHub、Gitee、Gitcode 均可访问。
217 2
|
11月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案

热门文章

最新文章