飞车版本 v1.0.0 地图库 返回首页

API 文档

版本 v1 · 精确查询 · JSON

接口地址

https://www.bnnb.cn/v1/api/

只提供精确查询:按道具 ID,或按道具名称完全相等匹配。返回 application/json。

请求方式 GET(也支持 HEAD / OPTIONS)· 公开访问,无需密钥 · 每 IP 每分钟上限 60 次 · 跨域调用已允许

请求参数

参数必填说明
id 二选一 道具 ID,1~10 位数字。例:https://www.bnnb.cn/v1/api/?id=10008
name 二选一 道具名称,需完全一致(区分用词,不支持模糊)。例:https://www.bnnb.cn/v1/api/?name=%E8%85%BE%E5%BD%A9%E6%B0%94%E7%90%83
=值 可选 裸参数写法:https://www.bnnb.cn/v1/api/?=10008 —— 纯数字按 ID 处理,否则按名称处理。为兼容这种写法,接口会读取原始查询串。
key 不推荐 兼容写法,但请不要使用 —— 密钥会出现在浏览器地址栏、历史记录、Referer 和服务器访问日志里。请改用 X-API-Key 请求头(见下方「鉴权与调用限制」)

同时传 id 与 name 时以 id 为准; 都为空则返回 400(响应里会带可用示例地址)。

返回结构

成功(HTTP 200):

{
    "ok": true,
    "code": 200,
    "msg": "ok",
    "api": "v1",
    "time": "2026-10-03T00:53:55+08:00",
    "query": {
        "by": "id",
        "value": "10008"
    },
    "matched": 1,
    "data": {
        "id": 10008,
        "name": "腾彩气球",
        "type": "尾挂,赛车",
        "type_fine": "尾挂",
        "type_group": "赛车",
        "sex": "无",
        "descr": "这是一种神秘的符号 ,一种图腾的象征,当飞弹掠过的时候,它将是你的保护神。",
        "funcs": "非情侣模式下,挂在车后可减小飞弹对你的伤害。",
        "image": "https://www.bnnb.cn/img.php?id=10008",
        "image_official": "https://iips.speed.qq.com/images/10008.png"
    }
}

失败(ok 恒为 false,code 与 HTTP 状态码一致):

{
    "ok": false,
    "code": 404,
    "msg": "未找到该道具(ID 99999999)",
    "api": "v1",
    "time": "2026-10-03T00:53:55+08:00",
    "query": {
        "by": "id",
        "value": "99999999"
    }
}

顶层字段

字段类型含义
okboolean是否成功,等价于 code === 200
codeinteger状态码,与 HTTP 状态码一致
msgstring提示文字(失败时是原因)
apistring接口版本,当前 v1
timestring服务器时间(ISO 8601)
queryobject本次实际使用的查询条件:by(id / name)与 value
matchedinteger命中条数。按 ID 查询恒为 1;按名称查询可能 > 1(同名道具)
dataobject道具完整信息,失败时为 null(不返回该字段)

data 字段

字段类型含义
idinteger道具 ID,唯一
namestring道具名称
typestring原始类型字段,形如「细类,大类」,例:尾挂,赛车
type_finestring细类(type 的第 1 个标签),例:尾挂
type_groupstring所属大类(type 的第 2 个标签),例:赛车
sexstring性别限制:男 / 女 / 无(无 = 通用)
descrstring道具描述
funcsstring功能说明
imagestring本站图片接口地址(绝对地址,未本地化时自动跳官方外链)
image_officialstring官方图床地址(绝对地址)

按名称查询命中多条时,data 返回 ID 最小的那一条,matched 为正整数个条数。

地图库

除道具外,还可以查地图(赛道)的代码与名称 —— 同样只做 精确匹配。

map 地图代码(纯数字)或地图名称(要完全一致)。
例:https://www.bnnb.cn/v1/api/?map=105、https://www.bnnb.cn/v1/api/?map=沉睡森林(中文需 URL 编码)
maps 传任意值即列出地图:https://www.bnnb.cn/v1/api/?maps=1
可配 &cat=经典赛道、&page=1、&limit=50(1~200)

地图字段:id、code(地图代码)、name(地图名称)、cat(分类)。 列表响应额外带 total / page / pages / cats(各分类条数)。

状态码与错误

code含义触发条件
200成功返回 ok: true 与 data 字段
400参数错误缺少查询参数、ID 不是数字、名称过长等
401鉴权失败后台设置了密钥,但请求没带或带错(仅密钥开启时出现)
403接口已关闭后台「API 设置」里关掉了接口总开关
404未找到道具ID 不存在,或名称与库中不完全一致
429请求过于频繁超过「每 IP 每分钟」上限,响应头带 Retry-After

鉴权与调用限制

本站接口公开访问,无需密钥。如果站长在后台设置了密钥,则必须带请求头 X-API-Key: 你的密钥。

不要把密钥写进 URL。 像 ?key=你的密钥 这种写法,会同时留存在浏览器地址栏、浏览历史、Referer 请求头和服务器访问日志里,等于把密钥公开。接口为了兼容仍然接受它,但请只用 X-API-Key 请求头。

调用示例

curl(按 ID):

curl "https://www.bnnb.cn/v1/api/?id=10008"

curl(按名称,注意要 URL 编码):

curl "https://www.bnnb.cn/v1/api/?name=%E8%85%BE%E5%BD%A9%E6%B0%94%E7%90%83"

JavaScript:

fetch("https://www.bnnb.cn/v1/api/?id=10008")
  .then(function (r) { return r.json(); })
  .then(function (res) {
    if (!res.ok) { console.error(res.code, res.msg); return; }
    console.log(res.data.id, res.data.name, res.data.type_group);
  });

PHP:

$json = @file_get_contents("https://www.bnnb.cn/v1/api/?id=10008");
$res  = json_decode($json, true);
if ($res && $res['ok']) { echo $res['data']['name']; }