# 차종별 차량정보 조회



브랜드·차명·연식·등급으로 해당 차종의 제원·사양·등급 정보를 조회합니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/vehicle_model_info 응답 필드

- `data` (object): 조회 데이터

- `data.차종` (object): 찾은 차종 {제조사, 그룹, 차명}. 그룹은 모회사가 따로 있는 브랜드만(예: 렉서스 → 도요타)

- `data.차종.제조사` (string): 아래 하위 항목을 확인하세요.

- `data.차종.그룹` (undefined): 아래 하위 항목을 확인하세요. null 허용.

- `data.차종.차명` (string): 아래 하위 항목을 확인하세요.

- `data.제원` (object): 제조사·차명·연식·등급과 값이 있는 제원 항목. 값이 없는 항목은 싣지 않습니다. 값은 표준 표기로만 내려갑니다(연료: 가솔린·디젤·LPG·전기·수소·하이브리드, 차체형상: 세단·SUV·MPV 등, 구동방식: 전륜·후륜·2WD·AWD, 변속기: 자동 8단·DCT 7단·CVT, 에너지효율등급: 1~5등급). 여러 값은 + 로 잇습니다(예: 가솔린+디젤, 후륜+AWD). 배기량, 연료, 차체형상, 변속기, 변속기단수, 엔진형식, 구동방식, 최고출력, 최대토크, 승차정원, 전장, 전폭, 전고, 축거, 공차중량, 복합연비, 도심연비, 고속도로연비, 에너지효율등급, 이산화탄소배출량, 연간유류비, 전기주행거리, 배터리용량, 배터리종류, 충전시간, 완속충전시간, 급속충전시간, 최고속도, 가속시간, 휠크기, 전륜타이어, 후륜타이어, 전륜타이어규격, 후륜타이어규격, 전륜서스펜션, 후륜서스펜션, 전륜브레이크, 후륜브레이크, 연료탱크용량, 배터리규격, 운전석와이퍼, 조수석와이퍼, 엔진오일용량, 엔진오일점도, 보증기간, 보증거리, 정비주기, 판매가격

- `data.제원.제조사` (string): 아래 하위 항목을 확인하세요.

- `data.제원.차명` (string): 아래 하위 항목을 확인하세요.

- `data.제원.연식` (integer): 아래 하위 항목을 확인하세요.

- `data.제원.등급` (string): 아래 하위 항목을 확인하세요.

- `data.제원.배기량` (integer): 아래 하위 항목을 확인하세요.

- `data.제원.연료` (string): 아래 하위 항목을 확인하세요.

- `data.제원.복합연비` (integer): 아래 하위 항목을 확인하세요.

- `data.제원.전장` (integer): 아래 하위 항목을 확인하세요.

- `data.제원.전륜타이어` (string): 아래 하위 항목을 확인하세요.

- `data.제원.등급후보` (array): 등급을 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없습니다.

- `data.제원.등급후보[].연식` (integer): 아래 하위 항목을 확인하세요.

- `data.제원.등급후보[].등급` (string): 아래 하위 항목을 확인하세요.

- `data.제원.제원기준일` (string): 제원을 마지막으로 갱신한 시각

- `data.제원.사양` (object): 등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없습니다.

- `data.success` (integer): 과금 여부0: 실패 또는 무료 응답1: 성공

- `data.안내` (string): 추천을 함께 돌려줄 때, 또는 입력한 등급과 같은 등급의 제원이 없어 기본 제원으로 답할 때의 설명 문구. 정확히 일치했으면 항목이 없습니다.

- `data.추천` (object): 차명·등급 표기가 정확히 일치하지 않을 때의 추천입니다. {입력: {제조사, 차명, 연식, 등급}, 자동선택: Boolean, 대안: Array}. 자동선택이 true면 그 차종의 제원을 함께 돌려주었고, false면 제원 없이 대안만 알려줍니다(무료). 대안은 유사도가 높은 순서의 [{제조사, 차명, 유사도, 제원있음, 연식, 등급}] 입니다. 유사도는 0~1 이고 제원있음이 false면 그 차종의 제원이 아직 없는 것입니다. 정확히 일치했으면 항목이 없습니다.

- `data.추천.입력` (object): 아래 하위 항목을 확인하세요.

- `data.추천.입력.제조사` (string): 아래 하위 항목을 확인하세요.

- `data.추천.입력.차명` (string): 아래 하위 항목을 확인하세요.

- `data.추천.입력.연식` (integer): 아래 하위 항목을 확인하세요.

- `data.추천.입력.등급` (undefined): 아래 하위 항목을 확인하세요. null 허용.

- `data.추천.자동선택` (boolean): 아래 하위 항목을 확인하세요.

- `data.추천.대안` (array): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].제조사` (string): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].차명` (string): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].유사도` (number): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].제원있음` (boolean): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].연식` (array): 아래 하위 항목을 확인하세요.

- `data.추천.대안[].등급` (array): 아래 하위 항목을 확인하세요.

- `api` (object): 아래 하위 항목을 확인하세요.

- `api.success` (boolean): 아래 하위 항목을 확인하세요.

- `api.cost` (integer): 아래 하위 항목을 확인하세요.

- `api.ms` (integer): 아래 하위 항목을 확인하세요.

- `api.pl_id` (integer): 아래 하위 항목을 확인하세요.

## API 요청: POST /rest/vehicle_model_info



### 입력

- `maker` (string, 선택): 브랜드. 예: 현대, 기아, BMW, 렉서스

- `model` (string, 선택): 차명. 예: 아반떼, 더 뉴 K5, 520i. 비우면 차종 목록

- `modelYear` (string, 선택): 연식(4자리). 예: 2024

- `trim` (string, 선택): 등급·트림. 예: 프레스티지



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "차종": {
          "type": "object",
          "properties": {
            "제조사": {
              "type": "string"
            },
            "그룹": {
              "nullable": true
            },
            "차명": {
              "type": "string"
            }
          },
          "description": "찾은 차종 {제조사, 그룹, 차명}. 그룹은 모회사가 따로 있는 브랜드만(예: 렉서스 → 도요타)"
        },
        "제원": {
          "type": "object",
          "properties": {
            "제조사": {
              "type": "string"
            },
            "차명": {
              "type": "string"
            },
            "연식": {
              "type": "integer"
            },
            "등급": {
              "type": "string"
            },
            "배기량": {
              "type": "integer"
            },
            "연료": {
              "type": "string"
            },
            "복합연비": {
              "type": "integer"
            },
            "전장": {
              "type": "integer"
            },
            "전륜타이어": {
              "type": "string"
            },
            "등급후보": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "연식": {
                    "type": "integer"
                  },
                  "등급": {
                    "type": "string"
                  }
                }
              },
              "description": "등급을 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없습니다."
            },
            "제원기준일": {
              "type": "string",
              "description": "제원을 마지막으로 갱신한 시각"
            },
            "사양": {
              "type": "object",
              "description": "등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없습니다."
            }
          },
          "description": "제조사·차명·연식·등급과 값이 있는 제원 항목. 값이 없는 항목은 싣지 않습니다. 값은 표준 표기로만 내려갑니다(연료: 가솔린·디젤·LPG·전기·수소·하이브리드, 차체형상: 세단·SUV·MPV 등, 구동방식: 전륜·후륜·2WD·AWD, 변속기: 자동 8단·DCT 7단·CVT, 에너지효율등급: 1~5등급). 여러 값은 + 로 잇습니다(예: 가솔린+디젤, 후륜+AWD). 배기량, 연료, 차체형상, 변속기, 변속기단수, 엔진형식, 구동방식, 최고출력, 최대토크, 승차정원, 전장, 전폭, 전고, 축거, 공차중량, 복합연비, 도심연비, 고속도로연비, 에너지효율등급, 이산화탄소배출량, 연간유류비, 전기주행거리, 배터리용량, 배터리종류, 충전시간, 완속충전시간, 급속충전시간, 최고속도, 가속시간, 휠크기, 전륜타이어, 후륜타이어, 전륜타이어규격, 후륜타이어규격, 전륜서스펜션, 후륜서스펜션, 전륜브레이크, 후륜브레이크, 연료탱크용량, 배터리규격, 운전석와이퍼, 조수석와이퍼, 엔진오일용량, 엔진오일점도, 보증기간, 보증거리, 정비주기, 판매가격"
        },
        "success": {
          "type": "integer",
          "description": "과금 여부0: 실패 또는 무료 응답1: 성공"
        },
        "안내": {
          "type": "string",
          "description": "추천을 함께 돌려줄 때, 또는 입력한 등급과 같은 등급의 제원이 없어 기본 제원으로 답할 때의 설명 문구. 정확히 일치했으면 항목이 없습니다."
        },
        "추천": {
          "type": "object",
          "properties": {
            "입력": {
              "type": "object",
              "properties": {
                "제조사": {
                  "type": "string"
                },
                "차명": {
                  "type": "string"
                },
                "연식": {
                  "type": "integer"
                },
                "등급": {
                  "nullable": true
                }
              }
            },
            "자동선택": {
              "type": "boolean"
            },
            "대안": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "제조사": {
                    "type": "string"
                  },
                  "차명": {
                    "type": "string"
                  },
                  "유사도": {
                    "type": "number"
                  },
                  "제원있음": {
                    "type": "boolean"
                  },
                  "연식": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "등급": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "description": "차명·등급 표기가 정확히 일치하지 않을 때의 추천입니다. {입력: {제조사, 차명, 연식, 등급}, 자동선택: Boolean, 대안: Array}. 자동선택이 true면 그 차종의 제원을 함께 돌려주었고, false면 제원 없이 대안만 알려줍니다(무료). 대안은 유사도가 높은 순서의 [{제조사, 차명, 유사도, 제원있음, 연식, 등급}] 입니다. 유사도는 0~1 이고 제원있음이 false면 그 차종의 제원이 아직 없는 것입니다. 정확히 일치했으면 항목이 없습니다."
        }
      },
      "description": "조회 데이터"
    },
    "api": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "cost": {
          "type": "integer"
        },
        "ms": {
          "type": "integer"
        },
        "pl_id": {
          "type": "integer"
        }
      }
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "차종": {
      "제조사": "기아",
      "그룹": null,
      "차명": "K5"
    },
    "제원": {
      "제조사": "기아",
      "차명": "K5",
      "연식": 2023,
      "등급": "프레스티지",
      "배기량": 1999,
      "연료": "가솔린",
      "복합연비": 13,
      "전장": 4905,
      "전륜타이어": "235/45R18",
      "등급후보": [
        {
          "연식": 2023,
          "등급": "프레스티지"
        },
        {
          "연식": 2023,
          "등급": "노블레스"
        }
      ],
      "제원기준일": "2026-10-16T04:00:00.000Z"
    },
    "success": 1
  },
  "api": {
    "success": true,
    "cost": 20,
    "ms": 42,
    "pl_id": 8417706
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "차종": {
      "제조사": "기아",
      "그룹": null,
      "차명": "K5"
    },
    "제원": {
      "제조사": "기아",
      "차명": "K5",
      "연식": 2023,
      "등급": "프레스티지",
      "배기량": 1999
    },
    "안내": "입력한 차명·등급과 정확히 일치하는 항목이 없어 가장 비슷한 차종으로 찾았습니다. 추천 항목에서 확인하세요.",
    "추천": {
      "입력": {
        "제조사": "기아",
        "차명": "K5 2.0",
        "연식": 2023,
        "등급": null
      },
      "자동선택": true,
      "대안": [
        {
          "제조사": "기아",
          "차명": "K5",
          "유사도": 0.935,
          "제원있음": true,
          "연식": [
            2023,
            2021
          ],
          "등급": [
            "노블레스",
            "프레스티지"
          ]
        }
      ]
    },
    "success": 1
  },
  "api": {
    "success": true,
    "cost": 20,
    "ms": 38,
    "pl_id": 8417707
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/vehicle_model_info' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'maker=기아' \
  --form-string 'model=더 뉴 K5' \
  --form-string 'modelYear=2023'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("maker", "기아");
form.append("model", "더 뉴 K5");
form.append("modelYear", "2023");
const response = await fetch("https://apick.app/rest/vehicle_model_info", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("maker", (None, "기아")),
    ("model", (None, "더 뉴 K5")),
    ("modelYear", (None, "2023")),
]
response = requests.request("POST", "https://apick.app/rest/vehicle_model_info",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'maker' => '기아',
    'model' => '더 뉴 K5',
    'modelYear' => '2023',
];
$curl = curl_init('https://apick.app/rest/vehicle_model_info');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 코드·오류

## 상세 기능·요금

제원 응답 한 건당 20P가 차감됩니다. 차종 목록(무료), 찾지 못한 경우, 후보만 안내하는 경우에는 과금하지 않습니다. Method URL POST https://apick.app/rest/vehicle_model_info

## 상세 요청

Header 이름 필수 설명 Authorization O Bearer 인증키

## 상세 응답

Body — 차종 조회(model 입력) 이름 타입 설명 data Object 조회 데이터 차종 Object 찾은 차종 {제조사, 그룹, 차명}. 그룹은 모회사가 따로 있는 브랜드만(예: 렉서스 → 도요타) 제원 Object 제조사·차명·연식·등급과 값이 있는 제원 항목. 값이 없는 항목은 싣지 않습니다. 값은 표준 표기로만 내려갑니다(연료: 가솔린·디젤·LPG·전기·수소·하이브리드, 차체형상: 세단·SUV·MPV 등, 구동방식: 전륜·후륜·2WD·AWD, 변속기: 자동 8단·DCT 7단·CVT, 에너지효율등급: 1~5등급). 여러 값은 + 로 잇습니다(예: 가솔린+디젤, 후륜+AWD). 배기량, 연료, 차체형상, 변속기, 변속기단수, 엔진형식, 구동방식, 최고출력, 최대토크, 승차정원, 전장, 전폭, 전고, 축거, 공차중량, 복합연비, 도심연비, 고속도로연비, 에너지효율등급, 이산화탄소배출량, 연간유류비, 전기주행거리, 배터리용량, 배터리종류, 충전시간, 완속충전시간, 급속충전시간, 최고속도, 가속시간, 휠크기, 전륜타이어, 후륜타이어, 전륜타이어규격, 후륜타이어규격, 전륜서스펜션, 후륜서스펜션, 전륜브레이크, 후륜브레이크, 연료탱크용량, 배터리규격, 운전석와이퍼, 조수석와이퍼, 엔진오일용량, 엔진오일점도, 보증기간, 보증거리, 정비주기, 판매가격 제원.사양 Object 등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없습니다. 제원.등급후보 Array 등급을 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없습니다. 제원.제원기준일 String 제원을 마지막으로 갱신한 시각 추천 Object 차명·등급 표기가 정확히 일치하지 않을 때의 추천입니다. {입력: {제조사, 차명, 연식, 등급}, 자동선택: Boolean, 대안: Array}. 자동선택이 true면 그 차종의 제원을 함께 돌려주었고, false면 제원 없이 대안만 알려줍니다(무료). 대안은 유사도가 높은 순서의 [{제조사, 차명, 유사도, 제원있음, 연식, 등급}] 입니다. 유사도는 0~1 이고 제원있음이 false면 그 차종의 제원이 아직 없는 것입니다. 정확히 일치했으면 항목이 없습니다. 안내 String 추천을 함께 돌려줄 때, 또는 입력한 등급과 같은 등급의 제원이 없어 기본 제원으로 답할 때의 설명 문구. 정확히 일치했으면 항목이 없습니다. success Integer 과금 여부0: 실패 또는 무료 응답1: 성공 Body — 차종 목록(model 비움, 무료) 이름 타입 설명 제조사목록 Array maker 도 비우면 브랜드 목록 [{제조사, 그룹, 차종수}] 차종목록 Array maker 를 넣으면 그 브랜드의 차종 [{차명, 제원연식}]. 제원연식은 제원이 있는 연식입니다. 과금 경우 과금 차종 목록(model 비움) 무료 차종을 찾지 못했거나 제원이 없음 과금하지 않음 표기가 달라 후보만 안내(제원 없음) 무료 제원 응답 건당 20P

## 상세 예제

요청 예시 form-data 전체 예제 보기 응답 예시 { "data": { "차종": { "제조사": "기아", "그룹": null, "차명": "K5" }, "제원": { "제조사": "기아", "차명": "K5", "연식": 2023, "등급": "프레스티지", "배기량": 1999, "연료": "가솔린", "복합연비": 13.0, "전장": 4905, "전륜타이어": "235/45R18", "등급후보": [ { "연식": 2023, "등급": "프레스티지" }, { "연식": 2023, "등급": "노블레스" } ], "제원기준일": "2026-10-16T04:00:00.000Z" }, "success": 1 }, "api": { "success": true, "cost": 20, "ms": 42, "pl_id": 8417706 } } 응답 예시 — 차명 표기가 정확히 일치하지 않을 때 { "data": { "차종": { "제조사": "기아", "그룹": null, "차명": "K5" }, "제원": { "제조사": "기아", "차명": "K5", "연식": 2023, "등급": "프레스티지", "배기량": 1999 }, "안내": "입력한 차명·등급과 정확히 일치하는 항목이 없어 가장 비슷한 차종으로 찾았습니다. 추천 항목에서 확인하세요.", "추천": { "입력": { "제조사": "기아", "차명": "K5 2.0", "연식": 2023, "등급": null }, "자동선택": true, "대안": [ { "제조사": "기아", "차명": "K5", "유사도": 0.935, "제원있음": true, "연식": [2023, 2021], "등급": ["노블레스", "프레스티지"] } ] }, "success": 1 }, "api": { "success": true, "cost": 20, "ms": 38, "pl_id": 8417707 } }
