Description
n8n-nodes-leagueoflegends




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:
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
- A Riot API key from https://developer.riotgames.com/ (dev keys expire every 24h).
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
Get by Riot ID"] -->|puuid| B["Spectator
Get Current Game"]
A -->|puuid| C["League
Ranked Entries"]
A -->|puuid| D["Match
Get Many"]
D -->|matchId| E["Match
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).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.