Game APIs/League of Legends API

League of Legends API

Player earnings, org history, transfers, live full board, and esports data

BASEhttps://api.citoapi.com/api/v1
API RootAppend any League of Legends endpoint path below.

LoL live board is live on REST — websockets coming soon for paid upgrades

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 One Game Starter+. A higher-tier websocket stream is launching soon for teams that want push instead of polling.

GET /api/v1/lol/live/{gameId}/statsUpgrade for webhooks

Live 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"
  }
}

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.

EVENTlol.match.started
startedDelivered to configured webhook destinations on paid plans.
EVENTlol.live.game_started
game startedDelivered to configured webhook destinations on paid plans.
EVENTlol.live.state
stateDelivered to configured webhook destinations on paid plans.
EVENTlol.live.gold_swing
gold swingDelivered to configured webhook destinations on paid plans.
EVENTlol.live.objective
objectiveDelivered to configured webhook destinations on paid plans.
EVENTlol.live.kill_update
kill updateDelivered to configured webhook destinations on paid plans.
EVENTlol.live.tower_destroyed
tower destroyedDelivered to configured webhook destinations on paid plans.
EVENTlol.live.player_down
player downDelivered to configured webhook destinations on paid plans.
EVENTlol.live.map_delta
map deltaDelivered to configured webhook destinations on paid plans.
EVENTlol.live.pick_locked
pick lockedDelivered to configured webhook destinations on paid plans.
EVENTlol.live.ban_locked
ban lockedDelivered to configured webhook destinations on paid plans.
EVENTlol.score.updated
updatedDelivered to configured webhook destinations on paid plans.
EVENTlol.match.completed
completedDelivered to configured webhook destinations on paid plans.

Players

Player stats, form, champion pools, earnings, and team history.

GET/api/v1/lol/players/{playerId}/earnings
Player earningsPlayer prize pool earnings with tournament rows

Summary

Player prize pool earnings with tournament rows

League of LegendsREST
curl "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/summary
Player Earnings SummaryPlayer earnings totals, placement counts, and sync metadata

Summary

Player earnings totals, placement counts, and sync metadata

League of LegendsREST
curl "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}/teams
Player teamsPlayer org history and team timeline

Summary

Player org history and team timeline

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/players/{playerId}/teams" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/players/{playerId}/stats
Player statsPlayer statistics and recent performance rows

Summary

Player statistics and recent performance rows

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/players/{playerId}/stats" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/players/{playerId}/form
Player formSliding-window player form for last 10, 20, and 50 matches with optional league and role filters

Summary

Sliding-window player form for last 10, 20, and 50 matches with optional league and role filters

League of LegendsREST
curl "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-pool
Player Champion PoolRecent champion picks, pick rates, and decided-game win rates over the player's last N matches

Summary

Recent champion picks, pick rates, and decided-game win rates over the player's last N matches

League of LegendsREST
curl "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}/teams
Player teamsPlayer org history and team timeline

Summary

Player org history and team timeline

League of LegendsREST
curl "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/history
Team Roster HistoryHistorical team rosters and date ranges

Summary

Historical team rosters and date ranges

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/teams/{slug}/roster/history" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/teams
List TeamsProfessional LoL teams

Summary

Professional LoL teams

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/teams" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/teams/{slug}/objectives
Team ObjectivesTeam objective control rates over recent matches with optional league filter

Summary

Team objective control rates over recent matches with optional league filter

League of LegendsREST
curl "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/transfers
Recent TransfersRecent player transfers with filters

Summary

Recent player transfers with filters

League of LegendsREST
curl "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

Summary

Transfer history for one player

League of LegendsREST
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

Summary

Transfer activity for one team

League of LegendsREST
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/coverage
Coverage MatrixLeague-level live coverage matrix and live-state pre-check rules

Summary

League-level live coverage matrix and live-state pre-check rules

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/coverage" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live
Live MatchesCurrently active in-progress LoL esports matches only. Use schedule endpoints for upcoming games.

Summary

Currently active in-progress LoL esports matches only. Use schedule endpoints for upcoming games.

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/matches/live
Live MatchesAlias for currently active pro matches

Summary

Alias for currently active pro matches

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/matches/live" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/matches/{matchId}/coverage
Match Coverage Pre-checkPre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility

Summary

Pre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/matches/{matchId}/coverage" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{matchId}/series
Live SeriesLive series state with completed games, score, and current game context

Summary

Live series state with completed games, score, and current game context

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{matchId}/series" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{matchId}/watch
Live Watch LinksWatch links for a live match (LoL Esports + stream providers when published)

Summary

Watch links for a live match (LoL Esports + stream providers when published)

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{matchId}/watch" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{gameId}/stats
Live 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

Summary

Full 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

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/stats" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{gameId}/board
Live Game BoardAlias for /stats — denser name for the full live scoreboard payload

Summary

Alias for /stats — denser name for the full live scoreboard payload

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/board" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{gameId}/map
Live Alive BoardAlive/death board from health (positions null on public feed; websocket tier later)

Summary

Alive/death board from health (positions null on public feed; websocket tier later)

League of LegendsREST
curl "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-state
Live Visual StateAccepted near-live visual reads for game time, gold, kills, towers, dragons, and barons (stream OCR fallback)

Summary

Accepted near-live visual reads for game time, gold, kills, towers, dragons, and barons (stream OCR fallback)

League of LegendsREST
curl "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}/window
gameId windowRaw live window frames (team + participant scoreboard)

Summary

Raw live window frames (team + participant scoreboard)

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/window" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{gameId}/details
gameId detailsRaw live details frames (items, KP, damage share, wards)

Summary

Raw live details frames (items, KP, damage share, wards)

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/live/{gameId}/details" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/live/{gameId}/events
gameId eventsLive game event timeline when published

Summary

Live game event timeline when published

League of LegendsREST
curl "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/live
Live MatchesAlias for currently active pro matches

Summary

Alias for currently active pro matches

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/matches/live" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/matches/{matchId}/coverage
Match Coverage Pre-checkPre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility

Summary

Pre-check whether a match has schedule metadata, a live row, numeric live state, and live-state webhook eligibility

League of LegendsREST
curl "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

Summary

Match detail by stored match ID or raw LoL esports match ID

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/matches/{id}" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/matches/{id}/games
Match GamesGames inside a match, including raw game IDs where available

Summary

Games inside a match, including raw game IDs where available

League of LegendsREST
curl "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

Summary

Game details by stored ID or raw LoL esports game ID

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/games/{gameId}" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/games/{gameId}/stats
Game statsStored per-player stats for a specific game

Summary

Stored per-player stats for a specific game

League of LegendsREST
curl "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-stats
Game Player StatsAlias for game-level player stat rows

Summary

Alias for game-level player stat rows

League of LegendsREST
curl "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}/postgame
Game postgameCompleted-game gold graph, timeline, plates, role distributions, vision, and jungle share

Summary

Completed-game gold graph, timeline, plates, role distributions, vision, and jungle share

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/games/{gameId}/postgame" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/games/{gameId}/plates
Game platesVoidgrubs, tower plates, and lane plate counts for one game

Summary

Voidgrubs, tower plates, and lane plate counts for one game

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/games/{gameId}/plates" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/games/{gameId}/distributions
Game distributionsGold and damage distribution by role for one game

Summary

Gold and damage distribution by role for one game

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/games/{gameId}/distributions" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/games/{gameId}/vision
Game visionTeam vision totals for one game

Summary

Team vision totals for one game

League of LegendsREST
curl "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-share
Game jungle shareJungle CS share data by role for one game

Summary

Jungle CS share data by role for one game

League of LegendsREST
curl "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/today
Today ScheduleToday’s match schedule for LoL esports apps

Summary

Today’s match schedule for LoL esports apps

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/schedule/today" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/schedule/upcoming
Upcoming ScheduleUpcoming LoL esports schedule

Summary

Upcoming LoL esports schedule

League of LegendsREST
curl "https://api.citoapi.com/api/v1/lol/schedule/upcoming" \
  -H "x-api-key: YOUR_CITO_API_KEY"
GET/api/v1/lol/leagues/lol-lck/schedule
lol lck scheduleLCK match schedule. The slug lck also works.

Summary

LCK match schedule. The slug lck also works.

League of LegendsREST
curl "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/schedule
lol lpl scheduleLPL match schedule. The slug lpl also works.

Summary

LPL match schedule. The slug lpl also works.

League of LegendsREST
curl "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}/standings
League StandingsLeague standings, returning an empty rankings array when standings are not published yet

Summary

League standings, returning an empty rankings array when standings are not published yet

League of LegendsREST
curl "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/events
Webhook EventsSupported LoL webhook events for paid plans

Summary

Supported LoL webhook events for paid plans

League of LegendsREST
curl "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/leagues
lol leaguesLeague list with aliases and direct schedule endpoints. LCK is lol-lck/lck; LPL is lol-lpl/lpl.

Summary

League list with aliases and direct schedule endpoints. LCK is lol-lck/lck; LPL is lol-lpl/lpl.

League of LegendsREST
curl "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}"
  }
}