实时公交到站

bus-realtimePOST
POSThttps://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
打开 Markdown

鉴权

匿名可调用:QPS 2、日 500 次(仅供试用);登录后:QPS 3、日 1000 次;黄金会员:QPS 10、日 50000 次;钻石会员:QPS 30、日 100000 次;企业会员:QPS 120、日 1000000 次。批量查询请控制在QPS 120以内。

获取 API Key

请求头

Authorizationstring选填

推荐:Bearer <API Key>。兼容请求头 X-API-Key,以及 Query api_key / apikey / key(key 仅当值为 sk_live_/sk_test_/sk_stag_ 形态时生效)。匿名可不传,受每日免费额度限制。

Content-Typestring必填

请求体格式

到站查询

POSTAPPLICATION/JSON·APPLICATION/JSON

用官方城市名和官方站名查其中一个站台的线路与车辆。同名多站台时 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

type(类型)string选填

不传或 query=到站

例query

city(城市)string必填

官方城市名;先用 type=cities

例长沙

stationstring必填

官方站名;先用 type=stations

例五一广场

directionint选填

第几个站台(1 起,可大于 2);缺线时试 2/3/4。旧客户端只传 1/2 不用改

例1

{
  "type": "query",
  "city": "长沙",
  "station": "五一广场",
  "direction": "1"
}

返回结果

citystring

查询城市

stationstring

规范化站名

directionnumber

当前站台序号(1 起)

platform_countnumber

同名站台数量

platformsarray

各站台序号与途经线路摘要(空壳站台线路可能为空)

directionnumber

站台序号

line_countnumber

该站台摘要线路数

linesarray

该站台线路名

platforms[].lines[]string

platforms[].lines 的一项

line_countnumber

当前站台线路数量

linesarray

当前站台线路与车辆

linestring

线路名

pricestring

票价

terminalstring

终点方向

bus_countnumber

本包车辆数(站点接口每线大约最多 3 辆)。没有在途车辆时为 0

busesarray

车辆数组。当前没有在途车辆时为 [],不返回占位车辆

bus_idstring

车牌

statusstring

即将到站 / 已过站 / n站 / 暂无实时

latnumber

这一辆车的实时纬度。没有定位时为 null。这是车的位置,不是站台

lngnumber

这一辆车的实时经度。没有定位时为 null。这是车的位置,不是站台

stops_remainingnumber

剩余站数

travel_minutesnumber

大约还要几分钟

updated_atstring

生成时间

tipsstring

品牌提示(所有接口统一返回):极数本源 · 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"
}

城市列表

POSTAPPLICATION/JSON·APPLICATION/JSON

返回覆盖城市的官方名称。查到站必须用这里的 name,不要传「湖南省长沙」。

https://v1.apizero.cn/api/bus-realtime?type=cities

type(类型)string必填

固定 cities

例cities

{
  "type": "cities"
}

返回结果

countnumber

城市数

citiesarray

name / pinyin

namestring

名称

pinyinstring

pinyin

tipsstring

品牌提示(所有接口统一返回):极数本源 · https://apizero.cn

{
  "code": 0,
  "msg": "成功",
  "data": {
    "count": 2,
    "cities": [
      {
        "name": "长沙",
        "pinyin": "ChangSha"
      },
      {
        "name": "北京",
        "pinyin": "BeiJing"
      }
    ]
  },
  "tips": "极数本源 · https://apizero.cn"
}

官方站名搜索

POSTAPPLICATION/JSON·APPLICATION/JSON

按关键词搜官方站名。同名可能有公交站和地铁站: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

type(类型)string必填

固定 stations

例stations

city(城市)string必填

官方城市名

例长沙

stationstring必填

关键词,不是高德全名

例五一

{
  "type": "stations",
  "city": "长沙",
  "station": "五一"
}

返回结果

citystring

城市

keywordstring

搜索词

countnumber

条数

stationsarray

name / kind / queryable / lat / lng

namestring

名称

kindstring

kind

queryableboolean

queryable

latnumber

站点纬度(站台,不是车辆)

lngnumber

站点经度(站台,不是车辆)

tipsstring

品牌提示(所有接口统一返回):极数本源 · 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"
}

静态线路详情

POSTAPPLICATION/JSON·APPLICATION/JSON

按官方线路名查单向全程站点、首末班和票价。401 和 401路都可以。direction=2 查对向。地铁线路通常没有全程站点,请改用官方站名搜索再查到站。

https://v1.apizero.cn/api/bus-realtime?type=line&city=%E9%95%BF%E6%B2%99&line=401&direction=1

type(类型)string必填

固定 line

例line

city(城市)string必填

官方城市名

例长沙

linestring必填

官方线路名,如 401 / 401路(也认 station)

例401

directionint选填

1=默认,2=反方向

例1

{
  "type": "line",
  "city": "长沙",
  "line": "401",
  "direction": "1"
}

返回结果

citystring

城市

keywordstring

查询词

linestring

规范化线路名

directionnumber

方向 1/2

startstring

起点站

endstring

终点站

pricestring

票价

first_timestring

首班

last_timestring

末班

stop_countnumber

站点数

stopsarray

order / name / lat / lng

ordernumber

order

namestring

名称

latnumber

站点纬度(线路静态站点,不是实时车辆)

lngnumber

站点经度(线路静态站点,不是实时车辆)

has_reverseboolean

是否有对向,有则可再打 direction=2

updated_atstring

生成时间

tipsstring

品牌提示(所有接口统一返回):极数本源 · 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"
}

单线实时车辆

POSTAPPLICATION/JSON·APPLICATION/JSON

查一条线当前全部车辆,不走站点接口(站点每线最多约 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

type(类型)string必填

固定 line-live

例line-live

city(城市)string必填

官方城市名

例保定

linestring必填

官方线路名,如 36 / 36路

例36

directionint选填

1=默认,2=对向(与 type=line 相同)

例1

stationstring选填

可选;传入则额外给该站 arrivals

例客运中心

{
  "type": "line-live",
  "city": "保定",
  "line": "36",
  "direction": "1",
  "station": "客运中心"
}

返回结果

citystring

城市

keywordstring

查询词

linestring

规范化线路名

directionnumber

方向 1/2

startstring

起点站

endstring

终点站

bus_countnumber

该方向全部实时车辆数。没有在途车辆时为 0

busesarray

全部车辆。当前没有在途车辆时为 [],不返回占位车辆

bus_idstring

车牌或车辆编号

ordernumber

当前所在站序

stationstring

当前站名

statusstring

运行至某站 / n站 / 即将到站 / 已过站

latnumber

这一辆车的实时纬度。没有定位时为 null。这是车的位置,不是站台

lngnumber

这一辆车的实时经度。没有定位时为 null。这是车的位置,不是站台

stationstring

传入 station 时回规范化站名

station_ordernumber

该站在本方向的站序

arrival_countnumber

尚未过该站的车辆数。没有在途车辆时为 0

arrivalsarray

传入 station 时:尚未过该站的车。没有在途车辆时为 []

arrivals[]string

arrivals 的一项

has_reverseboolean

是否有对向

updated_atstring

生成时间

tipsstring

品牌提示(所有接口统一返回):极数本源 · 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"
}

请求示例

示例都是服务端写法。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。

0200

成功

4000400

参数错误

4011401

API Key 无效

4013403

API Key 已暂停

4014403

当前 IP 不在 Key 白名单

4015401

此接口需要 API Key

4022402

余额不足

4029429

调用过快(QPS)

4030429

今日免费额度已用完

4040503

接口已下线

4041404

接口不存在

5000500

服务器内部错误

5020502

上游暂时不可用

5021502

上游返回格式异常

5030502

暂无可用节点

调用限制

计费模式
完全免费
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。线路仍返回。不返回占位车辆。有实时车时字段不变。