LoL roster API
Current LoL rosters, player roles, headshots, and roster history.
Load the lineup for a team page, then pull roster history when you need past members, joins, leaves, roles, and player profile context.
API response preview
Roster rows with roles, status, and player images
Useful endpoints
/api/v1/lol/teams/{slug}/rosterCurrent lineup
/api/v1/lol/teams/{slug}/roster/historyPast members
/api/v1/lol/players/{playerId}/teamsPlayer team history
Run the request
X-API-Keycurl "https://api.citoapi.com/api/v1/lol/teams/{slug}/roster" \
-H "X-API-Key: $CITO_API_KEY"{
"roster": [
{
"playerName": "Faker",
"role": "Mid",
"isStarter": true,
"imageUrl": "https://static.lolesports.com/players/..."
}
]
}Primary endpoint: /api/v1/lol/teams/{slug}/roster/history
Load the lineup for a team page, then pull roster history when you need past members, joins, leaves, roles, and player profile context.
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.
/api/v1/lol/teams/{slug}/roster/historyRoster rows with roles, status, and player images.
Current lineup
/api/v1/lol/teams/{slug}/rosterCurrent lineup fills in the detail around the primary response.
Past members
/api/v1/lol/teams/{slug}/roster/historyUse this first when the page needs roster rows with roles, status, and player images.
Player team history
/api/v1/lol/players/{playerId}/teamsPlayer team history fills in the detail around the primary response.
Returned data
Load the lineup for a team page, then pull roster history when you need past members, joins, leaves, roles, and player profile context.
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.
Data fit
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.
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.
Resources
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.
| Feature | Cito API | Riot API | PandaScore |
|---|---|---|---|
| Price | Free testing, Starter $25/mo, Builder $50/mo | Free, rate limited; production approval varies | Usually sales/custom pricing |
| Ranked account data | Not the primary product; use Riot for direct account workflows | Yes | Not the core LoL ranked source |
| Pro esports live | Yes | Fragmented across official surfaces | Yes |
| Player earnings | Yes | No | Provider-dependent |
| Org/transfer history | Yes | Current GCD affiliation/contract data, not full history | Provider-dependent |
| Unified REST API | Yes | Multiple products and routing models | Yes |
| Instant signup | Yes | Developer key yes; production can require approval | Often 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.
/api/v1/lol/players/{playerId}/earningsCareer prize pool earnings with tournament-by-tournament rows.
/api/v1/lol/players/{playerId}/earnings/summaryPlayer earnings totals, event counts, placements, and tracked history.
/api/v1/lol/players/{playerId}/teamsTeam history for org changes, roles, and date ranges.
/api/v1/lol/teams/{slug}/roster/historyHistorical rosters with roster membership periods.
/api/v1/lol/transfersRecent transfer activity across tracked LoL teams and players.
/api/v1/lol/teams/{slug}/earningsOrganization-level earnings and tournament results where tracked.
/api/v1/lol/liveActive League of Legends esports matches and live state.
/api/v1/lol/schedule/todayToday's LoL esports schedule for match-day apps.
/api/v1/lol/games/{gameId}/statsGame-level player stats after source publication.
/api/v1/lol/webhooks/eventsSupported LoL webhook events for paid plans.
Use cases
Built for League of Legends apps developers actually launch.
Team roster widgets
Render starters, substitutes, roles, player photos, and active status in one component.
Wiki roster pages
Keep current and historical lineups readable without hand-maintained roster tables.
Transfer timelines
Show joins, leaves, role changes, and team movement in chronological order.
Player profile context
Show which teams a player represented and when each roster stint happened.
Fantasy lineup views
Check current roster and role data before building team or player slates.
Org history pages
Explain how a team's lineup changed across splits, seasons, and tournaments.
Build real roster cards
Current roster responses include player names, roles, starter status, active status, and headshot URLs where the source provides them.
Show how a lineup changed
Roster history gives your team page the context users ask for: who joined, who left, what role they played, and when the move happened.
Pricing
Start free. Upgrade when your LoL product needs room to grow.
Free testing includes 500 requests/month. Starter handles early products at $25/month. Builder is the $50/month tier for earnings, org history, transfers, webhooks, and higher-volume LoL apps.