GET

/api/tkRecord.do

경기가 무승부로 종료된 후 진행된 승부차기의 순번별 키커 정보, 실축 사유, 슈팅 방향 등 상세 데이터를 제공합니다.

요청 파라미터 (Request Parameters)

파라미터명 타입(Size) 필수여부 설명
authKey varchar Y API 인증키 (Header 전송 권장)
meet_year varchar(4) Y 대회년도 (예: 2026)
meet_seq varchar(2) Y 대회순번 (예: 1)
game_id varchar(3) Y 경기번호 (예: 1)

응답 필드 상세 명세 (Response Fields)

필드명 데이터 타입 설명 및 비고
[Common] 공통 응답 필드 (JSON Header)
meet_yearvarchar(4)요청한 대회년도
meet_seqvarchar(2)요청한 대회순번
apiNamevarchar(30)호출된 API 명칭 (tkRecord)
resultCode varchar(3) 결과 코드 (00: 성공, 그 외 에러는 API 개요 참조)
resultMsgvarchar(100)결과 메시지 ("success")
[Section 1] 경기 및 구단 기본 정보
MEET_YEAR / MEET_SEQ / GAME_IDvarchar(4) / numeric(2,0) / numeric(3,0)대회년도 / 대회순번 / 경기번호
TEAM_ID / TEAM_NAMEvarchar(3) / varchar(15)구단 코드 / 구단명 (약칭)
[Section 2] 키커 정보 및 슈팅 결과
TK_SEQint승부차기 시도 순번 (1, 2, 3...)
PLAYER_ID / PLAYER_NAMEvarchar(8) / varchar(20)키커 선수 코드 / 선수 성명
GAIN_YNchar(1)득점 성공 여부 ('Y' / 'N')
R_L_TYPEchar(1)슈팅 시 사용한 주발 구분 ('R': 오른발, 'L': 왼발)
[Section 3] 실축 사유 및 득점 방향 상세
ERR_CAUSE_CODE / ERR_CAUSE_NAME / ERR_CAUSE_NAME_ENGnumeric(4,0) / varchar(40)실축 사유 코드 / 한글명 / 영문명 (공통코드:57)
GOAL_POS / GOAL_POS_NAME / GOAL_POS_NAME_ENGnumeric(4,0) / varchar(40)득점(슈팅) 방향 코드 / 한글명 / 영문명 (공통코드:92)
[Section 4] 상대 수문장(골키퍼) 정보
OTHER_GK_ID / OTHER_GK_NAMEvarchar(8) / varchar(20)상대 골키퍼 선수 코드 / 선수 성명

JSON 응답 샘플 (Penalty Shootout Data)

{
    "response": {
        "meet_year": "2026",
        "apiName": "tkRecord",
        "resultCode": "00",
        "meet_seq": "1",
        "list": [
            {
                "MEET_YEAR": "2026",
                "MEET_SEQ": 1,
                "GAME_ID": 2,
                "TEAM_ID": "K06",
                "TEAM_NAME": "부산",
                "TK_SEQ": 1,
                "PLAYER_ID": "20170226",
                "PLAYER_NAME": "호물로",
                "GAIN_YN": "Y",
                "ERR_CAUSE_CODE": 0,
                "ERR_CAUSE_NAME": "",
                "ERR_CAUSE_NAME_ENG": "",
                "GOAL_POS": 1,
                "GOAL_POS_NAME": "오른쪽",
                "GOAL_POS_NAME_ENG": "",
                "R_L_TYPE": "L",
                "OTHER_GK_ID": "20160010",
                "OTHER_GK_NAME": "김형근"
            },
            {
                "MEET_YEAR": "2026",
                "MEET_SEQ": 1,
                "GAME_ID": 2,
                "TEAM_ID": "K06",
                "TEAM_NAME": "부산",
                "TK_SEQ": 2,
                "PLAYER_ID": "20100161",
                "PLAYER_NAME": "레오",
                "GAIN_YN": "Y",
                "ERR_CAUSE_CODE": 0,
                "ERR_CAUSE_NAME": "",
                "ERR_CAUSE_NAME_ENG": "",
                "GOAL_POS": 2,
                "GOAL_POS_NAME": "왼쪽",
                "GOAL_POS_NAME_ENG": "",
                "R_L_TYPE": "R",
                "OTHER_GK_ID": "20160010",
                "OTHER_GK_NAME": "김형근"
            },
            {
                "MEET_YEAR": "2026",
                "MEET_SEQ": 1,
                "GAME_ID": 2,
                "TEAM_ID": "K06",
                "TEAM_NAME": "부산",
                "TK_SEQ": 3,
                "PLAYER_ID": "20100063",
                "PLAYER_NAME": "고경민",
                "GAIN_YN": "N",
                "ERR_CAUSE_CODE": 5,
                "ERR_CAUSE_NAME": "실축",
                "ERR_CAUSE_NAME_ENG": "Miss",
                "GOAL_POS": 3,
                "GOAL_POS_NAME": "가운데",
                "GOAL_POS_NAME_ENG": "Center",
                "R_L_TYPE": "R",
                "OTHER_GK_ID": "20160010",
                "OTHER_GK_NAME": "김형근"
            }
        ],
        "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/tkRecord.do?authKey=YOUR_API_KEY&meet_year=2026&meet_seq=1&game_id=1";
Request request1 = new Request.Builder().url(url1).get().build();

// [방법 2] Header 방식 (현재 권장)
String url2 = "https://api.kleague.com/api/tkRecord.do?meet_year=2026&meet_seq=1&game_id=1";
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/tkRecord.do"
params = { 
    "meet_year": "2026", 
    "meet_seq": "1", 
    "game_id": "1" 
}

# [방법 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/tkRecord.do';
const params = { meet_year: '2026', meet_seq: '1', game_id: '1' };

// [방법 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' } });