leagueoflegends

n8n community node to interact with the Riot Games / League of Legends API (current game, match history, ranked stats, mastery...)

Package Information

Released: 3 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.6

Documentation

League of Legends

n8n-nodes-leagueoflegends

npm version
npm downloads
License: MIT
n8n verified

Community node for n8n to interact with the Riot Games / League of Legends API —
current game, match history, ranked stats, champion mastery and more.

✅ Verified community node — available directly from the node panel on n8n
(self-hosted and n8n Cloud).

Installation

This is a verified community node: in n8n, click + (Add node), search for
League of Legends, and add it — no manual install needed.

Manual install (older n8n, or as an unverified package)

Settings → Community Nodes → Install → n8n-nodes-leagueoflegends. Manual / Docker
deployment is also documented further down.

Then create a Riot Games API credential with your RGAPI-... key (see below).

Preview

A single League of Legends node exposing 10 actions grouped by resource:

League of Legends node actions in n8n

What it does

The node exposes the following resources & operations:

Resource Operation Riot endpoint
Account Get by Riot ID account-v1 /accounts/by-riot-id/{name}/{tag}
Account Get by PUUID account-v1 /accounts/by-puuid/{puuid}
Summoner Get by PUUID summoner-v4 /summoners/by-puuid/{puuid}
Spectator Get Current Game spectator-v5 /active-games/by-summoner/{puuid}
Match Get Many (history) match-v5 /matches/by-puuid/{puuid}/ids
Match Get match-v5 /matches/{matchId}
Match Get Timeline match-v5 /matches/{matchId}/timeline
League Get Ranked Entries league-v4 /entries/by-puuid/{puuid}
Champion Mastery Get All / Get Top champion-mastery-v4 /champion-masteries/by-puuid/{puuid}

Regional routing (platform host like euw1 vs continent host like europe) is derived
automatically from the Platform you pick on the node.

Prerequisites

Credentials

In n8n, create a Riot Games API credential and paste your RGAPI-... key.
The key is sent as the X-Riot-Token header on every request. The credential test
hits lol/status/v4/platform-data on EUW.

Typical flow: "what is player X doing right now?"

  1. Account → Get by Riot ID (gameName = Faker, tagLine = KR1) → returns puuid
  2. Spectator → Get Current Game (puuid) → live game if in one (404 = not in game)
  3. League → Get Ranked Entries (puuid) → tier / LP / wins / losses
  4. Match → Get Many (puuid, filter queue 420) → recent match IDs
  5. Match → Get (loop over each matchId) → full stats per game
flowchart LR
    A["Account<br/>Get by Riot ID"] -->|puuid| B["Spectator<br/>Get Current Game"]
    A -->|puuid| C["League<br/>Ranked Entries"]
    A -->|puuid| D["Match<br/>Get Many"]
    D -->|matchId| E["Match<br/>Get details"]

Build

npm install --ignore-scripts   # --ignore-scripts avoids compiling isolated-vm (not needed to build)
npm run build                  # tsc + copy icons into dist/

Deploy to a self-hosted (Docker) n8n

n8n auto-loads packages placed in ~/.n8n/custom/node_modules/. If your n8n
data dir is bind-mounted from the host into the container, copy the built package into it:

# from the project dir, after `npm run build`
mkdir -p /path/to/n8n-data/custom/node_modules
cp -r . /path/to/n8n-data/custom/node_modules/n8n-nodes-leagueoflegends
# then restart n8n so it re-scans custom nodes
docker restart n8n

Only package.json + dist/ are actually needed at runtime (n8n-workflow is a peer
dependency provided by n8n itself). After restart, search for "League of Legends" in the
node picker.

Notes

  • queue and type filters on Match → Get Many are mutually exclusive (Riot limitation).
  • Rate limits: dev keys are ~20 req/s, 100 req/2min. Add a Wait/Loop if you fan out.
  • spectator-v5 returns HTTP 404 when the player is not currently in a game. The node
    treats this as an expected "no data" case for Get Current Game: it emits no items
    instead of failing, so a polling workflow simply does nothing when the player is idle.

Disclaimer

n8n-nodes-leagueoflegends isn't endorsed by Riot Games and doesn't reflect the views or
opinions of Riot Games or anyone officially involved in producing or managing Riot Games
properties. Riot Games, and all associated properties are trademarks or registered
trademarks of Riot Games, Inc.

Discussion