# 汽车车型库数据
> 来源页面: https://www.gugudata.com/api/details/vehicle-catalog
## 概览
- API 标识: `vehicle-catalog`
- 分类: 元数据/资讯
- 描述: 汽车品牌、车系与车型查询
- 标签: 汽车数据 / 车型库
- 短标签: 基础数据 / 汽车数据
- 详情页: https://www.gugudata.com/api/details/vehicle-catalog
- LLM Markdown: https://www.gugudata.com/api/details/vehicle-catalog/llm.md
- 数据预览: https://www.gugudata.com/preview/vehicle-catalog
- 购买开通: https://www.gugudata.com/order/vehicle-catalog
- APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders
## 给大模型的接入指令
如果你正在帮助用户接入这个 API,请优先使用本文档中的接口地址、请求方式、请求参数、返回参数、状态码、cURL 示例和预览数据生成代码或排查问题。
- 接入目标: 调用 `汽车车型库数据`,不要臆造未在文档中出现的参数或返回字段。
- AppKey 获取: 用户登录咕咕数据开发者中心后,在 `APP KEY 管理` 页面复制对应产品的 AppKey。
- AppKey 替换: 示例中的 `YOUR_APPKEY`、`APPKEY`、`{{YOUR_APPKEY}}`、`{{appkey}}`、`{{appKey}}` 都应替换为用户自己的 AppKey。
- AppKey 传递: 推荐使用 `X-GUGUDATA-APPKEY` 或 `X-API-Key` 请求头;OpenAI 兼容客户端可使用 `Authorization: Bearer <AppKey>`;历史 query 参数 `appkey` 继续有效。
- 开通与续费: 未开通时引导用户访问购买开通页;已开通或需要续费时,引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果,响应体内的业务状态码代表接口业务结果,代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中,由服务端统一发起请求,不要写入网页、App 客户端或公开仓库。
关键链接:
- 接口详情页: https://www.gugudata.com/api/details/vehicle-catalog
- LLM Markdown: https://www.gugudata.com/api/details/vehicle-catalog/llm.md
- 数据预览: https://www.gugudata.com/preview/vehicle-catalog
- 购买开通页: https://www.gugudata.com/order/vehicle-catalog
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders
## API 功能
- 提供汽车品牌列表,支持按品牌名称或拼音首字母关键词查找,便于搭建选车入口;
- 按品牌获取所属车系列表,并可进一步限定子品牌,适合实现品牌到车系的逐级选择;
- 支持查询单个车系详情,返回车系名称、所属品牌及子品牌等资料,便于展示车系信息卡片;
- 车型列表可按品牌、子品牌或车系限定范围,方便为指定车系整理具体车型与年款目录;
- 车系和车型支持关键词模糊查询,可根据名称检索目标车辆,适合接入汽车搜索页面;
- 支持按指定年款或年款区间筛选车型,便于查找某一年度版本或比较不同年款的车型目录;
- 车系与车型列表支持销售状态筛选,可按在售、停售、未上市或即将上市整理相关车辆;
- 车系查询支持按车型级别筛选,例如中型 SUV、中型车和紧凑型车,便于构建分类选车功能;
- 车系支持官方与经销商价格区间筛选,车型支持官方价格区间筛选,方便按购车预算缩小选择范围;
- 品牌、车系和车型列表支持分页,单页最多返回 100 条,并提供总匹配数量,便于分页展示目录;
- 结果提供品牌、子品牌、车系和车型的关联标识,便于将分步查询结果连接为完整的车辆选择路径;
- 未知的车型级别、年款或销售状态保留为空值,便于识别尚未提供的信息,避免当作已确认资料展示;
- 默认最大 QPS:5,可在开发者中心自助升级,年付订单接口调用次数不限。
- [接口调用状态与状态监控](https://www.gugudata.com/status)
## API 文档
- 接口地址: `https://api.gugudata.com/v1/vehicleBrands`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `GET`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/v1/vehicleBrands?appkey=YOUR_APPKEY&keyword=%e7%89%b9%e6%96%af%e6%8b%89&pageIndex=1&pageSize=50`
- 接口测试: https://api.gugudata.com/v1/vehicleBrands/demo?pageIndex=1&pageSize=10
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json
## 鉴权方式
接口支持以下 AppKey 传递方式,任选一种即可;已有请求示例、Postman 集合和历史代码仍可继续使用原来的 `appkey` 参数方式。
| 传输载体 | 参数 | 示例 | 说明 |
| --- | --- | --- | --- |
| HTTP Header | `X-GUGUDATA-APPKEY` | `X-GUGUDATA-APPKEY: YOUR_APPKEY` | 推荐方式,适合服务端接入和统一封装。 |
| HTTP Header | `X-API-Key` | `X-API-Key: YOUR_APPKEY` | 通用 API Key Header,便于和常见 API 客户端集成。 |
| HTTP Header | `Authorization` | `Authorization: Bearer YOUR_APPKEY` | 适合 OpenAI 兼容接口或 Bearer Token 风格客户端。 |
| Query 参数 | `appkey` | `?appkey=YOUR_APPKEY` | 兼容现有示例、Postman 集合、浏览器调试和历史代码。 |
> 部分历史 POST 接口仍兼容表单或 JSON body 中的 `appkey`;新接入建议优先使用 Header 或 Query 参数。
## 请求参数
| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| appkey | string | 是 | 无 | 支持 Query、现有 Header 或 Bearer;多处凭据须一致,不可重复。 |
| keyword | string | 否 | 特斯拉 | 品牌关键词,支持品牌名称或拼音首字母模糊查询 |
| pageIndex | integer | 否 | 1 | 默认 1,非正值归一化为 1。 |
| pageSize | integer | 否 | 50 | 默认 50,非正值归一化为 50,最大 100。 |
## 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 本次实际业务请求参数,不包含鉴权凭据;Demo 展示对应样例输入。 |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口数据返回时间 |
| DataStatus.DataTotalCount | integer | 当前品牌查询条件下的总数量 |
| Data.Items | array | 品牌列表 |
| Data.Items[].BrandId | string | 品牌公开唯一 ID,可用于查询车系和车型 |
| Data.Items[].BrandName | string | 品牌名称 |
| Data.PageIndex | integer | 当前页码 |
| Data.PageSize | integer | 当前每页返回数量 |
| Data.TotalSize | integer | 当前品牌查询条件下的总数量 |
| DataStatus.Status | string | 既有公共鉴权或限流错误标识;成功响应不含此字段。 |
## 相关接口
### 获取品牌下车系列表
- 请求方式: `GET`
- 资源路径: `/v1/vehicleSeries`
- 接口地址: `https://api.gugudata.com/v1/vehicleSeries`
- 描述: 根据品牌查询车系列表,可按子品牌、车型级别、销售状态和价格区间筛选;公开样例为 2026-09-30 固定快照,数量仅代表样例。
#### 请求参数
| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | 支持 Query、现有 Header 或 Bearer;多处凭据须一致,不可重复。 |
| brand_id | string | 是 | 品牌公开唯一 ID,由品牌列表接口返回 |
| keyword | string | 否 | 关键词,支持按品牌、子品牌、车系名称或车型级别模糊查询 |
| sub_brand_id | string | 否 | 子品牌公开唯一 ID,可用于限定子品牌 |
| car_type | string | 否 | 车型级别,例如 中型SUV、中型车、紧凑型车 |
| sale_status | string | 否 | 销售状态,支持 在售、停售、未上市、即将上市 |
| official_price_min | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| official_price_max | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| dealer_price_min | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| dealer_price_max | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| pageIndex | integer | 否 | 默认 1,非正值归一化为 1。 |
| pageSize | integer | 否 | 默认 50,非正值归一化为 50,最大 100。 |
#### 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| Items | array | 车系列表 |
| Items[].SeriesId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].BrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].BrandName | string | 品牌名称 |
| Items[].SubBrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].SubBrandName | string | 子品牌名称 |
| Items[].SeriesName | string | 车系名称 |
| Items[].CarType | string\|null | 可靠来源值;未知或缺失时为 null。 |
| Items[].SaleStatus | string\|null | 可靠来源值;未知或缺失时为 null。 |
| PageIndex | integer | 当前页码 |
| PageSize | integer | 当前每页返回数量 |
| TotalSize | integer | 当前查询条件下的总车系数量 |
#### 响应示例
```json
{
"Items": [
{
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"SubBrandName": "特斯拉(进口)",
"SeriesName": "Model S",
"CarType": null,
"SaleStatus": "在售"
},
{
"SeriesId": "9bbee8dde6906f8249cb0b94675101e1",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"SubBrandName": "特斯拉(进口)",
"SeriesName": "Model X",
"CarType": "中大型SUV",
"SaleStatus": "在售"
},
{
"SeriesId": "7878beaf6ebad22fca1f217f21127b77",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "9fa1278295e38a3e13a8f1e47c98be4d",
"SubBrandName": "特斯拉中国",
"SeriesName": "Model 3",
"CarType": "中型车",
"SaleStatus": "在售"
},
{
"SeriesId": "caffd0011d1aeb49feb1d2543fba3bad",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "9fa1278295e38a3e13a8f1e47c98be4d",
"SubBrandName": "特斯拉中国",
"SeriesName": "Model Y",
"CarType": "中型SUV",
"SaleStatus": "在售"
},
{
"SeriesId": "5f13853e250ccf150ec19cfa4fa567df",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "9fa1278295e38a3e13a8f1e47c98be4d",
"SubBrandName": "特斯拉中国",
"SeriesName": "Model Y L",
"CarType": "中大型SUV",
"SaleStatus": "在售"
}
],
"PageIndex": 1,
"PageSize": 50,
"TotalSize": 5
}
```
### 获取车系详情
- 请求方式: `GET`
- 资源路径: `/v1/vehicleSeries/{seriesId}`
- 接口地址: `https://api.gugudata.com/v1/vehicleSeries/{seriesId}`
- 描述: 根据车系公开唯一 ID 获取单个车系详情;公开样例为 2026-09-30 固定快照,数量仅代表样例。
#### 请求参数
| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| seriesId | string | 是 | 车系公开唯一 ID,路径参数 |
| appkey | string | 是 | 支持 Query、现有 Header 或 Bearer;多处凭据须一致,不可重复。 |
#### 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| SeriesId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| BrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| BrandName | string | 品牌名称 |
| SubBrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| SubBrandName | string | 子品牌名称 |
| SeriesName | string | 车系名称 |
| CarType | string\|null | 可靠来源值;未知或缺失时为 null。 |
| SaleStatus | string\|null | 可靠来源值;未知或缺失时为 null。 |
#### 响应示例
```json
{
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"BrandName": "特斯拉",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"SubBrandName": "特斯拉(进口)",
"SeriesName": "Model S",
"CarType": null,
"SaleStatus": "在售"
}
```
### 获取车型列表
- 请求方式: `GET`
- 资源路径: `/v1/vehicleTrims`
- 接口地址: `https://api.gugudata.com/v1/vehicleTrims`
- 描述: 查询车型列表,可按品牌、子品牌、车系、年款、销售状态和价格区间筛选;公开样例为 2026-09-30 固定快照,数量仅代表样例。
#### 请求参数
| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | 支持 Query、现有 Header 或 Bearer;多处凭据须一致,不可重复。 |
| series_id | string | 否 | 车系公开唯一 ID,可用于限定车系 |
| keyword | string | 否 | 关键词,支持按品牌、子品牌、车系、车型或车名模糊查询 |
| brand_id | string | 否 | 品牌公开唯一 ID,可用于限定品牌 |
| sub_brand_id | string | 否 | 子品牌公开唯一 ID,可用于限定子品牌 |
| year | integer | 否 | 年款范围 1800–2200;下限不得大于上限。 |
| year_min | integer | 否 | 年款范围 1800–2200;下限不得大于上限。 |
| year_max | integer | 否 | 年款范围 1800–2200;下限不得大于上限。 |
| sale_status | string | 否 | 销售状态,支持 在售、停售、未上市、即将上市 |
| official_price_min | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| official_price_max | number | 否 | 有限非负价格,单位万元;下限不得大于上限。 |
| pageIndex | integer | 否 | 默认 1,非正值归一化为 1。 |
| pageSize | integer | 否 | 默认 50,非正值归一化为 50,最大 100。 |
#### 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| Items | array | 车型列表 |
| Items[].TrimId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].SeriesId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].SeriesName | string | 车系名称 |
| Items[].BrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].SubBrandId | string | 稳定的公开关联 ID;可用于相应目录查询。 |
| Items[].TrimName | string | 车型名称 |
| Items[].Year | integer\|null | 可靠来源值;未知或缺失时为 null。 |
| Items[].SaleStatus | string\|null | 可靠来源值;未知或缺失时为 null。 |
| PageIndex | integer | 当前页码 |
| PageSize | integer | 当前每页返回数量 |
| TotalSize | integer | 当前查询条件下的总车型数量 |
#### 响应示例
```json
{
"Items": [
{
"TrimId": "6f0dbceb27fb7247b2a04f9106ab7528",
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"SeriesName": "Model S",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"TrimName": "60",
"Year": 2016,
"SaleStatus": null
},
{
"TrimId": "982c700ea37d6af887af9f818bde1a30",
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"SeriesName": "Model S",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"TrimName": "60D",
"Year": 2016,
"SaleStatus": null
},
{
"TrimId": "3d54544753857c86fb9d069acd5f9def",
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"SeriesName": "Model S",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"TrimName": "75",
"Year": 2016,
"SaleStatus": null
},
{
"TrimId": "25830414dabf4d06862eaf6b4dbfa4b7",
"SeriesId": "24ac6c254bbcbd14bc7f9fbfb35dc97a",
"SeriesName": "Model S",
"BrandId": "50c1b22205770a1ecc9e111416cc7d3e",
"SubBrandId": "c0da58f854ec0dabdb5e99a1d31aa306",
"TrimName": "75D",
"Year": 2016,
"SaleStatus": null
}
],
"PageIndex": 1,
"PageSize": 4,
"TotalSize": 39
}
```
## 接口常见 HTTP 响应状态码
> 以下为接口调用中常见的 HTTP 传输层状态码,不等同于响应体内的业务状态码;完整状态码注册表以 IANA HTTP Status Code Registry 为准。
| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理;业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功,并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理,结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空,适用于无需返回数据的操作。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证(如 AppKey)。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成,可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突,调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度,建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确,但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速,单 IP 最多 5 QPS,可满足常规业务调用。超出限制时接口会返回 429 请求频率受限;已购买接口订单可加购 10 QPS 扩展。 |
| 431 | 请求头过大 | 请求头字段过大或过多,建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常,请稍后重试。 |
| 502 | 服务暂时不可用 | 请稍后重试。 |
| 503 | 服务暂时不可用 | 请稍后重试。 |
| 504 | 请求超时 | 请稍后重试。 |
## 接口自定义业务状态码
| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 100 | 请求成功 | HTTP 200;无匹配列表为空 |
| 501 | 参数错误 | HTTP 200;参数格式、重复、冲突或车系不存在 |
| 502 | 请求频率受限 | HTTP 429 |
| 503 | 订单已过期 | HTTP 403 |
| 504 | APPKEY 错误 | HTTP 401;缺失、无效或无权限 |
| 505 | 调用包额度不足 | HTTP 403 |
| 900 | 数据服务暂不可用 | HTTP 500;依赖失败或超时 |
## cURL 请求示例
```bash
curl --location --request GET 'https://api.gugudata.com/v1/vehicleBrands?appkey=YOUR_APPKEY&keyword=%e7%89%b9%e6%96%af%e6%8b%89&pageIndex=1&pageSize=50'
```
## 常见问题 Q&A
### Q: 如何完成第一次 API 调用?
A: 先确认当前接口的请求方法、必填参数和成功状态,再使用对应产品的 AppKey 发起请求;以实际响应中的业务状态判断结果。 [查看接入指南](https://www.gugudata.com/developers/getting-started)
### Q: 如何保证请求时 AppKey 的安全性?
A: 在开发者中心的 APP KEY 管理页面复制对应产品的 AppKey,并保存在服务端环境变量或密钥管理服务中。不要写入网页、App 客户端、公开仓库或日志。
### Q: 接口可以用于哪些开发语言?
A: Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等支持 HTTP 请求的语言均可接入;也可以通过 OpenAPI、Postman 或 Apifox 查看和调试接口。
### Q: 请求失败或超时后可以重试吗?
A: 先区分 HTTP 状态与业务错误。参数、鉴权和权限错误应修正后再请求;超时并不表示服务端未执行,重试前需确认接口是否会重复计费或产生副作用。 [查看接入指南](https://www.gugudata.com/developers/errors-and-retries)
### Q: 接口的性能可以保证吗?
A: 实际响应时间受接口类型、参数和网络环境影响。请按当前套餐的 QPS 控制并发,生产接入前完成联调与容量评估。
### Q: 数据多久更新?
A: 不同接口按各自的数据周期更新,请以当前详情页的更新时间、更新频率及字段说明为准;不要将一次请求时间视为数据更新时间。
## 服务协议以及服务免责声明
- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)
## 技术支持
- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7