League of Legends API
Player earnings, org history, transfers, live full board, and esports data
https://api.citoapi.com/api/v1LoL live board on REST, webhooks, and WebSockets
Poll /lol/live/{gameId}/stats (or /board) every ~2s for the full SPA-locked scoreboard. Webhooks already push live state / gold / objectives / kills / player_down on Pro and Scale. Live WebSockets run at wss://api.citoapi.com/api/v1/lol/live/ws—
wss://api.citoapi.com/api/v1/lol/live/wsEnable Live WebSocketsLive coverage pre-check
Before treating a LoL match as decision-grade live state, check coverage. Use/lol/coveragefor the league matrix and/lol/matches/{matchId}/coveragefor a specific match. For LCK CL / Academy, treat live-state coverage as opportunistic untilnumeric_live_stateis true.
curl "https://api.citoapi.com/api/v1/lol/matches/lol-match-116520394663535912/coverage" \
-H "x-api-key: YOUR_CITO_API_KEY"{
"match_id": "lol-match-116520394663535912",
"coverage": {
"schedule_metadata": true,
"live_row": false,
"numeric_live_state": false,
"webhook_event": false,
"coverage_level": "metadata_only",
"expected_live_state": false,
"expected_webhooks": false
},
"league": {
"slug": "lck_challengers",
"live_state_policy": "opportunistic_live_state"
}
}Schedule contract (states, dates, pagination)
Canonical match states are unstarted, inProgress, and completed (case-insensitive). Aliases: scheduled/upcoming → unstarted; live → inProgress; finished → completed. Date-only from/to are inclusive UTC day bounds (from = 00:00:00.000Z, to = 23:59:59.999Z). With date or state filters, pagination is DB offset (limit/offset/hasMore). Riot pageToken is only used when paging without those filters; stop when pages.newer is null (hasNewer).
Coverage matrix (domestic + international)
Primary: LCK, LPL, LEC, LCS. Also supported: LCP, CBLOL (lol-cblol-brazil or alias cblol), MSI, EWC. Postgame levels on match coverage: schedule_only, result_only, games, player_stats_basic, player_stats_full, draft, live. Standings are Riot-synced (source + reproducibleFromMatches: false) — not recomputed from our match table. Player team history: GET /lol/players/{playerId}/teams. Draft: game bans fields + GET /lol/analytics/drafts/{matchId}. Stats may be enriched after publish (zeros → nonzero via gol.gg); treat rows with zero KDA as provisional until postgame_coverage_level reaches player_stats_full.
Odds
Prediction-market prices for LoL series as decimal odds, refreshed every minute while a match is live or about to start and every 15 minutes before that. Markets: match winner (h2h), each game's winner (game_winner + gameNumber), game handicap (team1Line/team2Line), first blood, total games, total kills per game, odd/even kills, both teams slay baron / dragon / destroy inhibitors, and any quadra or penta kill. Team prices are always turned to the match's own team1/team2 (team1Slug/team2Slug ride on every row); over/under, yes/no and odd/even markets carry outcomes plus flat overOdds/underOdds, yesOdds/noOdds.
Each quote has a marketStatus: open (priced now), illiquid (listed, but no trades and a wide book, so no fair price is shown; book depth is still returned),suspended (decided or near-certain, the last tradable price is kept) or closed. Liquidity, volume, best bid/ask and spread are in USD and probability units./lol/matches/upcoming and /lol/live carry odds and a flat h2hOdds on every row by default; any other match list takes ?include=odds.
curl "https://api.citoapi.com/api/v1/lol/matches/lol-match-115660540726095081/odds?market=game_handicap" \
-H "x-api-key: YOUR_CITO_API_KEY"Player props
Pick'em prop lines from Underdog Fantasy and Sleeper, refreshed every 5 minutes: kills, assists and fantasy points on maps 1+2. Every line is linked to the match and player ids used everywhere else in the API, shows each app side by side with the spread between them, and is graded against the player's last 5 and 10 series from our game stats (l5Avg, l10OverRate, recentSeries). Fantasy-point lines are returned but not graded, because the apps do not publish their LoL scoring. sidesOffered says which side an app takes (many LoL lines are over-only). Add ?include=player_props to any match list. Odds and player props are included on Pro and above, and on every new account for its first 3 days.
curl "https://api.citoapi.com/api/v1/lol/props?player=faker" \
-H "x-api-key: YOUR_CITO_API_KEY"Live full board
While a game is in progress, poll/lol/live/{gameId}/stats(alias/board) about every 2 seconds. The payload matches the lolesports.com board cadence and includes team gold/kills/towers/inhibitors/barons/dragons plus per-player KDA, CS, gold, level, items, alive flags, kill participation, damage share, and wards. Use/mapfor the alive/death list.
# 1) Discover live matches
curl "https://api.citoapi.com/api/v1/lol/live" \
-H "x-api-key: YOUR_CITO_API_KEY"
# 2) Pull the full live board for an in-progress game
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/stats" \
-H "x-api-key: YOUR_CITO_API_KEY"
# Aliases
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/board" \
-H "x-api-key: YOUR_CITO_API_KEY"
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/map" \
-H "x-api-key: YOUR_CITO_API_KEY"{
"success": true,
"source": "riot_live_window+details",
"frameTimestamp": "2026-07-14T19:23:50.000Z",
"lagSeconds": 193.0,
"recommendedPollSeconds": 2,
"transport": {
"current": "rest_poll",
"websocket": "coming_soon",
"note": "REST board matches lolesports.com SPA cadence. Websocket push is a higher-tier upgrade launching soon."
},
"data": {
"gameId": "116833506932128109",
"state": "in_game",
"patchVersion": "16.13.790.6961",
"blueTeam": {
"totalGold": 66500,
"totalKills": 16,
"towers": 4,
"inhibitors": 0,
"barons": 1,
"dragons": ["chemtech", "infernal"]
},
"redTeam": {
"totalGold": 66000,
"totalKills": 14,
"towers": 5,
"inhibitors": 0,
"barons": 1,
"dragons": ["cloud", "cloud", "cloud"]
},
"players": [
{
"participantId": 1,
"summonerName": "HRTS Papiteero",
"championId": "Rumble",
"role": "top",
"side": "blue",
"kills": 3,
"deaths": 4,
"assists": 8,
"creepScore": 253,
"totalGold": 12400,
"level": 18,
"alive": true,
"items": [3047, 6653, 3363, 8010, 3157, 3916],
"killParticipation": 0.6875,
"championDamageShare": 0.2158,
"wardsPlaced": 14
}
]
}
}// GET /api/v1/lol/live/{gameId}/map
{
"success": true,
"source": "riot_live_window",
"data": {
"gameId": "116833506932128109",
"state": "in_game",
"players": [
{
"participantId": 1,
"summonerName": "HRTS Papiteero",
"championId": "Rumble",
"side": "blue",
"role": "top",
"alive": true,
"currentHealth": 3190,
"maxHealth": 3190,
"position": null
}
],
"note": "Alive flags from official livestats health. Public Riot feed does not include map {x,y}."
}
}LoL Webhook Events
Push events available for live match and score automation.
lol.match.startedlol.live.game_startedlol.live.statelol.live.gold_swinglol.live.objectivelol.live.kill_updatelol.live.tower_destroyedlol.live.player_downlol.live.map_deltalol.live.pick_lockedlol.live.ban_lockedlol.score.updatedlol.match.completedOdds & Player Props
Match and game odds with line movement, and pick'em player prop lines graded against recent series. Pro and above.
GET/api/v1/lol/oddslol oddsBetting board: upcoming and live matches with their odds, soonest first. Match winner, game winners, game handicap and total games by default; markets=all for every market. Filters: league, days, limit.
/api/v1/lol/oddscurl "https://api.citoapi.com/api/v1/lol/odds" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/oddsmatchId oddsEvery market for one match as decimal odds: match winner, each game's winner, game handicap, first blood, total games, total kills per game, odd/even kills, both teams slay baron/dragon/destroy inhibitors, any quadra/penta kill. Filters: market, game, status=all.
/api/v1/lol/matches/{matchId}/oddscurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/odds" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/odds/historyodds historyLine movement: every price, line and status change per market, oldest first. Filters: market, limit.
/api/v1/lol/matches/{matchId}/odds/historycurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/odds/history" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/propslol propsPick'em player prop lines (Underdog, Sleeper): kills, assists and fantasy points on maps 1+2, each with L5/L10 hit rates. Filters: player, match_id, market, provider, status=all, include_history=true.
/api/v1/lol/propscurl "https://api.citoapi.com/api/v1/lol/props" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/propsmatchId propsEvery app's line side by side per player and market for one match, with the spread between apps and grading.
/api/v1/lol/matches/{matchId}/propscurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/props" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/propsPlayer propsOne player's current lines plus their last 10 series totals (kills map 1, kills and assists maps 1+2, kills maps 1-3).
/api/v1/lol/players/{playerId}/propscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/props" \
-H "x-api-key: YOUR_CITO_API_KEY"Players
Player stats, form, champion pools, earnings, and team history.
GET/api/v1/lol/players/{playerId}/propsPlayer propsOne player's current lines plus their last 10 series totals (kills map 1, kills and assists maps 1+2, kills maps 1-3).
/api/v1/lol/players/{playerId}/propscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/props" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/earningsPlayer earningsPlayer prize pool earnings with tournament rows
/api/v1/lol/players/{playerId}/earningscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/earnings" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/earnings/summaryPlayer Earnings SummaryPlayer earnings totals, placement counts, and sync metadata
/api/v1/lol/players/{playerId}/earnings/summarycurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/earnings/summary" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/teamsPlayer teamsPlayer org history and team timeline
/api/v1/lol/players/{playerId}/teamscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/teams" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/statsPlayer statsPlayer statistics and recent performance rows
/api/v1/lol/players/{playerId}/statscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/stats" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/formPlayer formSliding-window player form for last 10, 20, and 50 matches with optional league and role filters
/api/v1/lol/players/{playerId}/formcurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/form" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/players/{playerId}/champion-poolPlayer Champion PoolRecent champion picks, pick rates, and decided-game win rates over the player's last N matches
/api/v1/lol/players/{playerId}/champion-poolcurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/champion-pool" \
-H "x-api-key: YOUR_CITO_API_KEY"Teams & Rosters
Professional teams, objectives, roster history, and team timelines.
GET/api/v1/lol/players/{playerId}/teamsPlayer teamsPlayer org history and team timeline
/api/v1/lol/players/{playerId}/teamscurl "https://api.citoapi.com/api/v1/lol/players/{playerId}/teams" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/teams/{slug}/roster/historyTeam Roster HistoryHistorical team rosters and date ranges
/api/v1/lol/teams/{slug}/roster/historycurl "https://api.citoapi.com/api/v1/lol/teams/{slug}/roster/history" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/teamsList TeamsProfessional LoL teams
/api/v1/lol/teamscurl "https://api.citoapi.com/api/v1/lol/teams" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/teams/{slug}/objectivesTeam ObjectivesTeam objective control rates over recent matches with optional league filter
/api/v1/lol/teams/{slug}/objectivescurl "https://api.citoapi.com/api/v1/lol/teams/{slug}/objectives" \
-H "x-api-key: YOUR_CITO_API_KEY"Transfers
Recent movement and player/team transfer history.
GET/api/v1/lol/transfersRecent TransfersRecent player transfers with filters
/api/v1/lol/transferscurl "https://api.citoapi.com/api/v1/lol/transfers" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/transfers/player/{playerId}Player TransfersTransfer history for one player
/api/v1/lol/transfers/player/{playerId}curl "https://api.citoapi.com/api/v1/lol/transfers/player/{playerId}" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/transfers/team/{slug}Team TransfersTransfer activity for one team
/api/v1/lol/transfers/team/{slug}curl "https://api.citoapi.com/api/v1/lol/transfers/team/{slug}" \
-H "x-api-key: YOUR_CITO_API_KEY"Live Matches
Active matches, SPA-locked full live board (gold, KDA, CS, items, objectives), alive flags, coverage pre-checks, and visual-state fallback.
GET/api/v1/lol/coverageCoverage MatrixLeague-level live coverage matrix and live-state pre-check rules
/api/v1/lol/coveragecurl "https://api.citoapi.com/api/v1/lol/coverage" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/liveLive MatchesCurrently active in-progress LoL esports matches only. Use schedule endpoints for upcoming games.
/api/v1/lol/livecurl "https://api.citoapi.com/api/v1/lol/live" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/liveLive MatchesAlias for currently active pro matches
/api/v1/lol/matches/livecurl "https://api.citoapi.com/api/v1/lol/matches/live" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/coverageMatch Coverage Pre-checkPre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility
/api/v1/lol/matches/{matchId}/coveragecurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/coverage" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{matchId}/seriesLive SeriesLive series state with completed games, score, and current game context
/api/v1/lol/live/{matchId}/seriescurl "https://api.citoapi.com/api/v1/lol/live/{matchId}/series" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{matchId}/watchLive Watch LinksWatch links for a live match (LoL Esports + stream providers when published)
/api/v1/lol/live/{matchId}/watchcurl "https://api.citoapi.com/api/v1/lol/live/{matchId}/watch" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/statsLive Game BoardFull live board locked to lolesports.com cadence: team gold/kills/towers/inhibs/barons/dragons + per-player KDA, CS, gold, level, items, alive, KP, damage share, wards
/api/v1/lol/live/{gameId}/statscurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/stats" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/boardLive Game BoardAlias for /stats — denser name for the full live scoreboard payload
/api/v1/lol/live/{gameId}/boardcurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/board" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/mapLive Alive BoardAlive/death board from health (positions null on public feed; websocket tier later)
/api/v1/lol/live/{gameId}/mapcurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/map" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/visual-stateLive Visual StateAccepted near-live visual reads for game time, gold, kills, towers, dragons, and barons (stream OCR fallback)
/api/v1/lol/live/{gameId}/visual-statecurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/visual-state" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/windowgameId windowRaw live window frames (team + participant scoreboard)
/api/v1/lol/live/{gameId}/windowcurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/window" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/detailsgameId detailsRaw live details frames (items, KP, damage share, wards)
/api/v1/lol/live/{gameId}/detailscurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/details" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/live/{gameId}/eventsgameId eventsLive game event timeline when published
/api/v1/lol/live/{gameId}/eventscurl "https://api.citoapi.com/api/v1/lol/live/{gameId}/events" \
-H "x-api-key: YOUR_CITO_API_KEY"Matches & Games
Match detail, games, player stats, postgame data, vision, plates, and jungle share.
GET/api/v1/lol/matches/{matchId}/oddsmatchId oddsEvery market for one match as decimal odds: match winner, each game's winner, game handicap, first blood, total games, total kills per game, odd/even kills, both teams slay baron/dragon/destroy inhibitors, any quadra/penta kill. Filters: market, game, status=all.
/api/v1/lol/matches/{matchId}/oddscurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/odds" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/odds/historyodds historyLine movement: every price, line and status change per market, oldest first. Filters: market, limit.
/api/v1/lol/matches/{matchId}/odds/historycurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/odds/history" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/propsmatchId propsEvery app's line side by side per player and market for one match, with the spread between apps and grading.
/api/v1/lol/matches/{matchId}/propscurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/props" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/liveLive MatchesAlias for currently active pro matches
/api/v1/lol/matches/livecurl "https://api.citoapi.com/api/v1/lol/matches/live" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{matchId}/coverageMatch Coverage Pre-checkPre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility
/api/v1/lol/matches/{matchId}/coveragecurl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/coverage" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{id}Match DetailMatch detail by stored match ID or raw LoL esports match ID
/api/v1/lol/matches/{id}curl "https://api.citoapi.com/api/v1/lol/matches/{id}" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/matches/{id}/gamesMatch GamesGames inside a match, including raw game IDs where available
/api/v1/lol/matches/{id}/gamescurl "https://api.citoapi.com/api/v1/lol/matches/{id}/games" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}games gameIdGame details by stored ID or raw LoL esports game ID
/api/v1/lol/games/{gameId}curl "https://api.citoapi.com/api/v1/lol/games/{gameId}" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/statsGame statsStored per-player stats for a specific game
/api/v1/lol/games/{gameId}/statscurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/stats" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/player-statsGame Player StatsAlias for game-level player stat rows
/api/v1/lol/games/{gameId}/player-statscurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/player-stats" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/postgameGame postgameCompleted-game gold graph, timeline, plates, role distributions, vision, and jungle share
/api/v1/lol/games/{gameId}/postgamecurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/postgame" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/platesGame platesVoidgrubs, tower plates, and lane plate counts for one game
/api/v1/lol/games/{gameId}/platescurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/plates" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/distributionsGame distributionsGold and damage distribution by role for one game
/api/v1/lol/games/{gameId}/distributionscurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/distributions" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/visionGame visionTeam vision totals for one game
/api/v1/lol/games/{gameId}/visioncurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/vision" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/games/{gameId}/jungle-shareGame jungle shareJungle CS share data by role for one game
/api/v1/lol/games/{gameId}/jungle-sharecurl "https://api.citoapi.com/api/v1/lol/games/{gameId}/jungle-share" \
-H "x-api-key: YOUR_CITO_API_KEY"Schedule & Standings
Today, upcoming schedule, and published league standings.
GET/api/v1/lol/schedule/todayToday ScheduleToday’s match schedule for LoL esports apps
/api/v1/lol/schedule/todaycurl "https://api.citoapi.com/api/v1/lol/schedule/today" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/schedule/upcomingUpcoming ScheduleUpcoming LoL esports schedule
/api/v1/lol/schedule/upcomingcurl "https://api.citoapi.com/api/v1/lol/schedule/upcoming" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/leagues/lol-lck/schedulelol lck scheduleLCK match schedule. The slug lck also works.
/api/v1/lol/leagues/lol-lck/schedulecurl "https://api.citoapi.com/api/v1/lol/leagues/lol-lck/schedule" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/leagues/lol-lpl/schedulelol lpl scheduleLPL match schedule. The slug lpl also works.
/api/v1/lol/leagues/lol-lpl/schedulecurl "https://api.citoapi.com/api/v1/lol/leagues/lol-lpl/schedule" \
-H "x-api-key: YOUR_CITO_API_KEY"GET/api/v1/lol/leagues/{leagueId}/standingsLeague StandingsLeague standings, returning an empty rankings array when standings are not published yet
/api/v1/lol/leagues/{leagueId}/standingscurl "https://api.citoapi.com/api/v1/lol/leagues/{leagueId}/standings" \
-H "x-api-key: YOUR_CITO_API_KEY"Webhooks
Supported webhook event names for production push workflows.
GET/api/v1/lol/webhooks/eventsWebhook EventsSupported LoL webhook events for paid plans
/api/v1/lol/webhooks/eventscurl "https://api.citoapi.com/api/v1/lol/webhooks/events" \
-H "x-api-key: YOUR_CITO_API_KEY"Other LoL Endpoints
Additional schedule, standings, and compatibility paths.
GET/api/v1/lol/leagueslol leaguesLeague list with aliases and direct schedule endpoints. LCK is lol-lck/lck; LPL is lol-lpl/lpl.
/api/v1/lol/leaguescurl "https://api.citoapi.com/api/v1/lol/leagues" \
-H "x-api-key: YOUR_CITO_API_KEY"Player Earnings
[
{
"tournamentName": "LCK 2026 Season Opening",
"tournamentDate": "2026-01-09T00:00:00.000Z",
"placement": 1,
"earnings": 0,
"league": "LCK",
"orgSlugAtTime": "east-3"
},
{
"tournamentName": "2025 World Championship",
"tournamentDate": "2025-11-09T00:00:00.000Z",
"placement": 1,
"earnings": 200000,
"prizePool": 1000000,
"tier": "S-Tier",
"league": "Worlds",
"orgSlugAtTime": "east-3"
}
]Org and Roster History
{
"success": true,
"data": {
"playerId": "c76dc4df-1a6f-4c83-b7ba-44cf213e0291",
"playerName": "Faker",
"teams": [
{
"teamSlug": "t1",
"teamName": "T1",
"role": "MID",
"startedAt": "2026-02-01T00:00:00.000Z",
"endedAt": null
},
{
"teamSlug": "lck-allstars",
"teamName": "LCK All-Stars",
"role": "MID",
"startedAt": "2026-02-01T00:00:00.000Z",
"endedAt": null
}
],
"transfersEndpoint": "/api/v1/lol/transfers/player/{playerId}"
}
}