沿线地铁

metro-alongPOST
POSThttps://v1.apizero.cn/api/metro-along

概述

查询公交与地铁的换乘关系。可以按一条公交线路列出沿途能换乘的地铁,也可以按出发地和目的地返回包含地铁的乘车方案。本接口免费,额度与实时公交相同。 ## 支持地区 城市名与实时公交使用同一套城市表,覆盖这套表里的城市。查询时认简称,也认带「市」「县」「区」的写法,例如福州、福州市、上海。 有地铁换乘标注的城市会返回换乘站和乘车方案。没有地铁,或所选公交线路沿途没有地铁站时,沿线换乘的 stops 为空数组。两地之间没有地铁方案时,plans 为空数组。 福州、上海已核对能返回地铁线路。北京、广州、深圳、杭州、天津、成都、重庆、青岛、郑州、武汉、东莞、苏州、南昌、沈阳、南京、宁波、无锡、大连、长春、长沙、西安、香港在城市资料里标了地铁。未列入这份标记的城市也可能返回换乘站,以实际返回为准。 ## 两种查询 同一地址用参数 `type` 切换。 - `along`:沿线换乘,默认值。传入城市和公交线路,返回该方向上带有地铁的站点。没有地铁的站不会出现。 - `plan`:两地乘车。传入城市、出发地和目的地,返回最多 5 条含地铁的方案。 `line`、`query` 与 `along` 相同。`route`、`ride` 与 `plan` 相同。 ## 沿线换乘 `city` 接受简称和带后缀的写法,例如福州、福州市、上海。`line` 传公交线路的路号或官方名称,例如 `1` 或 `1路`。`direction` 为 1 时走默认方向,为 2 时走返程。 每条地铁返回名称、线路编号和颜色。颜色是红、绿、蓝三个 0–255 的数字,用英文逗号分隔。站点 `lat`、`lng` 是 WGS-84;没有坐标时为 null。 回包里的 `first_time`、`last_time`、`price` 属于这条公交线路的首末班和票价,不是地铁票价。`start`、`end` 是该方向的公交起讫站。某站同时可换多条地铁时,这些地铁都列在该站的 `subways` 里。 请传公交线路。把 `line` 写成「地铁1号线」查不到地铁自身的全程站,接口会提示改传公交线路。 ## 两地乘车 `origin`、`dest` 是出发地和目的地名称。不传坐标时,按名称匹配地标。若要自己指定坐标,纬度和经度必须成对出现,坐标系为国测局 GCJ-02。 `strategy` 取 0、1、2。0 为推荐,1 为少换乘,2 为少步行。 每段地铁包含上车站 `board`、下车站 `alight`、中间站 `via`、线路两端终点 `from_terminal` 与 `to_terminal`、这一站的首末班、预计分钟数和距离。`via_count` 是上下车之间的站数。 同一方案如果还要乘坐公交,只返回 `bus_count`,不展开公交线路和车辆。全程只有地铁和步行时,`bus_count` 为 0。两地之间没有地铁方案时,`plans` 为空。 ## 不包含的数据 本接口不返回地铁线路自己的全程站点,不返回列车实时位置,也不返回到站倒计时。地图折线不返回。方案中的耗时是预计值。 沿线结果缓存 1 小时,两地方案缓存 10 分钟。命中缓存时 `msg` 为 cached。

调用约定

  • 网关 · https://v1.apizero.cn
  • 鉴权 · Authorization: Bearer <API Key>
  • 回包 · JSON {code, msg, data}。成功看 code === 0,不要只看 HTTP 200。
/aidocs/metro-along/raw.md
打开 Markdown

鉴权

本接口免费,额度与实时公交相同。不带 Key 每天 500 次、QPS 5;登录后每天 1000 次、QPS 20。黄金会员每天 50000 次,钻石会员每天 100000 次,企业会员每天 1000000 次。可选携带 Authorization: Bearer <API Key>。

获取 API Key

请求头

Authorizationstring选填

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

沿线换乘

POSTAPPLICATION/JSON·APPLICATION/JSON

查询一条公交线路在指定方向上哪些站可以换乘地铁。城市名与实时公交相同。line 传公交路号,不要传地铁线名。没有地铁的站不出现。站点坐标是 WGS-84。首末班和票价属于这条公交。

https://v1.apizero.cn/api/metro-along?type=along&city=%E7%A6%8F%E5%B7%9E&line=1&direction=1

type(类型)string选填

不传或 along

例along

city(城市)string必填

城市名,福州 / 福州市 / 上海都可以

例福州

linestring必填

公交线路,1 与 1路 相同

例1

directionint选填

1 默认方向,2 返程

例1

{
  "type": "along",
  "city": "福州",
  "line": "1",
  "direction": "1"
}

返回结果

citystring

城市简称

linestring

公交线路名称

directionnumber

1 或 2

startstring

该方向公交起点

endstring

该方向公交终点

first_timestring

公交首班,不是地铁票价时段

last_timestring

公交末班

pricestring

公交票价,不是地铁票价

subway_countnumber

沿途地铁线条数

subwaysarray

沿途地铁线:name、line_no、color

subways[]string

subways 的一项

stop_countnumber

可换乘站点数量

stopsarray

可换乘站点。lat/lng 为 WGS-84

ordernumber

order

namestring

名称

latnumber

lat

lngnumber

lng

subwaysarray

subways

namestring

名称

line_nostring

line_no

colorstring

color

updated_atstring

生成时间,上海时区

tipsstring

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

{
  "code": 0,
  "msg": "成功",
  "data": {
    "city": "福州",
    "line": "1",
    "direction": 1,
    "start": "则徐大道盖山路口",
    "end": "西门",
    "first_time": "05:00",
    "last_time": "23:00",
    "price": "1元",
    "subway_count": 2,
    "stop_count": 1,
    "stops": [
      {
        "order": 3,
        "name": "三叉街",
        "lat": 26.037656,
        "lng": 119.322126,
        "subways": [
          {
            "name": "地铁1号线",
            "line_no": "1",
            "color": "227,10,10"
          }
        ]
      }
    ]
  },
  "tips": "极数本源 · https://apizero.cn"
}

两地乘车

POSTAPPLICATION/JSON·APPLICATION/JSON

查询两地之间包含地铁的方案,最多 5 条。坐标为国测局 GCJ-02,纬度和经度须成对出现。同方案中的公交只返回段数。没有地铁方案时 plans 为空。

https://v1.apizero.cn/api/metro-along?type=plan&city=%E7%A6%8F%E5%B7%9E&origin=%E4%B8%89%E5%8F%89%E8%A1%97&dest=%E4%B8%9C%E8%A1%97%E5%8F%A3&strategy=0

type(类型)string必填

固定 plan

例plan

city(城市)string必填

城市名

例福州

originstring必填

出发地

例三叉街

deststring必填

目的地

例东街口

strategyint选填

0 推荐,1 少换乘,2 少步行

例0

{
  "type": "plan",
  "city": "福州",
  "origin": "三叉街",
  "dest": "东街口",
  "strategy": "0"
}

返回结果

countnumber

含地铁的方案数

plansarray

方案,最多 5 条

duration_minutesnumber

全程预计分钟

bus_countnumber

同方案公交段数量,不展开

metrosarray

地铁段

boardstring

上车站

alightstring

下车站

viaarray

中间站名

plans[].metros[].via[]string

via 的一项

first_timestring

上车站首班

last_timestring

上车站末班

duration_minutesnumber

这一段预计分钟

tipsstring

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

{
  "code": 0,
  "msg": "成功",
  "data": {
    "city": "福州",
    "origin": "三叉街",
    "dest": "东街口",
    "strategy": 0,
    "count": 1,
    "plans": [
      {
        "tag": "直达",
        "duration_minutes": 32,
        "bus_count": 0,
        "metro_count": 1,
        "metros": [
          {
            "name": "地铁1号线",
            "board": "三叉街",
            "alight": "东街口",
            "via": [
              "上藤",
              "达道",
              "茶亭",
              "南门兜"
            ],
            "first_time": "06:24",
            "last_time": "23:54",
            "duration_minutes": 16
          }
        ]
      }
    ]
  },
  "tips": "极数本源 · https://apizero.cn"
}

请求示例

示例都是服务端写法。Python / JavaScript 各有常规写法和官方库。

curl -sS -X POST "https://v1.apizero.cn/api/metro-along" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "along",
  "city": "福州",
  "line": "1",
  "direction": "1",
  "origin": "三叉街",
  "dest": "东街口",
  "strategy": "0"
}'

错误码

先看业务 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 20
登录免费额度
1000 次(已认证)
匿名每日额度
500 次(无 API Key)
黄金会员
每天 50,000 次 · QPS 20
钻石会员
每天 100,000 次 · QPS 30
企业会员
每天 1,000,000 次 · QPS 120

购买套餐、看评价请走商城详情。 购买 / 调试

更新日志

  • v1.02026-10-24

    上线沿线换乘和两地乘车。额度与实时公交相同,不包含列车实时位置。

免责声明

沿线站点坐标为 WGS-84。两地查询的经纬度为国测局 GCJ-02,与沿线坐标不能直接混用。公交首末班和票价不要当成地铁票价。预计耗时不是列车到站时间。