二手车信息查询 API(usedcar.list)

一次请求拉取当前可查的二手车车源列表:车型名称、车辆图片、行驶里程、 车辆标签(如「准新车」「0次过户」)、首付价格与注册年份。 不需要传任何查询条件,适合车源同步、行情分析与展示类场景。 接口编码 usedcar.list,仅需请求头 X-API-Key。

0.0100 元/次 GET JSON / UTF-8 免签名 二手车牌照 无车源不收费

当前收费方式:PER_CALL(按次计费,0.0100 元/次)(后台「接口管理」可随时调整)

最后更新: · 接口版本 v1

接口概述

一句话说明

usedcar.list 是拉取成批车源最省事的接口: 不需要任何查询条件,一次请求返回多条车源,字段精简到可直接入库或渲染列表页。 如需对某辆车做价格判断,请配合使用 usedcar.price(二手车价格评估)。

接口规格
请求地址https://api.xujian.tech/openapi/usedcar/list
请求方式GET(limit 放 Query String,可省略)
鉴权方式请求头 X-API-Key
接口编码usedcar.list
收费类型PER_CALL(按次计费,0.0100 元/次)
计费特殊规则 查得计费:上游不可用或一条车源都没有时返回失败且不扣费
响应格式JSON,Content-Type: application/json;charset=UTF-8
是否需要授权 否(无需授权,API Key 有效且余额充足即可调用)
最多返回50 条(可用 limit 收敛)
典型用途车源同步、行情分析、选品、展厅小程序 / H5 展示

快速开始

cURL
curl -s "https://api.xujian.tech/openapi/usedcar/list" \
  -H "X-API-Key: 你的APIKey"

单位约定

mileage(行驶里程)单位是万公里; downPayment(首付价格)单位是万元; regDate(注册年份)形如「2024年」。渲染前请注意带上单位。

请求参数

请求头(Header)
参数名类型必填说明
X-API-KeyString是开发者 API Key
业务参数(Query String,全部可选)
参数名类型必填示例说明
limitInteger否10 期望返回条数;实际返回取 limit 与系统上限(50)的较小值,留空或 ≤0 时取上限

响应参数

data 字段
字段类型说明
totalint本次返回的车源条数
listArray车源数组;字段见下表
apiCodeString接口编码 usedcar.list
apiNameString接口名称
chargeTypeString计费类型
balanceBigDecimal 调用完成后(已扣费)的账户余额(元)
costMsLong本次调用耗时(毫秒)

list[] 车源字段

字段类型示例说明
carNameString 长安启源E07 2025款 纯电 两驱 90kWh Max智驾版 车型名称(含品牌、年款与配置)
imageUrlString https://……/car.jpg 车辆图片链接,可直接用于 <img>
mileageString1.2万公里行驶里程(万公里)
regDateString2024年车辆注册年份
downPaymentString8.42万首付价格(万元)
tagsArray ["新上架","0次过户","原厂质保"] 车辆标签:新上架 / 准新车 / 0次过户 / 原厂质保 / 个人一手车 / 7天无理由退车等

响应示例

成功(code = 0)

JSON
{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 1,
    "list": [
      {
        "carName": "长安启源E07 2025款 纯电 两驱 90kWh Max智驾版",
        "imageUrl": "https://cdn.example.com/car/e07.jpg",
        "mileage": "1.2万公里",
        "regDate": "2024年",
        "downPayment": "8.42万",
        "tags": ["新上架", "0次过户", "原厂质保"]
      }
    ],
    "apiCode": "usedcar.list",
    "apiName": "二手车信息查询",
    "chargeType": "PER_CALL",
    "balance": 99.9900,
    "costMs": 380
  }
}

失败(无车源)—— 不收费

JSON
{
  "code": 500,
  "msg": "未查询到可用车源,请稍后重试;本次调用不计费",
  "data": null
}

错误码与常见失败原因

codemsg(示例)处理建议
0success调用成功
500缺少请求头 X-API-Key补充 X-API-Key
500API Key 无效 / API Key 已停用检查 Key 或重新启用
500客户不存在或已停用联系平台(可联系微信xujian_cq)
500接口不存在或已停用确认 usedcar.list 当前是否维护中
500 余额不足,请先充值。可联系微信xujian_cq 充值后重试,余额不足不扣费
500二手车服务未启用 / 二手车服务未配置(上游凭证缺失)平台侧配置问题,联系平台处理;不计费
500未查询到可用车源,请稍后重试;本次调用不计费稍后重试;不计费
500数据服务暂时不可用(请求上游超时或网络异常),本次调用不计费稍后重试;不计费

多语言代码示例

Java(Hutool)

Java
String body = HttpRequest.get("https://api.xujian.tech/openapi/usedcar/list")
        .form("limit", "20")
        .header("X-API-Key", apiKey)
        .timeout(15000)
        .execute()
        .body();

JSONObject json = JSONUtil.parseObj(body);
if (json.getInt("code") != 0) {
    System.out.println("查询失败(不收费):" + json.getStr("msg"));
    return;
}
JSONArray list = json.getJSONObject("data").getJSONArray("list");
for (int i = 0; i < list.size(); i++) {
    JSONObject car = list.getJSONObject(i);
    System.out.printf("%s | 首付 %s | 里程 %s%n",
            car.getStr("carName"), car.getStr("downPayment"), car.getStr("mileage"));
}

Python

Python
import requests


def list_used_cars(api_key: str, limit: int = 20):
    """拉取二手车车源;无车源返回空列表且不扣费"""
    resp = requests.get(
        "https://api.xujian.tech/openapi/usedcar/list",
        params={"limit": limit},
        headers={"X-API-Key": api_key},
        timeout=20,
    )
    result = resp.json()
    if result.get("code") != 0:
        print("查询失败(不收费):", result.get("msg"))
        return []
    return result["data"]["list"]


if __name__ == "__main__":
    for car in list_used_cars("你的APIKey"):
        print(car["carName"], car["downPayment"], car["mileage"], car["tags"])

JavaScript(浏览器 / Node 18+)

JavaScript
const resp = await fetch("https://api.xujian.tech/openapi/usedcar/list?limit=20", {
  headers: { "X-API-Key": API_KEY },
});

const { code, msg, data } = await resp.json();
if (code === 0) {
  data.list.forEach((car) => console.log(car.carName, car.downPayment, car.tags.join("/")));
} else {
  console.warn("查询失败(不收费):", msg);
}

常见问题(FAQ)

usedcar.list 接口怎么收费?

usedcar.list 的收费类型为 PER_CALL(按次计费),当前单价 0.0100 元/次,调用前校验余额,余额不足返回「余额不足,请先充值。可联系微信xujian_cq」且不扣费;充值可可联系微信xujian_cq。扣费金额、交易前后余额均记录于交易流水中。

可以按品牌或价格筛选吗?

当前上游按批次返回车源列表,不支持条件筛选。 如需筛选请拉取后在本地做过滤,并用 limit 控制单次返回量。

没有返回车源会扣费吗?

不会。接口采用「先预鉴权、拿到车源后再扣费」的两段式流程, 一条都没查到时返回失败且不扣费、不写扣费流水。

为什么没有返回车辆 ID?

上游的 dataId / dId / cid 属数据源内部主键, 跨批次不稳定也不可解读,因此不返回。 去重建议用「carName + regDate + mileage」组合键。

想给某辆车估价怎么办?

本接口返回的车源字段里没有估价结果;请调用 usedcar.price(二手车价格评估),提交品牌、型号、上牌时间、 行驶里程等参数即可得到价格区间。

调用需要签名或加密吗?

不需要。XAPI 的接口仅校验请求头 X-API-Key,不做签名、时间戳或加密。

扫码添加微信
联系作者 · 微信二维码

微信号:xujian_cq

接口对接、充值 / 授权、定制需求都可以直接聊