저도 그렇지만 롤 하는 사람들은 OP.GG 사이트를 다들 사용해보셨을겁니다.
“전적 검색 사이트는 어떻게 만들어질까?”
리그 오브 레전드(League of Legends, 줄여서 롤/LOL)는 전 세계에서 가장 인기 있는 게임 중 하나입니다.
그만큼 전적 정보를 기반으로 한 웹사이트나 서비스도 다양하게 존재하죠.
그런데 사실 이 모든 건 라이엇 게임즈(Riot Games)의 오픈 API 덕분에 가능한 일입니다.
이 글에서는 라이엇 오픈 API를 사용해 롤 전적 정보를 다루는 방법을 예제로 설명드릴게요.
라이엇 API란 무엇인가요?
라이엇 오픈 API는 개발자들이 롤 관련 정보를 자유롭게 활용할 수 있도록 제공하는 공식 인터페이스입니다.
여기서 얻을 수 있는 데이터는 매우 다양합니다:
- 유저 소환사 정보
- 매치 히스토리
- 실시간 게임 정보
- 챔피언 티어, 픽률, 승률 등 메타 정보
- 랭크 순위 및 포지션 데이터
라이엇 API를 활용하면, OP.GG, Porofessor, Blitz 등에서 보는 전적 정보를 직접 수집하고 가공할 수 있습니다.
API Key 발급받는 법
먼저 개발을 시작하려면 Riot 개발자 포털에서 API Key를 발급받아야 합니다.
- https://developer.riotgames.com 접속
- Riot 계정으로 로그인
- 개발자 등록 후 API Key 발급
- 기본 키는 24시간만 유효하므로 테스트용이며, 운영용 키는 신청 절차가 필요합니다
💡 운영용 키를 신청하려면 실제 서비스 URL, 기획 의도, 데이터 활용 계획 등을 제출해야 해요.
소환사 기본 정보 가져오기
라이엇 API에서 가장 기본이 되는 정보는 소환사명으로 유저 정보를 가져오는 것입니다.
이를 통해 해당 유저의 summonerId
또는 puuid
값을 확보할 수 있고, 이 값은 이후의 매치 히스토리 조회 등에 반드시 필요해요.
import requests
api_key = "YOUR_API_KEY"
summoner_name = "Hide on bush" # 소환사 이름
url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-name/{summoner_name}"
headers = {"X-Riot-Token": api_key}
response = requests.get(url, headers=headers)
summoner_data = response.json()
print(summoner_data)
🔎 주요 응답 항목:
id
(Summoner ID): 랭크 정보 조회에 필요puuid
: 매치 리스트 조회에 사용
매치 히스토리 조회하기
summoner_data
에서 얻은 puuid
를 활용하면, 최근 몇 경기의 매치 ID 목록을 가져올 수 있습니다.
puuid = summoner_data["puuid"]
match_url = f"https://asia.api.riotgames.com/lol/match/v5/matches/by-puuid/{puuid}/ids?start=0&count=10"
match_response = requests.get(match_url, headers=headers)
match_ids = match_response.json()
이제 얻은 match_id
를 바탕으로 실제 매치 데이터를 가져올 수 있습니다.
match_detail_url = f"https://asia.api.riotgames.com/lol/match/v5/matches/{match_ids[0]}"
match_detail = requests.get(match_detail_url, headers=headers).json()
print(match_detail["info"]["participants"][0]["kills"])
이처럼 라이엇 게임즈 오픈 API를 활용하면 롤 전적 정보를 실시간으로 자동 수집하고 가공할 수 있습니다.
자신만의 전적 검색기나 분석 도구를 만들 수 있는 기본 구조가 이 안에 다 들어있죠.
라이엇 API를 활용한 서비스 아이디어
라이엇 오픈 API를 이용하면 다음과 같은 다양한 서비스를 구현할 수 있습니다:
- 특정 유저의 티어·전적 요약 카드 자동 생성
- 매치 통계 기반 팀 성능 평가 지표 시각화
- 승률 높은 챔피언/포지션 추천
- 플레이 시간대별 KDA 변화 트래킹
운영용 API 신청 팁
라이엇에서 제공하는 개발용 API 키는 하루 24시간만 유효하고, 요청 수 제한도 엄격합니다.
따라서 지속적인 서비스 운영을 원한다면 운영용 API 키를 반드시 신청해야 합니다.
🔹 운영용 API 키 신청 절차
- Riot API Developer Portal 접속
- 로그인 후 “My Applications” → “Request Production API Key” 클릭
- 아래 항목 작성:
- 서비스 목적 및 기획 의도
- 대상 지역(서버)
- 데이터 활용 방식 (API 명시)
- 개인정보 및 보안 정책
💡 운영용 키 신청서에는 “단순 전적 검색이 아닌, 분석·교육적 목적의 활용”이라고 기재하면 승인 확률이 높아집니다.
라이엇 API 사용 시 주의사항
⚠️ API 호출 제한
라이엇 API는 초당 요청 수(TPS) 및 분당/일일 총 요청 수에 제한이 있습니다.
- 개발 키: 20초당 1회, 하루 1000회 제한
- 운영 키: 사용 목적에 따라 별도 제한 부여 (예: 초당 10회, 분당 500회 등)
📌 요청이 많을 경우 큐 시스템이나 캐싱을 통해 트래픽 분산이 필수입니다.
⚠️ 개인정보 보호 의무
라이엇 API는 유저의 닉네임, 전적 정보 등을 반환하지만,
실제 이메일, 계정 ID 등 민감 정보는 제공하지 않습니다.
하지만 유저 전적 데이터를 서비스에 표시할 때는 다음을 지켜야 합니다:
- 유저가 요청 시, 전적 정보 비공개 처리 옵션 제공
- Riot 개발자 정책에 따른 개발자 윤리 준수
- 유저 계정이나 PUUID 노출 금지
실무에서 라이엇 API 활용하는 사례
1. 커스텀 롤 전적 검색기
개발자들이 가장 먼저 시도하는 프로젝트 중 하나는 전적 검색 웹사이트입니다.
사용자가 닉네임을 입력하면, 다음 항목을 자동 수집해서 표시하죠:
- 최근 10경기 승패/챔피언/KDA 요약
- 포지션별 승률 및 게임 수
- 플레이 시간대별 평균 KDA
- 티어 상승/하락 그래프
2. Discord 연동 봇
Python이나 Node.js를 활용하면 디스코드 챗봇에 롤 전적 연동도 가능합니다.
- 사용자가
!전적 롤닉네임
입력 시, 해당 유저의 최근 경기 요약 제공 - 최근 플레이한 챔피언, 승률, KDA 표시
- 챔피언 숙련도 분석 결과 안내
🛠 예:
discord.py
+Riot API
+MongoDB
로 간단한 전적 조회 봇 제작 가능
롤 전적 자동화, 누구나 시작할 수 있다
라이엇 게임즈 오픈 API는 단순히 게임 데이터를 가져오는 도구 그 이상입니다.
누구나 무료로 접근 가능하며, 교육용, 취미 개발, 스타트업 MVP로도 충분히 활용할 수 있습니다.
지금 당장 시작해볼 수 있는 아주 좋은 API이며, 롤 팬이라면 재미도 배가 될 거예요.
“롤 전적 사이트, 나도 만들 수 있을까?” → 네, 라이엇 API로 가능합니다.