선수기록(전체,홈,어웨이)-대회합산 (Player Season Total Stats)
GET
/api/HAPlayerRecord.do
특정 대회 시즌 동안 선수의 전체/홈/어웨이 경기 기술 통계(출전, 골/도움, 슈팅, 파울, 카드 등) 및 시간대별(전/후반, 연장) 누적 기록을 집계하여 제공합니다.
요청 파라미터 (Request Parameters)
| 파라미터명 | 타입(Size) | 필수여부 | 설명 |
|---|---|---|---|
| authKey | varchar |
Y | API 인증키 (Header 전송 권장) |
| meet_year | varchar(4) |
Y | 대회년도 (예: 2026) |
| meet_seq | varchar(2) |
Y | 대회순번 (예: 1) |
| home_type | varchar(1) |
Y | 홈/어웨이 구분 ('0': 전체, '1': 홈, '2': 어웨이) |
| excludingPO | varchar(1) |
N | K리그2 PlayOff 기록 제외 여부 ('Y': 제외, 'N': 포함 - 기본값) |
응답 필드 상세 명세 (Response Field Details)
| 필드명 | 데이터 타입 | 설명 및 비고 |
|---|---|---|
| [Common] 공통 응답 필드 (JSON Header) | ||
| meet_year | varchar(4) | 요청한 대회년도 |
| meet_seq | varchar(2) | 요청한 대회순번 |
| apiName | varchar(30) | 호출된 API 명칭 (HAPlayerRecord) |
| resultCode | varchar(3) |
결과 코드 (00: 성공, 그 외 에러는 API 개요 참조) |
| resultMsg | varchar(100) | 결과 메시지 ("success") |
| [Section 1] 대회 및 선수 마스터 정보 | ||
| MEET_YEAR / MEET_SEQ | varchar(4) / numeric(2,0) | 대회년도 / 대회순번 |
| HOME_TYPE | varchar(1) | 홈/어웨이 조회 구분 ('0': 전체, '1': 홈, '2': 어웨이) |
| TEAM_ID / TEAM_NAME | varchar(3) / varchar(15) | 구단 코드 / 구단명 (약칭) |
| PLAYER_ID / PLAYER_NAME | varchar(8) / varchar(20) | 선수 코드 / 선수 성명 |
| WORK_QTY | int | 출전 경기 수 |
| [Section 2] 시즌 전체 누적 기술 통계 (Season Total) | ||
| AS_QTY / PK_QTY | int | 총 도움 수 / 총 PK 득점 수 |
| ST_QTY / VALID_ST_QTY | int | 총 슈팅 수 / 총 유효슈팅 수 |
| CK_QTY / GK_QTY | int | 총 코너킥 수 / 총 골킥 시도 수 |
| FO_QTY / OS_QTY | int | 총 파울 수 / 총 오프사이드 수 |
| WARN_QTY / EXIT_QTY | int | 총 경고 수 / 총 퇴장 수 |
| [Section 3] 전반전 누적 기록 (Prefix: B_) | ||
| B_AS_QTY / B_PK_QTY | int | 전반전 도움 수 / 전반전 PK 득점 수 |
| B_ST_QTY / B_VALID_ST_QTY | int | 전반전 슈팅 수 / 전반전 유효슈팅 수 |
| B_CK_QTY / B_GK_QTY | int | 전반전 코너킥 수 / 전반전 골킥 시도 수 |
| B_FO_QTY / B_OS_QTY / B_WARN_QTY / B_EXIT_QTY | int | 전반전 파울 수 / 오프사이드 / 경고 / 퇴장 수 |
| [Section 4] 후반전 누적 기록 (Prefix: A_) | ||
| A_AS_QTY / A_PK_QTY | int | 후반전 도움 수 / 후반전 PK 득점 수 |
| A_ST_QTY / A_VALID_ST_QTY | int | 후반전 슈팅 수 / 후반전 유효슈팅 수 |
| A_CK_QTY / A_GK_QTY | int | 후반전 코너킥 수 / 후반전 골킥 시도 수 |
| A_FO_QTY / A_OS_QTY / A_WARN_QTY / A_EXIT_QTY | int | 후반전 파울 수 / 오프사이드 / 경고 / 퇴장 수 |
| [Section 5] 연장 전/후반 누적 기록 (Prefix: EB_ / EA_) | ||
| EB_AS_QTY / EB_PK_QTY / EB_ST_QTY / EB_VALID_ST_QTY / EB_CK_QTY / EB_GK_QTY / EB_FO_QTY / EB_OS_QTY / EB_WARN_QTY / EB_EXIT_QTY | int | 연장 전반 항목별 누적 통계 데이터 |
| EA_AS_QTY / EA_PK_QTY / EA_ST_QTY / EA_VALID_ST_QTY / EA_CK_QTY / EA_GK_QTY / EA_FO_QTY / EA_OS_QTY / EA_WARN_QTY / EA_EXIT_QTY | int | 연장 후반 항목별 누적 통계 데이터 |
JSON 응답 샘플 (Player Record)
{
"response": {
"meet_year": "2026",
"apiName": "HAPlayerRecord",
"resultCode": "00",
"meet_seq": "1",
"list": [
{
"MEET_YEAR": "2026",
"MEET_SEQ": 1,
"HOME_TYPE": "0",
"TEAM_ID": "K18",
"TEAM_NAME": "인천",
"PLAYER_ID": "20040081",
"PLAYER_NAME": "이청용",
"WORK_QTY": 21,
"GK_QTY": 0,
"CK_QTY": 8,
"FO_QTY": 10,
"OS_QTY": 0,
"ST_QTY": 10,
"VALID_ST_QTY": 5,
"B_GK_QTY": 0,
"B_CK_QTY": 2,
"B_FO_QTY": 6,
"B_OS_QTY": 0,
"B_ST_QTY": 4,
"B_VALID_ST_QTY": 3,
"A_GK_QTY": 0,
"A_CK_QTY": 6,
"A_FO_QTY": 4,
"A_OS_QTY": 0,
"A_ST_QTY": 6,
"A_VALID_ST_QTY": 2,
"EB_GK_QTY": 0,
"EB_CK_QTY": 0,
"EB_FO_QTY": 0,
"EB_OS_QTY": 0,
"EB_ST_QTY": 0,
"EB_VALID_ST_QTY": 0,
"EA_GK_QTY": 0,
"EA_CK_QTY": 0,
"EA_FO_QTY": 0,
"EA_OS_QTY": 0,
"EA_ST_QTY": 0,
"EA_VALID_ST_QTY": 0,
"WARN_QTY": 3,
"EXIT_QTY": 0,
"B_WARN_QTY": 2,
"B_EXIT_QTY": 0,
"A_WARN_QTY": 1,
"A_EXIT_QTY": 0,
"EB_WARN_QTY": 0,
"EB_EXIT_QTY": 0,
"EA_WARN_QTY": 0,
"EA_EXIT_QTY": 0,
"AS_QTY": 2,
"PK_QTY": 1,
"B_AS_QTY": 1,
"B_PK_QTY": 0,
"A_AS_QTY": 1,
"A_PK_QTY": 1,
"EB_AS_QTY": 0,
"EB_PK_QTY": 0,
"EA_AS_QTY": 0,
"EA_PK_QTY": 0
}
],
"resultMsg": "success"
}
}
호출 샘플 소스 (Sample Code)
Auth: Header or QueryString
인증 로드맵: 현재
authKey 기반 인증을 지원하며, 2027년부터 표준 Bearer Token 인증 체계로 통합 확장될 예정입니다.
OkHttpClient client = new OkHttpClient();
// [방법 1] Query String 방식
String url1 = "https://api.kleague.com/api/HAPlayerRecord.do?authKey=YOUR_API_KEY&meet_year=2026&meet_seq=1&home_type=0&excludingPO=N";
Request request1 = new Request.Builder().url(url1).get().build();
// [방법 2] Header 방식 (현재 권장)
String url2 = "https://api.kleague.com/api/HAPlayerRecord.do?meet_year=2026&meet_seq=1&home_type=0&excludingPO=N";
Request request2 = new Request.Builder()
.url(url2)
.addHeader("authKey", "YOUR_API_KEY")
.build();
// [방법 3] Bearer Token 방식 (2027년 지원 예정)
Request request3 = new Request.Builder()
.url(url2)
.addHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN")
.build();
import requests
url = "https://api.kleague.com/api/HAPlayerRecord.do"
params = {
"meet_year": "2026",
"meet_seq": "1",
"home_type": "0",
"excludingPO": "N"
}
# [방법 1] Query String 방식
response1 = requests.get(url, params={**params, "authKey": "YOUR_API_KEY"})
# [방법 2] Header 인증 방식 (현재 추천)
headers2 = { "authKey": "YOUR_API_KEY" }
response2 = requests.get(url, headers=headers2, params=params)
# [방법 3] Bearer Token 방식 (2027년 도입 예정)
# headers3 = { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }
# response3 = requests.get(url, headers=headers3, params=params)
const url = 'https://api.kleague.com/api/HAPlayerRecord.do';
const params = { meet_year: '2026', meet_seq: '1', home_type: '0', excludingPO: 'N' };
// [방법 1] Query String 방식
axios.get(url, { params: { ...params, authKey: 'YOUR_API_KEY' } });
// [방법 2] Header 방식 (현재 권장)
axios.get(url, {
params: params,
headers: { 'authKey': 'YOUR_API_KEY' }
});
// [방법 3] Bearer 방식 (2027년 로드맵 대비)
// axios.get(url, { params: params, headers: { 'Authorization': 'Bearer YOUR_TOKEN' } });