Skip to content

Endpoint coverage

yasuo exposes every Riot Games API endpoint as a typed, discoverable method, grouped by game and Riot service. Reach each service through a game-scoped namespace on the client — yasuo.lol.*, yasuo.tft.*, yasuo.riot.* and yasuo.dataDragon.*. Each method returns a query builder you run with a terminal .execute(), which resolves — non-throwing — to a rich entity, a Collection, or a scalar ValueResult directly (never a raw wire DTO), each carrying its own .error/.http (opt into throwing with .execute({ throw: true }), or get the raw payload with .execute({ raw: true })). Two exceptions: stream* methods return a Paginator you loop with for await, and yasuo.dataDragon.* returns raw DTO promises directly. Platform-scoped services route by Region; match/account route by RegionGroup. This page is the exhaustive method-by-method reference.

Coverage: 33 LoL + 14 TFT + 4 Riot Account endpoints + Data Dragon = full parity with the current Riot API.

The Returns column shows what a query method's .execute() resolves to: an entity or a Collection directly, or — for scalar endpoints — a ValueResult you read via .value. Paginator rows are async-iterables you consume with for await; Data Dragon rows are raw payload promises. Lazy *Ref builders are SingleQuery subclasses — .execute() them, or chain a relation and .execute() that instead.

Deprecated methods are flagged (deprecated) — they still work, but Riot is phasing out encrypted summoner/account ids in favour of PUUIDs.

League of Legends — yasuo.lol

SUMMONER-V4 — yasuo.lol.summoner

Method Riot API Routing Returns
yasuo.lol.summoner.byPuuid(puuid: string, region: Region) SUMMONER-V4 /summoners/by-puuid/{puuid} Region lazy SummonerRef extends SingleQuerySummonerEntity
yasuo.lol.summoner.byId(summonerId: string, region: Region) (deprecated) SUMMONER-V4 /summoners/{summonerId} Region SummonerEntity
yasuo.lol.summoner.byAccountId(accountId: string, region: Region) (deprecated) SUMMONER-V4 /summoners/by-account/{accountId} Region SummonerEntity

LEAGUE-V4 — yasuo.lol.league

Method Riot API Routing Returns
yasuo.lol.league.byPuuid(puuid: string, region: Region) LEAGUE-V4 /entries/by-puuid/{puuid} Region Collection<LeagueEntryEntity>
yasuo.lol.league.bySummonerId(summonerId: string, region: Region) (deprecated) LEAGUE-V4 /entries/by-summoner/{summonerId} Region Collection<LeagueEntryEntity>
yasuo.lol.league.entries(queue: RankedQueue, tier: Tier, division: Division, region: Region, page?: number) LEAGUE-V4 /entries/{queue}/{tier}/{division} Region Collection<LeagueEntryEntity>
yasuo.lol.league.expEntries(queue: RankedQueue, tier: Tier, division: Division, region: Region, page?: number) LEAGUE-EXP-V4 /entries/{queue}/{tier}/{division} Region Collection<LeagueEntryEntity>
yasuo.lol.league.streamEntries(queue: RankedQueue, tier: Tier, division: Division, region: Region, options?: LeagueStreamOptions) LEAGUE-V4 /entries/{queue}/{tier}/{division} (auto-paged) Region Paginator<LeagueEntryEntity>
yasuo.lol.league.challenger(queue: RankedQueue, region: Region) LEAGUE-V4 /challengerleagues/by-queue/{queue} Region LeagueListEntity
yasuo.lol.league.grandmaster(queue: RankedQueue, region: Region) LEAGUE-V4 /grandmasterleagues/by-queue/{queue} Region LeagueListEntity
yasuo.lol.league.master(queue: RankedQueue, region: Region) LEAGUE-V4 /masterleagues/by-queue/{queue} Region LeagueListEntity
yasuo.lol.league.byId(leagueId: string, region: Region) LEAGUE-V4 /leagues/{leagueId} Region LeagueListEntity

CHAMPION-MASTERY-V4 — yasuo.lol.mastery

Method Riot API Routing Returns
yasuo.lol.mastery.byPuuid(puuid: string, region: Region) CHAMPION-MASTERY-V4 /champion-masteries/by-puuid/{puuid} Region Collection<ChampionMasteryEntity>
yasuo.lol.mastery.byChampion(puuid: string, championId: number, region: Region) CHAMPION-MASTERY-V4 /champion-masteries/by-puuid/{puuid}/by-champion/{championId} Region ChampionMasteryEntity
yasuo.lol.mastery.top(puuid: string, region: Region, count?: number) CHAMPION-MASTERY-V4 /champion-masteries/by-puuid/{puuid}/top Region Collection<ChampionMasteryEntity>
yasuo.lol.mastery.score(puuid: string, region: Region) CHAMPION-MASTERY-V4 /scores/by-puuid/{puuid} Region ValueResult<number> (scalar; read .value)

CHAMPION-V3 — yasuo.lol.champion

Method Riot API Routing Returns
yasuo.lol.champion.rotation(region: Region) CHAMPION-V3 /champion-rotations Region ChampionRotationEntity

MATCH-V5 — yasuo.lol.match

All match methods use regional routing (RegionGroup).

Method Riot API Routing Returns
yasuo.lol.match.get(matchId: string, regionGroup: RegionGroup) MATCH-V5 /matches/{matchId} RegionGroup MatchEntity
yasuo.lol.match.timeline(matchId: string, regionGroup: RegionGroup) MATCH-V5 /matches/{matchId}/timeline RegionGroup MatchTimelineEntity
yasuo.lol.match.idsByPuuid(puuid: string, regionGroup: RegionGroup, query?: MatchIdsQuery) MATCH-V5 /matches/by-puuid/{puuid}/ids RegionGroup Collection<string>
yasuo.lol.match.byPuuid(puuid: string, regionGroup: RegionGroup, query?: MatchIdsQuery) MATCH-V5 /matches/by-puuid/{puuid}/ids + /matches/{id} RegionGroup Collection<MatchEntity>
yasuo.lol.match.streamIds(puuid: string, regionGroup: RegionGroup, options?: MatchStreamOptions) MATCH-V5 /matches/by-puuid/{puuid}/ids (auto-paged) RegionGroup Paginator<string>
yasuo.lol.match.streamMatches(puuid: string, regionGroup: RegionGroup, options?: MatchStreamOptions) MATCH-V5 /matches/by-puuid/{puuid}/ids + /matches/{id} (auto-paged) RegionGroup Paginator<MatchEntity>

SPECTATOR-V5 — yasuo.lol.spectator

Method Riot API Routing Returns
yasuo.lol.spectator.active(puuid: string, region: Region) SPECTATOR-V5 /active-games/by-summoner/{puuid} Region CurrentGameEntity \| null
yasuo.lol.spectator.featured(region: Region) SPECTATOR-V5 /featured-games Region FeaturedGamesEntity

LOL-STATUS-V4 — yasuo.lol.status

Method Riot API Routing Returns
yasuo.lol.status.get(region: Region) LOL-STATUS-V4 /platform-data Region PlatformStatusEntity

CLASH-V1 — yasuo.lol.clash

Method Riot API Routing Returns
yasuo.lol.clash.playersByPuuid(puuid: string, region: Region) CLASH-V1 /players/by-puuid/{puuid} Region Collection<ClashPlayerEntity>
yasuo.lol.clash.teamById(teamId: string, region: Region) CLASH-V1 /teams/{teamId} Region ClashTeamEntity
yasuo.lol.clash.tournaments(region: Region) CLASH-V1 /tournaments Region Collection<ClashTournamentEntity>
yasuo.lol.clash.tournamentByTeam(teamId: string, region: Region) CLASH-V1 /tournaments/by-team/{teamId} Region ClashTournamentEntity
yasuo.lol.clash.tournamentById(tournamentId: number \| string, region: Region) CLASH-V1 /tournaments/{tournamentId} Region ClashTournamentEntity

LOL-CHALLENGES-V1 — yasuo.lol.challenges

Method Riot API Routing Returns
yasuo.lol.challenges.config(region: Region) LOL-CHALLENGES-V1 /challenges/config Region Collection<ChallengeConfigEntity>
yasuo.lol.challenges.percentiles(region: Region) LOL-CHALLENGES-V1 /challenges/percentiles Region ValueResult<AllChallengePercentilesDTO> (scalar; read .value)
yasuo.lol.challenges.configById(challengeId: number, region: Region) LOL-CHALLENGES-V1 /challenges/{challengeId}/config Region ChallengeConfigEntity
yasuo.lol.challenges.leaderboards(challengeId: number, level: ChallengeLevel, region: Region, limit?: number) LOL-CHALLENGES-V1 /challenges/{challengeId}/leaderboards/by-level/{level} Region Collection<ChallengeApexPlayerDTO>
yasuo.lol.challenges.percentilesById(challengeId: number, region: Region) LOL-CHALLENGES-V1 /challenges/{challengeId}/percentiles Region ChallengePercentilesEntity
yasuo.lol.challenges.player(puuid: string, region: Region) LOL-CHALLENGES-V1 /player-data/{puuid} Region PlayerChallengesEntity

Teamfight Tactics — yasuo.tft

TFT-SUMMONER-V1 — yasuo.tft.summoner

Method Riot API Routing Returns
yasuo.tft.summoner.byPuuid(puuid: string, region: Region) TFT-SUMMONER-V1 /summoners/by-puuid/{puuid} Region lazy TftSummonerRef extends SingleQueryTftSummonerEntity
yasuo.tft.summoner.byId(summonerId: string, region: Region) (deprecated) TFT-SUMMONER-V1 /summoners/{summonerId} Region TftSummonerEntity

TFT-LEAGUE-V1 — yasuo.tft.league

Method Riot API Routing Returns
yasuo.tft.league.byPuuid(puuid: string, region: Region) TFT-LEAGUE-V1 /by-puuid/{puuid} Region Collection<TftLeagueEntryEntity>
yasuo.tft.league.bySummonerId(summonerId: string, region: Region) (deprecated) TFT-LEAGUE-V1 /entries/by-summoner/{summonerId} Region Collection<TftLeagueEntryEntity>
yasuo.tft.league.entries(tier: Tier, division: Division, region: Region, page?: number) TFT-LEAGUE-V1 /entries/{tier}/{division} Region Collection<TftLeagueEntryEntity>
yasuo.tft.league.challenger(region: Region) TFT-LEAGUE-V1 /challenger Region TftLeagueListEntity
yasuo.tft.league.grandmaster(region: Region) TFT-LEAGUE-V1 /grandmaster Region TftLeagueListEntity
yasuo.tft.league.master(region: Region) TFT-LEAGUE-V1 /master Region TftLeagueListEntity
yasuo.tft.league.byId(leagueId: string, region: Region) TFT-LEAGUE-V1 /leagues/{leagueId} Region TftLeagueListEntity
yasuo.tft.league.ratedLadder(region: Region, queue?: TftRatedLadderQueue) TFT-LEAGUE-V1 /rated-ladders/{queue}/top Region Collection<TftRatedLadderEntryEntity>

TFT-MATCH-V1 — yasuo.tft.match

All match methods use regional routing (RegionGroup).

Method Riot API Routing Returns
yasuo.tft.match.idsByPuuid(puuid: string, regionGroup: RegionGroup, query?: TftMatchIdsQuery) TFT-MATCH-V1 /matches/by-puuid/{puuid}/ids RegionGroup Collection<string>
yasuo.tft.match.get(matchId: string, regionGroup: RegionGroup) TFT-MATCH-V1 /matches/{matchId} RegionGroup TftMatchEntity
yasuo.tft.match.byPuuid(puuid: string, regionGroup: RegionGroup, query?: TftMatchIdsQuery) TFT-MATCH-V1 /matches/by-puuid/{puuid}/ids + /matches/{id} RegionGroup Collection<TftMatchEntity>
yasuo.tft.match.streamMatches(puuid: string, regionGroup: RegionGroup, options?: TftMatchStreamOptions) TFT-MATCH-V1 /matches/by-puuid/{puuid}/ids + /matches/{id} (auto-paged) RegionGroup Paginator<TftMatchEntity>

SPECTATOR-TFT-V5 — yasuo.tft.spectator

Method Riot API Routing Returns
yasuo.tft.spectator.active(puuid: string, region: Region) SPECTATOR-TFT-V5 /active-games/by-puuid/{puuid} Region CurrentGameEntity \| null
yasuo.tft.spectator.featured(region: Region) SPECTATOR-TFT-V5 /featured-games Region FeaturedGamesEntity

Riot Account — yasuo.riot.account

ACCOUNT-V1 uses regional routing restricted to AMERICAS, ASIA or EUROPE (typed as AccountRegionGroup).

Method Riot API Routing Returns
yasuo.riot.account.byPuuid(puuid: string, regionGroup: AccountRegionGroup) ACCOUNT-V1 /accounts/by-puuid/{puuid} RegionGroup AccountEntity
yasuo.riot.account.byRiotId(gameName: string, tagLine: string, regionGroup: AccountRegionGroup) ACCOUNT-V1 /accounts/by-riot-id/{gameName}/{tagLine} RegionGroup AccountEntity
yasuo.riot.account.activeShard(game: Game, puuid: string, regionGroup: AccountRegionGroup) ACCOUNT-V1 /active-shards/by-game/{game}/by-puuid/{puuid} RegionGroup ActiveShardEntity
yasuo.riot.account.activeRegion(game: Game, puuid: string, regionGroup: AccountRegionGroup) ACCOUNT-V1 /region/by-game/{game}/by-puuid/{puuid} RegionGroup AccountRegionEntity

Data Dragon — yasuo.dataDragon

Data Dragon is Riot's public static-data CDN (champions, runes, versions, reference lists). These methods return the raw payloads directly (not entities). versions() and per-locale champion lists are memoised in-process.

Method Riot API Routing Returns
yasuo.dataDragon.versions() DDragon /api/versions.json CDN (none) string[]
yasuo.dataDragon.languages() DDragon /cdn/languages.json CDN (none) string[]
yasuo.dataDragon.realm(server: string) DDragon /realms/{server}.json CDN (none) DDragonRealmDTO
yasuo.dataDragon.champions(language?: string) DDragon /cdn/{version}/data/{language}/champion.json CDN (none) DDragonChampionListDTO
yasuo.dataDragon.champion(name: string, language?: string) DDragon /cdn/{version}/data/{language}/champion/{name}.json CDN (none) DDragonChampionDetailDTO
yasuo.dataDragon.championById(championId: number, language?: string) DDragon champion.json (looked up by numeric key) CDN (none) DDragonChampionSummaryDTO \| null
yasuo.dataDragon.runesReforged(language?: string) DDragon /cdn/{version}/data/{language}/runesReforged.json CDN (none) DDragonRunesReforgedDTO[]
yasuo.dataDragon.queues() Static /docs/lol/queues.json CDN (none) DDragonQueueDTO[]
yasuo.dataDragon.maps() Static /docs/lol/maps.json CDN (none) DDragonMapDTO[]
yasuo.dataDragon.gameModes() Static /docs/lol/gameModes.json CDN (none) DDragonGameModeDTO[]
yasuo.dataDragon.gameTypes() Static /docs/lol/gameTypes.json CDN (none) DDragonGameTypeDTO[]
yasuo.dataDragon.seasons() Static /docs/lol/seasons.json CDN (none) DDragonSeasonDTO[]

Note: Data Dragon is served from a public CDN. It needs no API key and is not rate-limited, so yasuo.dataDragon.* calls never count against your Riot API quota and skip the client's rate limiter entirely.