实时公交到站
bus-realtimePOSThttps://v1.apizero.cn/api/bus-realtime概述
按官方城市名和官方站名,查询该站各公交线路的实时到站信息。返回车牌、预计到站时间、剩余站数、票价和终点方向。本接口免费,覆盖全国数百个城市。 ## 查询前请核对名称 到站查询使用的城市名、站名,须与本接口给出的官方名称一致。地图软件中的「五一广场(地铁站)」不能直接用于到站查询。请先搜索官方站名,再使用返回结果中的名称。 ## 六种查询 同一接口通过参数 `type` 切换: - `query`:到站查询,为默认值。返回指定站台各线路的实时车辆。 - `cities`:覆盖城市列表。查询前请先在此核对城市短名。 - `stations`:按关键词搜索官方站名。`queryable` 为 true 的站点可用于到站查询。 - `line`:静态线路详情,包含全程站点、首末班和票价。 - `line-live`:一条线路当前方向上的全部实时车辆。 - `line-search`:按路号搜索本地线路。参数 `line` 可以留空;留空时列出该城市可查线路。选定线路后,再调用 `line` 或 `line-live`。 ## 同名站台 同一站名可能对应多个站台。到站查询的 `direction` 取 1、2、3、4,表示第几个站台,从 1 起计。回包中的 `platform_count` 为同名站台数量,`platforms` 为各站台摘要。当前站台没有所需线路时,请更换序号。 线路详情和单线实时车辆中,`direction` 的含义不同:1 为默认方向,2 为对向。 ## 建议调用顺序 1. 调用 `cities`,确认城市名。 2. 调用 `stations`,确认官方站名。 3. 调用 `query` 查询到站。站台不符时更换 `direction`。 4. 需要全程站点时调用 `line`;需要该线路全部实时车辆时调用 `line-live`。 5. 只知道路号时调用 `line-search`。`line` 留空可先查看该城市可查线路。 到站车辆增加 lat、lng,表示这一辆车的实时位置;没有定位时为 null,不是站台坐标。原有字段不变。 没有在途车辆时,车辆列表为 [],不返回占位车辆。线路本身仍会返回。
调用约定
- 网关 ·
https://v1.apizero.cn - 鉴权 ·
Authorization: Bearer <API Key> - 回包 · JSON {code, msg, data}。成功看 code === 0,不要只看 HTTP 200。
/aidocs/bus-realtime/raw.md鉴权
匿名可调用:QPS 2、日 500 次(仅供试用);登录后:QPS 3、日 1000 次;黄金会员:QPS 10、日 50000 次;钻石会员:QPS 30、日 100000 次;企业会员:QPS 120、日 1000000 次。批量查询请控制在QPS 120以内。
获取 API Key:获取 API Key/account/keys
请求头
推荐:Bearer <API Key>。兼容请求头 X-API-Key,以及 Query api_key / apikey / key(key 仅当值为 sk_live_/sk_test_/sk_stag_ 形态时生效)。匿名可不传,受每日免费额度限制。
请求体格式
| Header | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 否 | 推荐:Bearer <API Key>。兼容请求头 X-API-Key,以及 Query api_key / apikey / key(key 仅当值为 sk_live_/sk_test_/sk_stag_ 形态时生效)。匿名可不传,受每日免费额度限制。 |
| Content-Type | string | 是 | 请求体格式 |
到站查询
用官方城市名和官方站名查其中一个站台的线路与车辆。同名多站台时 direction=1、2、3、4… 对应第几个站台,回包看 platform_count。站点接口每条线大约只给最近三辆。高德「五一广场(地铁站)」不要直接传,先走「官方站名搜索」。 每辆到站车增加 lat、lng,表示这一辆车的实时位置;没有定位时为 null,不是站台坐标。原有字段不变。 当前没有在途车辆时,该线 lines[].buses 为 [],bus_count 为 0。线路仍会返回。不返回占位车辆。
https://v1.apizero.cn/api/bus-realtime?type=query&city=%E9%95%BF%E6%B2%99&station=%E4%BA%94%E4%B8%80%E5%B9%BF%E5%9C%BA&direction=1
不传或 query=到站
例query
官方城市名;先用 type=cities
例长沙
官方站名;先用 type=stations
例五一广场
第几个站台(1 起,可大于 2);缺线时试 2/3/4。旧客户端只传 1/2 不用改
例1
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 否 | 不传或 query=到站 | query |
| city(城市) | string | 是 | 官方城市名;先用 type=cities | 长沙 |
| station | string | 是 | 官方站名;先用 type=stations | 五一广场 |
| direction | int | 否 | 第几个站台(1 起,可大于 2);缺线时试 2/3/4。旧客户端只传 1/2 不用改 | 1 |
{
"type": "query",
"city": "长沙",
"station": "五一广场",
"direction": "1"
}返回结果
查询城市
规范化站名
当前站台序号(1 起)
同名站台数量
各站台序号与途经线路摘要(空壳站台线路可能为空)
站台序号
该站台摘要线路数
该站台线路名
platforms[].lines 的一项
当前站台线路数量
当前站台线路与车辆
线路名
票价
终点方向
本包车辆数(站点接口每线大约最多 3 辆)。没有在途车辆时为 0
车辆数组。当前没有在途车辆时为 [],不返回占位车辆
车牌
即将到站 / 已过站 / n站 / 暂无实时
这一辆车的实时纬度。没有定位时为 null。这是车的位置,不是站台
这一辆车的实时经度。没有定位时为 null。这是车的位置,不是站台
剩余站数
大约还要几分钟
生成时间
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| city | string | 查询城市 | ||||||||||||||||||||||||||||||||||||
| station | string | 规范化站名 | ||||||||||||||||||||||||||||||||||||
| direction | number | 当前站台序号(1 起) | ||||||||||||||||||||||||||||||||||||
| platform_count | number | 同名站台数量 | ||||||||||||||||||||||||||||||||||||
| platforms | array | 各站台序号与途经线路摘要(空壳站台线路可能为空) | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| line_count | number | 当前站台线路数量 | ||||||||||||||||||||||||||||||||||||
| lines | array | 当前站台线路与车辆 | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| updated_at | string | 生成时间 | ||||||||||||||||||||||||||||||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | ||||||||||||||||||||||||||||||||||||
{
"code": 0,
"msg": "成功",
"data": {
"city": "长沙",
"station": "五一广场",
"direction": 1,
"platform_count": 2,
"platforms": [
{
"direction": 1,
"line_count": 1,
"lines": [
"401路"
]
},
{
"direction": 2,
"line_count": 0,
"lines": []
}
],
"line_count": 1,
"lines": [
{
"line": "401路",
"price": "2",
"terminal": "汽车西站",
"bus_count": 1,
"buses": [
{
"bus_id": "湘A02882D",
"status": "5站",
"lat": 28.1947,
"lng": 112.9765,
"stops_remaining": 5,
"travel_minutes": 6
}
]
}
],
"updated_at": "2026-08-26 17:00:00"
},
"tips": "极数本源 · https://apizero.cn"
}城市列表
返回覆盖城市的官方名称。查到站必须用这里的 name,不要传「湖南省长沙」。
https://v1.apizero.cn/api/bus-realtime?type=cities
固定 cities
例cities
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 是 | 固定 cities | cities |
{
"type": "cities"
}返回结果
城市数
name / pinyin
名称
pinyin
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | ||||||
|---|---|---|---|---|---|---|---|---|
| count | number | 城市数 | ||||||
| cities | array | name / pinyin | ||||||
| ||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | ||||||
{
"code": 0,
"msg": "成功",
"data": {
"count": 2,
"cities": [
{
"name": "长沙",
"pinyin": "ChangSha"
},
{
"name": "北京",
"pinyin": "BeiJing"
}
]
},
"tips": "极数本源 · https://apizero.cn"
}官方站名搜索
按关键词搜官方站名。同名可能有公交站和地铁站:queryable=true 才能查到站。车来了地铁站叫「五一广场」,没有「(地铁站)」后缀。
https://v1.apizero.cn/api/bus-realtime?type=stations&city=%E9%95%BF%E6%B2%99&station=%E4%BA%94%E4%B8%80
固定 stations
例stations
官方城市名
例长沙
关键词,不是高德全名
例五一
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 是 | 固定 stations | stations |
| city(城市) | string | 是 | 官方城市名 | 长沙 |
| station | string | 是 | 关键词,不是高德全名 | 五一 |
{
"type": "stations",
"city": "长沙",
"station": "五一"
}返回结果
城市
搜索词
条数
name / kind / queryable / lat / lng
名称
kind
queryable
站点纬度(站台,不是车辆)
站点经度(站台,不是车辆)
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| city | string | 城市 | |||||||||||||||
| keyword | string | 搜索词 | |||||||||||||||
| count | number | 条数 | |||||||||||||||
| stations | array | name / kind / queryable / lat / lng | |||||||||||||||
| |||||||||||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | |||||||||||||||
{
"code": 0,
"msg": "成功",
"data": {
"city": "长沙",
"keyword": "五一",
"count": 2,
"stations": [
{
"name": "五一广场",
"kind": "bus",
"queryable": true,
"lat": 28.198746,
"lng": 112.968806
},
{
"name": "五一广场",
"kind": "subway",
"queryable": false,
"lat": 28.198153,
"lng": 112.97085
}
]
},
"tips": "极数本源 · https://apizero.cn"
}静态线路详情
按官方线路名查单向全程站点、首末班和票价。401 和 401路都可以。direction=2 查对向。地铁线路通常没有全程站点,请改用官方站名搜索再查到站。
https://v1.apizero.cn/api/bus-realtime?type=line&city=%E9%95%BF%E6%B2%99&line=401&direction=1
固定 line
例line
官方城市名
例长沙
官方线路名,如 401 / 401路(也认 station)
例401
1=默认,2=反方向
例1
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 是 | 固定 line | line |
| city(城市) | string | 是 | 官方城市名 | 长沙 |
| line | string | 是 | 官方线路名,如 401 / 401路(也认 station) | 401 |
| direction | int | 否 | 1=默认,2=反方向 | 1 |
{
"type": "line",
"city": "长沙",
"line": "401",
"direction": "1"
}返回结果
城市
查询词
规范化线路名
方向 1/2
起点站
终点站
票价
首班
末班
站点数
order / name / lat / lng
order
名称
站点纬度(线路静态站点,不是实时车辆)
站点经度(线路静态站点,不是实时车辆)
是否有对向,有则可再打 direction=2
生成时间
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| city | string | 城市 | ||||||||||||
| keyword | string | 查询词 | ||||||||||||
| line | string | 规范化线路名 | ||||||||||||
| direction | number | 方向 1/2 | ||||||||||||
| start | string | 起点站 | ||||||||||||
| end | string | 终点站 | ||||||||||||
| price | string | 票价 | ||||||||||||
| first_time | string | 首班 | ||||||||||||
| last_time | string | 末班 | ||||||||||||
| stop_count | number | 站点数 | ||||||||||||
| stops | array | order / name / lat / lng | ||||||||||||
| ||||||||||||||
| has_reverse | boolean | 是否有对向,有则可再打 direction=2 | ||||||||||||
| updated_at | string | 生成时间 | ||||||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | ||||||||||||
{
"code": 0,
"msg": "成功",
"data": {
"city": "长沙",
"keyword": "401",
"line": "401路",
"direction": 1,
"start": "福元路大桥西",
"end": "长沙火车站(北坪)",
"price": "2元",
"first_time": "05:50",
"last_time": "21:30",
"stop_count": 25,
"stops": [
{
"order": 1,
"name": "福元路大桥西",
"lat": 28.255976,
"lng": 112.956336
},
{
"order": 2,
"name": "滨江景观道佑母塘路口",
"lat": 28.252096,
"lng": 112.956806
},
{
"order": 25,
"name": "长沙火车站(北坪)",
"lat": 28.197776,
"lng": 113.006326
}
],
"has_reverse": true,
"updated_at": "2026-08-28 18:50:00"
},
"tips": "极数本源 · https://apizero.cn"
}单线实时车辆
查一条线当前全部车辆,不走站点接口(站点每线最多约 3 辆)。旧 type=line 仍是静态全程,回包不变。可选 station 再筛该站尚未过站的车。direction=2 是线路对向。 每辆到站车增加 lat、lng,表示这一辆车的实时位置;没有定位时为 null,不是站台坐标。原有字段不变。 当前没有在途车辆时,buses 与 arrivals 为 [],bus_count 与 arrival_count 为 0。线路名称、首末班仍返回。不返回占位车辆。
https://v1.apizero.cn/api/bus-realtime?type=line-live&city=%E4%BF%9D%E5%AE%9A&line=36&direction=1&station=%E5%AE%A2%E8%BF%90%E4%B8%AD%E5%BF%83
固定 line-live
例line-live
官方城市名
例保定
官方线路名,如 36 / 36路
例36
1=默认,2=对向(与 type=line 相同)
例1
可选;传入则额外给该站 arrivals
例客运中心
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 是 | 固定 line-live | line-live |
| city(城市) | string | 是 | 官方城市名 | 保定 |
| line | string | 是 | 官方线路名,如 36 / 36路 | 36 |
| direction | int | 否 | 1=默认,2=对向(与 type=line 相同) | 1 |
| station | string | 否 | 可选;传入则额外给该站 arrivals | 客运中心 |
{
"type": "line-live",
"city": "保定",
"line": "36",
"direction": "1",
"station": "客运中心"
}返回结果
城市
查询词
规范化线路名
方向 1/2
起点站
终点站
该方向全部实时车辆数。没有在途车辆时为 0
全部车辆。当前没有在途车辆时为 [],不返回占位车辆
车牌或车辆编号
当前所在站序
当前站名
运行至某站 / n站 / 即将到站 / 已过站
这一辆车的实时纬度。没有定位时为 null。这是车的位置,不是站台
这一辆车的实时经度。没有定位时为 null。这是车的位置,不是站台
传入 station 时回规范化站名
该站在本方向的站序
尚未过该站的车辆数。没有在途车辆时为 0
传入 station 时:尚未过该站的车。没有在途车辆时为 []
arrivals 的一项
是否有对向
生成时间
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| city | string | 城市 | ||||||||||||||||||
| keyword | string | 查询词 | ||||||||||||||||||
| line | string | 规范化线路名 | ||||||||||||||||||
| direction | number | 方向 1/2 | ||||||||||||||||||
| start | string | 起点站 | ||||||||||||||||||
| end | string | 终点站 | ||||||||||||||||||
| bus_count | number | 该方向全部实时车辆数。没有在途车辆时为 0 | ||||||||||||||||||
| buses | array | 全部车辆。当前没有在途车辆时为 [],不返回占位车辆 | ||||||||||||||||||
| ||||||||||||||||||||
| station | string | 传入 station 时回规范化站名 | ||||||||||||||||||
| station_order | number | 该站在本方向的站序 | ||||||||||||||||||
| arrival_count | number | 尚未过该站的车辆数。没有在途车辆时为 0 | ||||||||||||||||||
| arrivals | array | 传入 station 时:尚未过该站的车。没有在途车辆时为 [] | ||||||||||||||||||
| ||||||||||||||||||||
| has_reverse | boolean | 是否有对向 | ||||||||||||||||||
| updated_at | string | 生成时间 | ||||||||||||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | ||||||||||||||||||
{
"code": 0,
"msg": "成功",
"data": {
"city": "保定",
"keyword": "36",
"line": "36路",
"direction": 1,
"start": "客运中心",
"end": "农大西校区",
"bus_count": 1,
"buses": [
{
"bus_id": "2816",
"order": 29,
"station": "朝阳南桥",
"status": "运行至朝阳南桥",
"lat": 28.1947,
"lng": 112.9765,
"stops_remaining": null
}
],
"has_reverse": true,
"updated_at": "2026-09-21 20:30:00"
},
"tips": "极数本源 · https://apizero.cn"
}搜本地线路
按路号或线路名列出该城市命中的多条线路,不要求唯一。1 会同时出现 1路、11路。line 留空则列出该城可查线路(最多 80 条)。选中某一条后再调 type=line 或 type=line-live。query / line / line-live 的请求和回包不变。地铁会出现在列表里,queryable 为 false。没有命中时 count 为 0,lines 为空数组。
https://v1.apizero.cn/api/bus-realtime?type=line-search&city=%E9%95%BF%E6%B2%99&line=1
固定 line-search;也认 line_search / linesearch
例line-search
城市名;认县/市/区/自治州全称
例长沙
可空=该城可查线路;或路号/线路名,如 1 / 401 / 401路(也认 station)
例1
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| type(类型) | string | 是 | 固定 line-search;也认 line_search / linesearch | line-search |
| city(城市) | string | 是 | 城市名;认县/市/区/自治州全称 | 长沙 |
| line | string | 否 | 可空=该城可查线路;或路号/线路名,如 1 / 401 / 401路(也认 station) | 1 |
{
"type": "line-search",
"city": "长沙",
"line": "1"
}返回结果
城市
查询词
命中条数;有关键词最多 30,留空最多 80
线路列表;有关键词按匹配度,留空按线路名排序
规范化线路名,可直接传给 type=line / line-live
起点站
终点站
首班,没有时为 null
末班,没有时为 null
票价,没有时为 null
是否有对向
bus 或 subway
公交为 true;地铁为 false,不能再查全程
品牌提示(所有接口统一返回):极数本源 · https://apizero.cn
| 字段 | 类型 | 说明 | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| city | string | 城市 | |||||||||||||||||||||||||||
| keyword | string | 查询词 | |||||||||||||||||||||||||||
| count | number | 命中条数;有关键词最多 30,留空最多 80 | |||||||||||||||||||||||||||
| lines | array | 线路列表;有关键词按匹配度,留空按线路名排序 | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| tips | string | 品牌提示(所有接口统一返回):极数本源 · https://apizero.cn | |||||||||||||||||||||||||||
{
"code": 0,
"msg": "成功",
"data": {
"city": "长沙",
"keyword": "1",
"count": 2,
"lines": [
{
"line": "1路",
"start": "汽车西站",
"end": "长沙火车站",
"first_time": null,
"last_time": null,
"price": null,
"has_reverse": true,
"kind": "bus",
"queryable": true
},
{
"line": "11路",
"start": "汽车西站",
"end": "长沙火车站",
"first_time": null,
"last_time": null,
"price": null,
"has_reverse": true,
"kind": "bus",
"queryable": true
}
]
},
"tips": "极数本源 · https://apizero.cn"
}请求示例
示例都是服务端写法。Python / JavaScript 各有常规写法和官方库。
curl -sS -X POST "https://v1.apizero.cn/api/bus-realtime" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "query",
"city": "长沙",
"station": "五一广场",
"line": "401",
"direction": "1"
}'错误码
先看业务 code。HTTP 也可能不是 200。
成功
参数错误
API Key 无效
API Key 已暂停
当前 IP 不在 Key 白名单
此接口需要 API Key
余额不足
调用过快(QPS)
今日免费额度已用完
接口已下线
接口不存在
服务器内部错误
上游暂时不可用
上游返回格式异常
暂无可用节点
| 业务码 | HTTP | 说明 |
|---|---|---|
| 0 | 200 | 成功 |
| 4000 | 400 | 参数错误 |
| 4011 | 401 | API Key 无效 |
| 4013 | 403 | API Key 已暂停 |
| 4014 | 403 | 当前 IP 不在 Key 白名单 |
| 4015 | 401 | 此接口需要 API Key |
| 4022 | 402 | 余额不足 |
| 4029 | 429 | 调用过快(QPS) |
| 4030 | 429 | 今日免费额度已用完 |
| 4040 | 503 | 接口已下线 |
| 4041 | 404 | 接口不存在 |
| 5000 | 500 | 服务器内部错误 |
| 5020 | 502 | 上游暂时不可用 |
| 5021 | 502 | 上游返回格式异常 |
| 5030 | 502 | 暂无可用节点 |
调用限制
- 计费模式
- 完全免费
- QPS 限制
- QPS 10
- 登录免费额度
- 1000 次(已认证)
- 匿名每日额度
- 500 次(无 API Key)
- 黄金会员
- 每天 50,000 次 · QPS 20
- 钻石会员
- 每天 100,000 次 · QPS 30
- 企业会员
- 每天 1,000,000 次 · QPS 120
| 计费模式 | 完全免费 |
|---|---|
| QPS 限制 | QPS 10 |
| 登录免费额度 | 1000 次(已认证) |
| 匿名每日额度 | 500 次(无 API Key) |
| 黄金会员 | 每天 50,000 次 · QPS 20 |
| 钻石会员 | 每天 100,000 次 · QPS 30 |
| 企业会员 | 每天 1,000,000 次 · QPS 120 |
购买套餐、看评价请走商城详情。 购买 / 调试
更新日志
- v1.02026-07-01
首次上线:按城市+站名查询实时到站,支持双向、按线路分组返回车牌/到站时间/剩余站数/票价。
- v1.12026-08-26
同一接口增加 type=cities 官方城市列表、type=stations 官方站名搜索;到站查询必须用这两个列表里的名称。
- v1.22026-08-28
同一接口增加 type=line 静态线路详情:按官方线路名返回单向全程站点、首末班和票价;direction=2 查对向。
- v1.32026-09-21
query 的 direction 改为站台序号(可大于 2),回包增加 platform_count / platforms;新增 type=line-live 返回一条线的全部实时车辆。旧 type=query / type=line 字段保留,只传 direction=1/2 的客户端不用改。
- v1.42026-09-24
增加 type=line-search:按路号搜本地线路。line 留空列出该城可查线路,选中后再调 type=line 或 type=line-live。原有 query / line / line-live 字段不变。
- v1.52026-10-09
到站车辆新增 lat、lng(实时位置,没有定位时为 null)。原有字段不变。
- v1.62026-10-13
没有在途车辆时,到站的 lines[].buses 和单线实时的 buses、arrivals 改为空数组,对应计数为 0。线路仍返回。不返回占位车辆。有实时车时字段不变。