GET

/api/clubRank.do

대회별 구단 순위(승점, 승패무, 득실차 등)를 제공하며, 실시간 순위 반영 및 PO 기록 제외 여부 옵션을 지원합니다.

요청 파라미터 (Request Parameters)

파라미터명 타입(Size) 필수여부 설명
authKey varchar Y API 인증키 (Header 전송 권장)
meet_year varchar(4) Y 대회년도 (예: 2026)
meet_seq varchar(2) Y 대회순번 (예: 1)
game_type varchar(2) N 경기 구분 (기본값: '0')
live_yn varchar(1) N 실시간 순위 반영 여부 ('Y': 실시간 적용, 'N': 기본값)
excludingPO varchar(1) N K리그2에서 PO 기록 제외 여부 ('Y': 제외, 'N': 포함 - 기본값)

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

필드명 데이터 타입 설명 및 비고
[Common] 공통 응답 필드 (JSON Header)
meet_yearvarchar(4)요청한 대회년도
meet_seqvarchar(2)요청한 대회순번
apiNamevarchar(30)호출된 API 명칭 (clubRank)
resultCode varchar(3) 결과 코드 (00: 성공, 그 외 에러는 API 개요 참조)
resultMsgvarchar(100)결과 메시지 ("success")
[Section 1] 구단 기본 정보, 순위 및 승점
TEAM_ID / TEAM_NAMEvarchar(3) / varchar(15)구단 코드 / 구단명 (약칭)
RANK / GAIN_POINTint / int순위 / 총 획득 승점
WORK_QTYint총 치른 경기 수
[Section 2] 승·무·패 및 득실점 기록
WIN_CNT / TIE_CNT / LOSS_CNTint승리 수 / 무승부 수 / 패배 수
GAP_CNT / GAIN_GOAL / LOSS_GOALint득실차 / 총 득점 수 / 총 실점 수
[Section 3] 경기당 비율 지표 및 연속 기록
GAINGOAL_PER_WORKQTYnumeric(10, 5)경기당 평균 득점 수 (GAIN_GOAL / WORK_QTY)
LOSSGOAL_PER_WORKQTYnumeric(10, 5)경기당 평균 실점 수 (LOSS_GOAL / WORK_QTY)
CONTINUE_WINTYPEvarchar(10)최근 연속 승패무 기록 (예: '2승', '1무', '1패' 등)
GAME_TYPE / GAME_TYPE2varchar(10) / varchar(10)경기 구분 상태명 (예: '경기마감') / 요청된 경기 구분 코드

JSON 응답 샘플 (Club Rank Data)

{
    "response": {
        "meet_year": "2026",
        "apiName": "clubRank",
        "resultCode": "00",
        "meet_seq": "1",
        "list": [
            {
                "TEAM_ID": "K09",
                "TEAM_NAME": "서울",
                "RANK": 1,
                "GAIN_POINT": 19,
                "WIN_CNT": 6,
                "TIE_CNT": 1,
                "LOSS_CNT": 0,
                "GAP_CNT": 12,
                "GAIN_GOAL": 16,
                "LOSS_GOAL": 4,
                "GAINGOAL_PER_WORKQTY": 2.28571,
                "LOSSGOAL_PER_WORKQTY": 0.57143,
                "CONTINUE_WINTYPE": "2승",
                "WORK_QTY": 7,
                "GAME_TYPE": "경기마감",
                "GAME_TYPE2": "0"
            },
            {
                "TEAM_ID": "K01",
                "TEAM_NAME": "울산",
                "RANK": 2,
                "GAIN_POINT": 13,
                "WIN_CNT": 4,
                "TIE_CNT": 1,
                "LOSS_CNT": 2,
                "GAP_CNT": 1,
                "GAIN_GOAL": 10,
                "LOSS_GOAL": 9,
                "GAINGOAL_PER_WORKQTY": 1.42857,
                "LOSSGOAL_PER_WORKQTY": 1.28571,
                "CONTINUE_WINTYPE": "1패",
                "WORK_QTY": 7,
                "GAME_TYPE": "경기마감",
                "GAME_TYPE2": "0"
            },
            {
                "TEAM_ID": "K05",
                "TEAM_NAME": "전북",
                "RANK": 3,
                "GAIN_POINT": 11,
                "WIN_CNT": 3,
                "TIE_CNT": 2,
                "LOSS_CNT": 2,
                "GAP_CNT": 2,
                "GAIN_GOAL": 8,
                "LOSS_GOAL": 6,
                "GAINGOAL_PER_WORKQTY": 1.14286,
                "LOSSGOAL_PER_WORKQTY": 0.85714,
                "CONTINUE_WINTYPE": "1패",
                "WORK_QTY": 7,
                "GAME_TYPE": "경기마감",
                "GAME_TYPE2": "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/clubRank.do?authKey=YOUR_API_KEY&meet_year=2026&meet_seq=1&game_type=0&live_yn=N&excludingPO=N";
Request request1 = new Request.Builder().url(url1).get().build();

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