LoL roster history API

LoL roster history API for team lineups, player moves, and membership periods.

Fetch full roster history for any LoL team: past members, roles, date ranges, join and leave events, and the full timeline of lineup changes across splits and seasons.

/api/v1/lol/teams/{slug}/roster/history

Start with the screen's main state, then add roster, stats, or webhook rows only when needed.

Live data layer

Match center signal stack

REST JSON
Most Likely Picks
Role14-Game TrendPick Chance
AzirAzir
MID
78%
KalistaKalista
BOT
71%
NautilusNautilus
SUP
64%
RellRell
SUP
57%
Lee SinLee Sin
JNG
50%

Primary request

/api/v1/lol/teams/{slug}/roster/history

Full roster history with membership periods.

League of Legends map data artwork

Primary endpoint

/api/v1/lol/teams/{slug}/roster/history

Fetch full roster history for any LoL team: past members, roles, date ranges, join and leave events, and the full timeline of lineup changes across splits and seasons.

Full roster history per team
Player join and leave dates
Role and membership period data
Cross-split lineup changes

Live webhooks

Push LoL gold swings, objectives, kills, towers, and match state into your product.

Riot workflows are strongest after official data is published. Cito is built for product teams that need near-live monitoring during active coverage, then clean post-game reconciliation when final data lands.

Seconds to tens of seconds during active coverage
Unique event IDs for dedupe
Signed delivery headers
Retry attempts with delivery metadata

Example payload

Gold swing webhook

signed
POST /your-webhook
X-Cito-Event: lol.live.gold_swing
X-Cito-Event-Id: 1c11131a-2d74-4b06-b4be-ec873861854b
X-Cito-Delivery-Attempt: 1
X-Cito-Signature: sha256...

{
  "event": "lol.live.gold_swing",
  "id": "1c11131a-2d74-4b06-b4be-ec873861854b",
  "data": {
    "league": "LCS",
    "gameTime": 1716,
    "source": "vision",
    "previousGoldDiff": -1900,
    "goldDiff": -3300,
    "swing": -1400,
    "leadingSide": "red"
  }
}
lol.live.state

Periodic live state snapshot with game time, gold, kills, towers, dragons, Barons, and team IDs.

lol.live.gold_swing

Emitted when the gold lead changes materially or flips side.

lol.live.objective

Objective updates for Dragons, Baron, inhibitors, and tracked objective totals.

lol.live.kill_update

Kill total deltas so bots and dashboards can react without parsing the full state.

lol.live.tower_destroyed

Tower count deltas for match centers, alerts, and momentum panels.

lol.match.completed

Final match state so your app can reconcile live screens with post-game data.

Choose LoL

Use One Game Starter when the product is League of Legends-only. It includes commercial use and LoL webhook access without paying for every game.

Create webhook

Add your endpoint in the dashboard and subscribe to the exact LoL events your product needs.

Filter stream

Use filters such as league, matchId, gameId, or side so your backend receives the updates it actually cares about.

Verify delivery

Use X-Cito-Signature to verify payloads and X-Cito-Event-Id as your idempotency key. Failed deliveries retry up to 3 times.

Quick recommendation

What is the best API for League of Legends roster history?

Cito API is the self-serve LoL roster history API for developers building team history pages, player profile org sections, transfer timelines, and wiki roster tables with past and current membership data.

Use /api/v1/lol/teams/{slug}/roster/history for team-side history and /api/v1/lol/players/{playerId}/teams for player-side history. Both return membership periods with roles, dates, and active status.

How to choose

Use this page when you need roster history data for a League of Legends team page, org timeline, or player profile and want to confirm the endpoint shape before integrating.

Team roster history

/api/v1/lol/teams/{slug}/roster/history: past members with join dates, leave dates, and roles.

Player team history

/api/v1/lol/players/{playerId}/teams: every org a player has represented with membership periods.

Current roster

/api/v1/lol/teams/{slug}/roster: current lineup with role, starter status, and image URLs.

Transfer feed

/api/v1/lol/transfers: recent moves across all tracked LoL teams and players.

Does Cito have full roster history, not just the current lineup?

Yes. /api/v1/lol/teams/{slug}/roster/history returns past members with join dates, leave dates, and role context.

Can I get a player's full team history?

Yes. Use /api/v1/lol/players/{playerId}/teams to see every org a player has represented with membership dates.

How is roster history different from the transfer feed?

Transfer feeds show recent moves. Roster history gives complete membership periods going back through the tracked database.

Can I show both current roster and history on the same page?

Yes. Call /roster for the current lineup and /roster/history for the full timeline. Combine them into one team history component.

Endpoint chain

Start with /api/v1/lol/teams/{slug}/roster/history, then add the supporting rows your screen needs.

The first request should answer the user's main question. Add live state, roster rows, match stats, transfer history, or earnings only when the UI needs that detail.

GET
/api/v1/lol/teams/{slug}/roster/history

Full roster history with membership periods.

All past and current members

/api/v1/lol/teams/{slug}/roster/history

Use this first when the page needs full roster history with membership periods.

Current lineup

/api/v1/lol/teams/{slug}/roster

Current lineup fills in the detail around the primary response.

Player team history

/api/v1/lol/players/{playerId}/teams

Player team history fills in the detail around the primary response.

Returned data

Fetch full roster history for any LoL team: past members, roles, date ranges, join and leave events, and the full timeline of lineup changes across splits and seasons.

Best first request

Call /api/v1/lol/teams/{slug}/roster/history from your backend and cache the response based on how often that screen changes.

Common fallback

If live data is empty, show today's schedule, upcoming matches, recent results, or the last known team/player rows.

API key handling

Keep the API key on your server. Send your frontend only the fields it needs to render the page.

Use this API for pro matches, teams, players, rosters, stats, and esports history.

If you need Riot ID, PUUID, ranked ladder, champion mastery, or account-linked match history, use Riot's APIs. If you need a pro esports app, use Cito's LoL endpoints.

Pro Esports API

Built for match centers, fantasy products, scouting tools, wikis, dashboards, team pages, player pages, and live bots.

Live matches and schedules
Pick/ban and game stats where published
Tournament brackets and standings
Player earnings and org history
Transfer tracking
Roster history

Ranked and Ladder Workflows

Use Riot APIs for direct Riot ID, PUUID, summoner, match history, ranked ladder, champion mastery, and account-linked workflows. Cito only references public pro-player account context where source data allows it.

Docs, examples, and machine-readable endpoint files.

Open the docs when you want examples. Import Postman when you want to test. Use the endpoint manifest when an AI coding tool needs exact paths.

FeatureCito APIRiot APIPandaScore
PriceFree testing, Starter $25/mo, Builder $50/moFree, rate limited; production approval variesUsually sales/custom pricing
Ranked account dataNot the primary product; use Riot for direct account workflowsYesNot the core LoL ranked source
Pro esports liveYesFragmented across official surfacesYes
Player earningsYesNoProvider-dependent
Org/transfer historyYesCurrent GCD affiliation/contract data, not full historyProvider-dependent
Unified REST APIYesMultiple products and routing modelsYes
Instant signupYesDeveloper key yes; production can require approvalOften sales-led

Riot's API is free but fragmented. PandaScore is enterprise-only. Cito is the only self-serve option with earnings and org history.

Endpoints

Endpoint paths for this workflow.

Start with /api/v1/lol/teams/{slug}/roster/history. Add supporting endpoints only when your page needs more context.

GET
/api/v1/lol/players/{playerId}/earnings

Career prize pool earnings with tournament-by-tournament rows.

GET
/api/v1/lol/players/{playerId}/earnings/summary

Player earnings totals, event counts, placements, and tracked history.

GET
/api/v1/lol/players/{playerId}/teams

Team history for org changes, roles, and date ranges.

GET
/api/v1/lol/teams/{slug}/roster/history

Historical rosters with roster membership periods.

GET
/api/v1/lol/transfers

Recent transfer activity across tracked LoL teams and players.

GET
/api/v1/lol/teams/{slug}/earnings

Organization-level earnings and tournament results where tracked.

GET
/api/v1/lol/live

Active League of Legends esports matches and live state.

GET
/api/v1/lol/schedule/today

Today's LoL esports schedule for match-day apps.

GET
/api/v1/lol/games/{gameId}/stats

Game-level player stats after source publication.

GET
/api/v1/lol/analytics/drafts/{matchId}

Champion picks, bans, player roles, and side context.

GET
/api/v1/lol/live/{gameId}/visual-state

Live gold, score, objective, and game-time reads where available.

GET
/api/v1/lol/games/{gameId}/timeline

Timeline events, objective timings, and gold snapshots where available.

GET
/api/v1/lol/players/{playerId}/form

Sliding-window player performance over recent matches.

GET
/api/v1/lol/players/{playerId}/champion-pool

Champion picks and win rates over the requested match window.

GET
/api/v1/lol/matches/{matchId}/media

Live stream and replay links where available.

GET
/api/v1/lol/webhooks/events

Supported LoL webhook events for paid plans.

Built for League of Legends apps developers actually launch.

Team history pages

Show every known roster change for a team going back through the tracked database.

Roster timeline widgets

Render a scrollable timeline of player joins, leaves, and role changes.

Org history content

Write team history narratives backed by structured roster membership data.

Player profile context

Show which teams a player represented and when each roster stint happened.

Transfer research

Research a player's full team history and timeline before covering a recent move.

Wiki roster pages

Keep current and historical lineups readable without hand-maintained roster tables.

Show how a lineup evolved, not just what it is now

Roster history endpoints return every tracked membership period: who played for the team, when they joined, when they left, and what role they held. This is the data behind org history pages, player timelines, and transfer context.

Pair with player team history for a two-sided view

Use /teams/{slug}/roster/history for the team perspective and /players/{playerId}/teams for the player perspective. Together they power complete transfer timelines, player profile orgs sections, and org history narratives.