技术博客
今日油价:5 分钟接入,从注册到查到北京 92 号汽油价格

今日油价:5 分钟接入,从注册到查到北京 92 号汽油价格

作者: 万维易源
2026-08-27
今日油价油价查询API接入免费接口Python示例
# 今日油价:5 分钟接入,从注册到查到北京 92 号汽油价格 > 接口/接入点:今日油价 · 查询油价(138-46) · 免费 · POST/GET · 返回 JSON · 适用人群:新注册用户、初级开发者 · 阅读时间:约 5 分钟 ## TL;DR - 今日油价是**免费接口**,注册拿到 AppKey 即可调用,按省名查询全国 31 省汽油/柴油价格。 - 核心接入点「查询油价」(138-46)只需一个可选参数 `prov`,返回 `list` 中包含 `p92`/`p95`/`p98`/`p0` 等标号价格。 - 本文给出可直接运行的 Python / cURL / Node.js 三段代码,替换 `YOUR_APPKEY` 即可拿到北京 92 号油价。 ## Why 如果你是做车主服务 APP、公众号/小程序、汽车类网站,油价查询是高频刚需:用户加油前想看附近或常住省份的 92/95 价格,App 想在加油页挂一个实时油价卡片。今日油价接口覆盖全国 31 个省份、数据每日凌晨 7 点根据国家公布价格同步,正好满足这类场景。 最省心的是它**免费**:注册即有默认调用档位,先把功能跑通,再按业务量考虑积分兑换更高档位。 ## What | 项 | 说明 | |----|------| | 接口 | 今日油价(apiCode 138) | | 接入点 | 查询油价(138-46) | | 接口地址 | `https://route.showapi.com/138-46?appKey={your_appKey}` | | 请求方式 | POST / GET | | 鉴权 | AppKey(放在 query 的 `appKey` 参数) | | 计费 | 免费,注册默认可调用,有使用档次限制 | | 更新频率 | 每日早上 7 点整更新 | | 集成能力 | 接口级 MCP、OpenAPI 3.0 文档 | ## How **步骤 1:注册并获取 AppKey** 登录 ShowAPI 控制台 →「我的 App」创建应用,拿到 AppKey(管理入口:<https://www.showapi.com/console#/myApp>)。 **步骤 2:第一次调用(查北京油价)** 请求 `prov=北京`,端点返回 `showapi_res_body.list[0]`,其中 `p92` 即 92 号汽油价、`p95` 为 95 号、`p0` 为 0 号柴油。 **步骤 3:解析并展示** 取出 `list[0]` 的标号字段即可渲染。 Python(requests): ```python import requests url = "https://route.showapi.com/138-46" params = {"appKey": "YOUR_APPKEY", "prov": "北京"} resp = requests.post(url, data=params, timeout=10) data = resp.json() if data.get("showapi_res_code") != 0: raise RuntimeError(f"系统级失败: {data.get('showapi_res_error')}") body = data["showapi_res_body"] if body.get("ret_code") != 0: raise RuntimeError("业务失败,ret_code 非 0") item = body["list"][0] print("省份:", item["prov"]) print("92号汽油:", item["p92"]) print("95号汽油:", item["p95"]) print("0号柴油:", item["p0"]) print("更新时间:", item["ct"]) ``` cURL: ```bash curl -X POST "https://route.showapi.com/138-46?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "prov=%E5%8C%97%E4%BA%AC" ``` Node.js(fetch): ```javascript const params = new URLSearchParams({ appKey: "YOUR_APPKEY", prov: "北京" }); const resp = await fetch("https://route.showapi.com/138-46", { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body: params, }); const data = await resp.json(); const body = data.showapi_res_body; const item = body.list[0]; console.log("92号汽油:", item.p92, "95号:", item.p95, "0号柴油:", item.p0); ``` ## 返回示例与解析 ```json { "showapi_res_error": "", "showapi_fee_num": 1, "showapi_res_code": 0, "showapi_res_id": "6318178b0de376fa3dea2511", "showapi_res_body": { "ret_code": 0, "list": [ { "prov": "北京", "p90": "", "p0": "8.16", "p95": "8.97", "p97": "", "p98": "9.95", "p89": "7.88", "p92": "8.42", "p93": "", "ct": "2022-09-07 10:06:12.867" } ] } } ``` 字段速查:`ret_code=0` 成功;`list` 为省份油价数组;`p89/p90/p92/p93/p95/p97/p98` 为各标号汽油价,`p0` 为 0 号柴油价,`ct` 为更新时间。注意 `p90/p93/p97` 为空字符串,代表该省未公布/无此标号,并非接口异常。 ## 进阶/边界 - **`prov` 是选填参数**:文档标注可省略;标准用法传省名查单省,省略行为(是否返回全部 31 省)以实际返回为准,建议先传省名。 - **价格为字符串**:所有 `p*` 字段都是字符串类型,前端计算涨跌请先 `parseFloat`。 - **免费但有档位**:默认档位足够试用;上线前评估日均调用量,必要时用积分兑换更高档位,避免超限。 ## FAQ **Q:这个接口收费吗?** A:今日油价是免费接口,注册后默认可调用,设了使用档次限制防止滥用;积分可兑换更高档位,但没有按次扣费。 **Q:`prov` 不填会怎样?** A:文档标注为选填。标准用法建议传省名(如「北京」「广西」)查单省;不传时是否返回全部省份需以实际接口返回为准,本文以传省名为准。 **Q:返回的 `p92` 是数字还是字符串?** A:是字符串,例如 `"8.42"`。做加减或对比前请先转成数字。 **Q:数据多久更新一次?** A:每日凌晨 7 点整根据国家公布价格同步更新,`ct` 字段是数据更新时间。 ## 相关能力 / 下一步阅读 - [今日油价返回字段全解:p89/p90/p0/p92/p93/p95/p97/p98 与 ct 一文读懂](https://www.showapi.com/guides/oilprice-fields-138) - [今日油价:涨跌幅怎么查?「查询行情」接入点的调价日与涨跌率实战](https://www.showapi.com/guides/oilprice-trend-138) - **本系列共 13 篇**:查看[今日油价开发指南总目录](https://www.showapi.com/guides/oilprice-guides-138)