LoL schedule API

Live LoL schedules, match times, and team lineups. One API call.

Get today's matches, upcoming schedule, and live state. Filter by league. No scraping required.

Today's matches — who's playing now
Upcoming schedule — next 7 days
League filters — LCK, LEC, LTA, MSI, Worlds
Match center ready — live scores, team lineups, game state

API response preview

Today's matches, upcoming schedule, and live state

JSON

Useful endpoints

/api/v1/lol/schedule/today

Today's pro matches

/api/v1/lol/schedule/upcoming

Upcoming matches

/api/v1/lol/leagues/{leagueId}/schedule

League schedule

Run the request

X-API-Key
curl "https://api.citoapi.com/api/v1/lol/schedule/today?league=lck" \
  -H "X-API-Key: $CITO_API_KEY"
{
  "date": "2026-05-16",
  "league": "lck",
  "matches": [
    {
      "matchId": "lck-2026-0516-gen-t1",
      "state": "upcoming",
      "startTime": "2026-05-16T10:00:00.000Z",
      "team1": { "slug": "gen", "name": "Gen.G" },
      "team2": { "slug": "t1", "name": "T1" }
    }
  ]
}

Primary endpoint: /api/v1/lol/schedule/today

Get today's matches, upcoming schedule, and live state. Filter by league. No scraping required.

Today's matches — who's playing nowUpcoming schedule — next 7 daysLeague filters — LCK, LEC, LTA, MSI, WorldsMatch center ready — live scores, team lineups, game state

Endpoint chain

Start with /api/v1/lol/schedule/today, 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/schedule/today

Today's matches, upcoming schedule, and live state.

Today's pro matches

/api/v1/lol/schedule/today

Use this first when the page needs today's matches, upcoming schedule, and live state.

Upcoming matches

/api/v1/lol/schedule/upcoming

Upcoming matches fills in the detail around the primary response.

League schedule

/api/v1/lol/leagues/{leagueId}/schedule

League schedule fills in the detail around the primary response.

Returned data

Get today's matches, upcoming schedule, and live state. Filter by league. No scraping required.

Best first request

Call /api/v1/lol/schedule/today 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.

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.

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.

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/schedule/today. 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/webhooks/events

Supported LoL webhook events for paid plans.

Use cases

Built for League of Legends apps developers actually launch.

Match calendars

Build schedule views, countdown timers, and match reminders.

Discord schedule commands

Bot commands for live scores, upcoming matches, and player stats.

Fantasy lock timers

Know exactly when lineups lock for fantasy slates.

Team pages

Current roster, recent matches, and win streaks.

Tournament hubs

Brackets, standings, and match results in one view.

Daily match emails

Morning digest of today's pro matches.

High-intent schedule data

Schedule requests are usually product-critical: bots need daily commands, match centers need countdowns, fantasy apps need lock times, and calendars need clean upcoming match rows.

Designed for fallbacks

Use schedule endpoints with live and recent match endpoints so your app can show upcoming, live, and completed states without leaving users on an empty page.