Skip to content

Instantly share code, notes, and snippets.

@levi
Last active July 8, 2024 22:51
Show Gist options
  • Save levi/e7e5e808ac0119e154ce to your computer and use it in GitHub Desktop.
Save levi/e7e5e808ac0119e154ce to your computer and use it in GitHub Desktop.
Riot LoL eSports Unofficial API Documentation

LOL eSports API

Unofficial documentation to internal Riot Games APIs for LOL eSports.

Tournament Week Schedule

GET /api/programming.json?parameters[method]=all HTTP/1.1
Host: http://na.lolesports.com

Parameters

Note: All parameters need to be wrapped in parameters[param] scope.

Name Description Type
week Week number in tournament to return matches number
tournament Tournament ID to search within number
expand_matches Include to include rich match meta data string

Example

curl 'http://na.lolesports.com/api/programming.json?parameters[method]=all&parameters[week]=1&parameters[tournament]=102&parameters[expand_matches]=1'
[
    {
        "blockId": "1773",
        "dateTime": "2014-05-20T15:00:00+00:00",
        "tickets": " ",
        "matches": {
            "2291": {
                "dateTime": "2014-05-20T15:00Z",
                "matchName": "Fnatic vs SK Gaming",
                "winnerId": "67",
                "matchId": "2291",
                "url": "/tourney/match/2291",
                "maxGames": "1",
                "isLive": false,
                "isFinished": "1",
                "tournament": {
                    "id": "102",
                    "name": "EU Summer Split",
                    "round": "1"
                },
                "contestants": {
                    "blue": {
                        "id": "68",
                        "name": "Fnatic",
                        "logoURL": "/sites/default/files/styles/grid_medium_square/public/fnaticlogo.png?itok=1C-vza-C",
                        "acronym": "FNC",
                        "wins": 0,
                        "losses": 1
                    },
                    "red": {
                        "id": "67",
                        "name": "SK Gaming",
                        "logoURL": "/sites/default/files/styles/grid_medium_square/public/sk-white.png?itok=Z75PKCOL",
                        "acronym": "SK",
                        "wins": 1,
                        "losses": 0
                    }
                },
                "gamesInfo": {
                    "game0": {
                        "id": "2774",
                        "winnerId": "67"
                    }
                },
                "liveStreams": false,
                "polldaddyId": "8011364:36412083:36412084"
            }
        },
        "leagueId": "2",
        "tournamentId": "102",
        "significance": "0",
        "tbdTime": "0",
        "leagueColor": "#CA3B3B",
        "week": "1",
        "body": [],
        "label": "EU Summer Split - Week 1"
    }
]

--

Week Schedule

GET /api/programmingWeek/{date}/{timezone}.json HTTP/1.1
Host: http://na.lolesports.com

Parameters

Name Description Type
date YYYY-MM-DD date to look up matches string
offset ±[hh][mm] timezone offset for match times string

Example

curl http://na.lolesports.com/api/programmingWeek/2014-05-19/-0700.json
{
    "programming_block": {
        "1719": {
            "id": "1719"
        },
        "1773": {
            "id": "1773"
        },
        "1774": {
            "id": "1774"
        },
        "1775": {
            "id": "1775"
        },
        "1826": {
            "id": "1826"
        },
        "1827": {
            "id": "1827"
        },
        "1828": {
            "id": "1828"
        },
        "1855": {
            "id": "1855"
        },
        "1887": {
            "id": "1887"
        },
        "1888": {
            "id": "1888"
        },
        "1889": {
            "id": "1889"
        }
    },
    "days": [
        {
            "blockNum": 0,
            "date": "2014-05-19T07:00:00+00:00",
            "day": "Monday"
        },
        {
            "blockNum": 2,
            "blockIds": [
                "1855",
                "1773"
            ],
            "date": "2014-05-20T07:00:00+00:00",
            "day": "Tuesday"
        },
        {
            "blockNum": 1,
            "blockIds": [
                "1774"
            ],
            "date": "2014-05-21T07:00:00+00:00",
            "day": "Wednesday"
        },
        {
            "blockNum": 1,
            "blockIds": [
                "1775"
            ],
            "date": "2014-05-22T07:00:00+00:00",
            "day": "Thursday"
        },
        {
            "blockNum": 1,
            "blockIds": [
                "1826"
            ],
            "date": "2014-05-23T07:00:00+00:00",
            "day": "Friday"
        },
        {
            "blockNum": 4,
            "blockIds": [
                "1887",
                "1719",
                "1827",
                "1888"
            ],
            "date": "2014-05-24T07:00:00+00:00",
            "day": "Saturday"
        },
        {
            "blockNum": 2,
            "blockIds": [
                "1889",
                "1828"
            ],
            "date": "2014-05-25T07:00:00+00:00",
            "day": "Sunday"
        }
    ],
    "containsMatch": true,
    "nextProgBlock": {
        "status": 1,
        "blockId": "1776",
        "blockDate": "2014-05-29T16:00:00+00:00"
    }
}

--

Program blocks

GET /api/programming/{block_id}.json HTTP/1.1
Host: http://na.lolesports.com

Parameters

Name Description Type
expand_matches Include to include rich match meta data string

Example

curl http://na.lolesports.com/api/programming/1855.json?expand_matches=1
{
    "blockId": "1773",
    "dateTime": "2014-05-20T15:00:00+00:00",
    "tickets": " ",
    "matches": {
        "2291": {
            "dateTime": "2014-05-20T15:00Z",
            "matchName": "Fnatic vs SK Gaming",
            "winnerId": "67",
            "matchId": "2291",
            "url": "/tourney/match/2291",
            "maxGames": "1",
            "isLive": false,
            "isFinished": "1",
            "tournament": {
                "id": "102",
                "name": "EU Summer Split",
                "round": "1"
            },
            "contestants": {
                "blue": {
                    "id": "68",
                    "name": "Fnatic",
                    "logoURL": "/sites/default/files/styles/grid_medium_square/public/fnaticlogo.png?itok=1C-vza-C",
                    "acronym": "FNC",
                    "wins": 0,
                    "losses": 1
                },
                "red": {
                    "id": "67",
                    "name": "SK Gaming",
                    "logoURL": "/sites/default/files/styles/grid_medium_square/public/sk-white.png?itok=Z75PKCOL",
                    "acronym": "SK",
                    "wins": 1,
                    "losses": 0
                }
            },
            "gamesInfo": {
                "game0": {
                    "id": "2774",
                    "winnerId": "67"
                }
            },
            "liveStreams": false,
            "polldaddyId": "8011364:36412083:36412084"
        }
    },
    "leagueId": "2",
    "tournamentId": "102",
    "significance": "0",
    "tbdTime": "0",
    "leagueColor": "#CA3B3B",
    "week": "1",
    "body": [],
    "label": "EU Summer Split - Week 1"
}

--

League

GET /api/league/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/league/1.json
{
  "color": "#1376A4",
  "leagueImage": "http://na.lolesports.com/sites/default/files/NA_LCS_logo.png",
  "defaultTournamentId": "104",
  "defaultSeriesId": 0,
  "internationalLiveStream": [

  ],
  "shortName": "NA LCS",
  "url": "http://na.lolesports.com/na-lcs",
  "label": "NA LCS",
  "id": "1"
}

--

Tournament

GET /api/tournament/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/tournament/102.json
{
  "contestants": {
    "contestant1": {
      "id": "1100",
      "name": "Copenhagen Wolves",
      "acronym": "CW"
    },
    "contestant2": {
      "id": "1242",
      "name": "ROCCAT",
      "acronym": "ROC"
    },
    "contestant3": {
      "id": "1243",
      "name": "Millenium",
      "acronym": "MIL"
    },
    "contestant4": {
      "id": "589",
      "name": "Supa Hot Crew",
      "acronym": "SHC"
    },
    "contestant5": {
      "id": "70",
      "name": "Alliance",
      "acronym": "ALL"
    },
    "contestant6": {
      "id": "67",
      "name": "SK Gaming",
      "acronym": "SK"
    },
    "contestant7": {
      "id": "68",
      "name": "Fnatic",
      "acronym": "FNC"
    },
    "contestant8": {
      "id": "69",
      "name": "Gambit Gaming",
      "acronym": "GMB"
    }
  },
  "isFinished": false,
  "dateBegin": "2014-05-20T15:00Z",
  "dateEnd": "2014-07-31T15:00Z",
  "name": "EU Summer Split"
}

--

Match

GET /api/match/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/match/2291.json
{
    "tournament": {
        "id": "102",
        "name": "EU Summer Split",
        "round": "1"
    },
    "url": "/tourney/match/2291",
    "dateTime": "2014-05-20T15:00Z",
    "winnerId": "67",
    "matchId": "2291",
    "maxGames": "1",
    "isLive": false,
    "isFinished": "1",
    "contestants": {
        "blue": {
            "id": "68",
            "name": "Fnatic",
            "logoURL": "/sites/default/files/styles/grid_medium_square/public/fnaticlogo.png?itok=1C-vza-C",
            "acronym": "FNC",
            "wins": 0,
            "losses": 1
        },
        "red": {
            "id": "67",
            "name": "SK Gaming",
            "logoURL": "/sites/default/files/styles/grid_medium_square/public/sk-white.png?itok=Z75PKCOL",
            "acronym": "SK",
            "wins": 1,
            "losses": 0
        }
    },
    "liveStreams": false,
    "polldaddyId": "8011364:36412083:36412084",
    "games": {
        "game0": {
            "id": "2774",
            "winnerId": "67"
        }
    },
    "name": "Fnatic vs SK Gaming"
}

--

Game

GET /api/game/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/game/2782.json
{
  "dateTime": "2014-05-20T15:00Z",
  "winnerId": "67",
  "maxGames": "1",
  "gameNumber": "1",
  "gameLength": 2003,
  "matchId": "2291",
  "tournament": {
    "id": "102",
    "name": "EU Summer Split",
    "round": "1"
  },
  "vods": {
    "vod": {
      "type": "youtube",
      "URL": "http://www.youtube.com/watch?v=vrZfyHtcnC0",
      "embedCode": null
    }
  },
  "contestants": {
    "blue": {
      "id": "68",
      "name": "Fnatic",
      "logoURL": "http://na.lolesports.com/sites/default/files/fnaticlogo.png"
    },
    "red": {
      "id": "67",
      "name": "SK Gaming",
      "logoURL": "http://na.lolesports.com/sites/default/files/sk-white.png"
    }
  },
  "players": {
    "player0": {
      "id": "76",
      "teamId": "68",
      "name": "sOAZ",
      "kda": 0.6,
      "kills": 0,
      "deaths": 5,
      "assists": 3,
      "endLevel": 13,
      "minionsKilled": 184,
      "totalGold": 8608,
      "spell012": "12",
      "spell14": "4",
      "items03254": "3254",
      "items11055": "1055",
      "items23078": "3078",
      "items33082": "3082",
      "items41055": "1055",
      "items51042": "1042",
      "championId": 39
    },
    "player1": {
      "id": "75",
      "teamId": "68",
      "name": "Cyanide",
      "kda": 3.5,
      "kills": 3,
      "deaths": 2,
      "assists": 4,
      "endLevel": 14,
      "minionsKilled": 115,
      "totalGold": 9512,
      "spell04": "4",
      "spell111": "11",
      "items03207": "3207",
      "items13143": "3143",
      "items23158": "3158",
      "items32044": "2044",
      "items43105": "3105",
      "items50": "0",
      "championId": 60
    },
    "player2": {
      "id": "77",
      "teamId": "68",
      "name": "xPeke",
      "kda": 9,
      "kills": 3,
      "deaths": 1,
      "assists": 6,
      "endLevel": 16,
      "minionsKilled": 274,
      "totalGold": 12165,
      "spell04": "4",
      "spell114": "14",
      "items03108": "3108",
      "items13135": "3135",
      "items23089": "3089",
      "items33174": "3174",
      "items43020": "3020",
      "items51056": "1056",
      "championId": 7
    },
    "player3": {
      "id": "78",
      "teamId": "68",
      "name": "YellOwStaR",
      "kda": 1.3333333333333,
      "kills": 0,
      "deaths": 3,
      "assists": 4,
      "endLevel": 11,
      "minionsKilled": 39,
      "totalGold": 6747,
      "spell03": "3",
      "spell14": "4",
      "items02010": "2010",
      "items12049": "2049",
      "items23222": "3222",
      "items33117": "3117",
      "items43097": "3097",
      "items53067": "3067",
      "championId": 412
    },
    "player4": {
      "id": "1140",
      "teamId": "68",
      "name": "Rekkles",
      "kda": 7,
      "kills": 4,
      "deaths": 0,
      "assists": 3,
      "endLevel": 16,
      "minionsKilled": 308,
      "totalGold": 12648,
      "spell04": "4",
      "spell17": "7",
      "items03035": "3035",
      "items11038": "1038",
      "items23072": "3072",
      "items33046": "3046",
      "items43006": "3006",
      "items51037": "1037",
      "championId": 104
    },
    "player5": {
      "id": "493",
      "teamId": "68",
      "name": "Puszu",
      "kda": null,
      "kills": null,
      "deaths": null,
      "assists": null,
      "endLevel": null,
      "minionsKilled": null,
      "totalGold": null,
      "spell0": "",
      "items0": "",
      "championId": null
    },
    "player6": {
      "id": "1648",
      "teamId": "68",
      "name": "LamiaZealot",
      "kda": null,
      "kills": null,
      "deaths": null,
      "assists": null,
      "endLevel": null,
      "minionsKilled": null,
      "totalGold": null,
      "spell0": "",
      "items0": "",
      "championId": null
    },
    "player7": {
      "id": "118",
      "teamId": "67",
      "name": "CandyPanda",
      "kda": 5.5,
      "kills": 4,
      "deaths": 2,
      "assists": 7,
      "endLevel": 16,
      "minionsKilled": 280,
      "totalGold": 13722,
      "spell04": "4",
      "spell17": "7",
      "items03078": "3078",
      "items13072": "3072",
      "items23035": "3035",
      "items33250": "3250",
      "items40": "0",
      "items51055": "1055",
      "championId": 236
    },
    "player8": {
      "id": "1124",
      "teamId": "67",
      "name": "fredy122",
      "kda": 2,
      "kills": 1,
      "deaths": 3,
      "assists": 5,
      "endLevel": 15,
      "minionsKilled": 177,
      "totalGold": 10130,
      "spell04": "4",
      "spell112": "12",
      "items03153": "3153",
      "items13082": "3082",
      "items23211": "3211",
      "items33111": "3111",
      "items41055": "1055",
      "items51011": "1011",
      "championId": 48
    },
    "player9": {
      "id": "1125",
      "teamId": "67",
      "name": "Svenskeren",
      "kda": 10,
      "kills": 4,
      "deaths": 1,
      "assists": 6,
      "endLevel": 15,
      "minionsKilled": 118,
      "totalGold": 10442,
      "spell011": "11",
      "spell14": "4",
      "items02049": "2049",
      "items10": "0",
      "items23102": "3102",
      "items33209": "3209",
      "items43111": "3111",
      "items51011": "1011",
      "championId": 64
    },
    "player10": {
      "id": "1126",
      "teamId": "67",
      "name": "Jesiz",
      "kda": 2.6666666666667,
      "kills": 2,
      "deaths": 3,
      "assists": 6,
      "endLevel": 16,
      "minionsKilled": 243,
      "totalGold": 11909,
      "spell04": "4",
      "spell114": "14",
      "items01056": "1056",
      "items13085": "3085",
      "items23135": "3135",
      "items31056": "1056",
      "items43115": "3115",
      "items53252": "3252",
      "championId": 10
    },
    "player11": {
      "id": "79",
      "teamId": "67",
      "name": "nRated",
      "kda": 10,
      "kills": 0,
      "deaths": 1,
      "assists": 10,
      "endLevel": 13,
      "minionsKilled": 23,
      "totalGold": 8878,
      "spell04": "4",
      "spell13": "3",
      "items03190": "3190",
      "items12045": "2045",
      "items20": "0",
      "items33117": "3117",
      "items41028": "1028",
      "items53098": "3098",
      "championId": 25
    },
    "player12": {
      "id": "1520",
      "teamId": "67",
      "name": "Mozilla",
      "kda": null,
      "kills": null,
      "deaths": null,
      "assists": null,
      "endLevel": null,
      "minionsKilled": null,
      "totalGold": null,
      "spell0": "",
      "items0": "",
      "championId": null
    },
    "player13": {
      "id": "1522",
      "teamId": "67",
      "name": "Ginsu",
      "kda": null,
      "kills": null,
      "deaths": null,
      "assists": null,
      "endLevel": null,
      "minionsKilled": null,
      "totalGold": null,
      "spell0": "",
      "items0": "",
      "championId": null
    }
  }
}

--

Team

GET /api/team/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/team/426.json
{
  "name": "Evil Geniuses",
  "bio": "Evil Geniuses is one of the largest esports organizations in the world, bringing over their team from Europe to compete in the NA LCS. The squad formerly known as CLG.EU, took 4th place in the Season 2 World Championships and barely missed out representing Europe in Season 3. With solo lane players Froggen and Wickd departing for Alliance, EG has tasked Innox and Pobelter to fill in the empty slots on the roster. \r\n\r\nThe combined talent was slated to make a big impression on the 2014 NA LCS spring split, but their debut was largely unimpressive, and, by the end of the split, EG had fallen to relegation. Though they pushed through relegation relatively easily, defeating Cloud 9 Tempest 3-1, EG will need to make some serious changes in order to avoid relegation in the summer split. The NA scene will be exceptionally competitive this season, and without considerable improvement, EG may fall victim to another disappointing split. \r\n",
  "noPlayers": null,
  "roster": {
    "players0": {
      "playerId": "84",
      "name": "Krepo",
      "role": "Support",
      "isStarter": 1
    },
    "players1": {
      "playerId": "81",
      "name": "Snoopeh",
      "role": "Jungler",
      "isStarter": 1
    },
    "players2": {
      "playerId": "83",
      "name": "Yellowpete",
      "role": "AD Carry",
      "isStarter": 1
    },
    "players3": {
      "playerId": "1132",
      "name": "Pobelter",
      "role": "Mid Lane",
      "isStarter": 1
    },
    "players4": {
      "playerId": "1133",
      "name": "Innox",
      "role": "Top Lane",
      "isStarter": 1
    }
  },
  "logoUrl": "http://na.lolesports.com/sites/default/files/eglogo.png",
  "profileUrl": "http://na.lolesports.com/node/426",
  "teamPhotoUrl": "http://na.lolesports.com/sites/default/files/EG.S14.TMPROFILE.jpg",
  "acronym": "EG"
}

--

Player

GET /api/player/{id}.json HTTP/1.1
Host: http://na.lolesports.com

Example

curl http://na.lolesports.com/api/player/84.json
{
  "name": "Krepo",
  "bio": "The Support player of Evil Geniuses and member of the Analyst Desk at Season 3 Worlds, Krepo has described his synergy with his AD carry Yellowpete as a \u201cYin and Yang\u201d partnership. Known for unintentionally stealing his AD carry\u2019s kills, his teammates jokingly refer to him as \u201cScumbag Krepo\u201d, a name now adopted by the community at large. Preferring to play aggressive support champions, he is best known for his terrifying Leona play. He admits that passive supports simply don\u2019t fit his mentality, and that he tries to avoid them as much as possible. \r\n\r\nIn addition to his scumbag support skills, Krepo is also a two time Analyst Desk participant, using his game knowledge and LCS experience to shed light on plays, pro player mentality, and map rotations. \r\n",
  "firstname": "Mitch",
  "lastName": "Voorspoels",
  "hometown": "Belgium",
  "facebookUrl": null,
  "twitterUrl": null,
  "teamId": 426,
  "profileUrl": "http://na.lolesports.com/node/84",
  "role": "Support",
  "roleId": "4",
  "photoUrl": "http://na.lolesports.com/sites/default/files/KREPO.EG_lolesports.PP__0.jpg",
  "isStarter": 1
}

--

Localization Map

GET /cdn/4.7.16/data/{locale}/language.json HTTP/1.1
Host: http://ddragon.leagueoflegends.com

Example

curl http://ddragon.leagueoflegends.com/cdn/4.7.16/data/en_US/language.json
{
    "type": "language",
    "version": "4.7.16",
    "data": {
        "Back": "Back",
        "Continue": "Continue",
        "Language": "Language",
        "ItemInfo": "Item Info",
        "NextRank_": "Next Rank:",
        "Rank_": "Rank:",
        "PlayingAs": "Playing As",
        "PlayingAgainst": "Playing Against",
        "CD_": "CD:",
        "Range": "Range",
        "Range_": "Range:",
        "Details_": "Details:",
        "PrimaryRole": "Primary Role",
        "mobileCompanion": "Companion",
        "mobileForum": "Forum",
        "mobileFriends": "Friends",
        "mobilePleaseWait": "Please wait...",
        "mobileNews": "News",
        "modeClassic": "Classic",
        "modeOdin": "Dominion",
        "modeAram": "ARAM",
        "modeTutorial": "Tutorial",
        "modeOneforall": "One for All",
        "modeFirstblood": "Showdown",
        "mode6v6": "Hexakill",
        "modeCof": "FRONTEND_cof_game_mode_name",
        "Map1": "Summoner's Rift",
        "Map8": "The Crystal Scar",
        "Map10": "The Twisted Treeline",
        "Map12": "Howling Abyss",
        "categoryChampion": "Champions",
        "categoryItem": "Items",
        "categoryMastery": "Masteries",
        "categoryRune": "Runes",
        "categorySummoner": "Summoner Spells",
        "Gold": "Gold",
        "Level": "Level",
        "Abilities": "Abilities",
        "ChampionInfo": "Champion Info",
        "Lore": "Lore",
        "Stats": "Stats",
        "Tips": "Tips",
        "statAbility": "Ability",
        "statAttack": "Attack",
        "statDefense": "Defense",
        "statDifficulty": "Difficulty",
        "statUtility": "Utility",
        "Assassin": "Assassin",
        "Fighter": "Fighter",
        "Marksman": "Marksman",
        "Mage": "Mage",
        "Support": "Support",
        "Tank": "Tank",
        "spells_Self": "Self",
        "spells_target_0": "Self",
        "spells_target_1": "Target",
        "spells_target_2": "Area",
        "spells_target_3": "Cone",
        "spells_target_4": "Self Area",
        "spells_target_5": "Variable",
        "spells_target_6": "Location",
        "spells_target_7": "Direction",
        "spells_target_8": "Vector Direction",
        "spells_target_100": "Global",
        "AllItems": "All Items",
        "Armor": "Armor",
        "Attack": "Attack",
        "AttackSpeed": "Attack Speed",
        "Consumable": "Consumable",
        "CooldownReduction": "Cooldown Reduction",
        "CriticalStrike": "Critical Strike",
        "Damage": "Damage",
        "Defense": "Defense",
        "Health": "Health",
        "HealthRegen": "Health Regen",
        "LifeSteal": "Life Steal",
        "Magic": "Magic",
        "Mana": "Mana",
        "ManaRegen": "Mana Regen",
        "Movement": "Movement",
        "SpellBlock": "Magic Resist",
        "SpellDamage": "Ability Power",
        "Boots": "Boots",
        "NonbootsMovement": "Other Movement Items",
        "Tenacity": "Tenacity",
        "SpellVamp": "Spell Vamp",
        "GoldPer": "Gold Income",
        "Slow": "Slow",
        "Aura": "Aura",
        "Active": "Active",
        "MagicPenetration": "Magic Penetration",
        "ArmorPenetration": "Armor Penetration",
        "colloq_Armor": ";",
        "colloq_Attack": ";",
        "colloq_AttackSpeed": ";as",
        "colloq_Consumables": ";",
        "colloq_CriticalStrike": ";",
        "colloq_Damage": ";ad",
        "colloq_Defense": ";",
        "colloq_Health": ";hp",
        "colloq_HealthRegen": ";hpregen;hp5",
        "colloq_LifeSteal": ";lifesteal",
        "colloq_Magic": ";",
        "colloq_Mana": ";mp",
        "colloq_ManaRegen": ";mpregen;mp5",
        "colloq_Movement": ";movespeed",
        "colloq_SpellBlock": ";mr",
        "colloq_SpellDamage": ";ap",
        "colloq_Consumable": ";",
        "colloq_Boots": ";",
        "colloq_NonbootsMovement": ";",
        "colloq_CooldownReduction": ";cdr",
        "colloq_Tenacity": ";",
        "colloq_SpellVamp": ";spellvamp",
        "colloq_GoldPer": ";gp10",
        "colloq_Slow": ";",
        "colloq_Aura": ";",
        "colloq_Active": ";",
        "colloq_MagicPenetration": ";",
        "colloq_ArmorPenetration": ";",
        "RecommendedItems": "Recommended Items",
        "recommended_starting": "Starting Items",
        "recommended_essential": "Essential Items",
        "recommended_offensive": "Offensive Items",
        "recommended_defensive": "Defensive Items",
        "recommended_consumables": "Consumables",
        "Require_": "Requires:",
        "Cost_": "Cost:",
        "OriginalCost_": "Original Cost:",
        "SellsFor_": "Sells for:",
        "UpgradeCost_": "Upgrade Cost:",
        "Builds_": "Builds Into:",
        "ButtonBuy": "BUY",
        "ButtonSell": "SELL",
        "SpecialRecipeSmall": "*",
        "SpecialRecipeLarge": "Special",
        "FlatArmorMod": "Armor",
        "FlatAttackSpeedMod": "Attack Speed",
        "FlatBlockMod": "Block",
        "FlatCritChanceMod": "Crit Chance",
        "FlatCritDamageMod": "Crit Dmg",
        "FlatEnergyPoolMod": "Energy",
        "FlatEnergyRegenMod": "Energy Regen / 5",
        "FlatEXPBonus": "Exp Bonus",
        "FlatHPPoolMod": "Health",
        "FlatHPRegenMod": "Health Regen / 5",
        "FlatMagicDamageMod": "Ability Power",
        "FlatMovementSpeedMod": "Move Speed",
        "FlatMPPoolMod": "Mana",
        "FlatMPRegenMod": "Mana Regen / 5",
        "FlatPhysicalDamageMod": "Physical Dmg",
        "FlatSpellBlockMod": "Magic Resist",
        "PercentArmorMod": "Armor %",
        "PercentAttackSpeedMod": "Attack Speed %",
        "PercentBlockMod": "Block %",
        "PercentCritChanceMod": "Crit Chance %",
        "PercentCritDamageMod": "Crit Dmg %",
        "PercentDodgeMod": "Dodge %",
        "PercentEXPBonus": "Exp Bonus %",
        "PercentHPPoolMod": "Max Health %",
        "PercentHPRegenMod": "Health % / 5",
        "PercentMagicDamageMod": "Max Ability Power %",
        "PercentMovementSpeedMod": "Move Speed %",
        "PercentMPPoolMod": "Max Mana %",
        "PercentMPRegenMod": "Mana % / 5",
        "PercentPhysicalDamageMod": "Physical Dmg %",
        "PercentSpellBlockMod": "Magic Resist %",
        "rFlatArmorModPerLevel": "Armor at level 18",
        "rFlatArmorPenetrationMod": "Armor Pen.",
        "rFlatArmorPenetrationModPerLevel": "Armor Pen. at level 18",
        "rFlatCritChanceModPerLevel": "Crit Chance at level 18",
        "rFlatCritDamageModPerLevel": "Crit Dmg at level 18",
        "rFlatDodgeMod": "Dodge",
        "rFlatDodgeModPerLevel": "Dodge at level 18",
        "rFlatEnergyModPerLevel": "Energy at level 18",
        "rFlatEnergyRegenModPerLevel": "Energy Regen / 5 at level 18",
        "rFlatGoldPer10Mod": "Gold per 10",
        "rFlatHPModPerLevel": "Health at level 18",
        "rFlatHPRegenModPerLevel": "Health Regen / 5 at level 18",
        "rFlatMagicDamageModPerLevel": "Ability Power at level 18",
        "rFlatMagicPenetrationMod": "Magic Pen.",
        "rFlatMagicPenetrationModPerLevel": "Magic Pen. at level 18",
        "rFlatMovementSpeedModPerLevel": "Move Speet at level 18",
        "rFlatMPModPerLevel": "Mana at level 18",
        "rFlatMPRegenModPerLevel": "Mana Regen / 5 at level 18",
        "rFlatPhysicalDamageModPerLevel": "Physical Dmg at level 18",
        "rFlatSpellBlockModPerLevel": "Magic Resist at level 18",
        "rFlatTimeDeadMod": "Time Dead",
        "rFlatTimeDeadModPerLevel": "Time Dead at level 18",
        "rPercentArmorPenetrationMod": "Armor Pen. %",
        "rPercentArmorPenetrationModPerLevel": "Armor Pen. % at level 18",
        "rPercentAttackSpeedModPerLevel": "Attack Speed % at level 18",
        "rPercentCooldownMod": "Cooldown %",
        "rPercentCooldownModPerLevel": "Cooldown % at level 18",
        "rPercentMagicPenetrationMod": "Magic Pen. %",
        "rPercentMagicPenetrationModPerLevel": "Magic Pen. % at level 18",
        "rPercentMovementSpeedModPerLevel": "Move Speed % at level 18",
        "rPercentTimeDeadMod": "Time Dead %",
        "rPercentTimeDeadModPerLevel": "Time Dead % / lvl",
        "PercentLifeStealMod": "Lifesteal Bonus %",
        "PercentSpellVampMod": "Spellvamp Bonus %",
        "masteryOffense": "Offense",
        "masteryDefense": "Defense",
        "masteryUtility": "Utility",
        "native_ar": "العربية",
        "native_bg": "български език",
        "native_cs": "čeština",
        "native_de": "Deutsch",
        "native_el": "ελληνικά",
        "native_en": "English",
        "native_es": "español",
        "native_fr": "français",
        "native_hu": "magyar",
        "native_id": "Bahasa Indonesia",
        "native_it": "Italiano",
        "native_ja": "日本語",
        "native_ko": "조선말",
        "native_nl": "Nederlands",
        "native_pl": "język polski",
        "native_pt": "português",
        "native_ro": "română",
        "native_ru": "русский язык",
        "native_th": "ภาษาไทย",
        "native_tr": "Türkçe",
        "native_vn": "Tiếng Việt",
        "native_zh": "汉语",
        "native_zh_CN": "简体字",
        "native_zh_MY": "简体字",
        "native_zh_TW": "繁體字"
    },
    "tree": {
        "searchKeyIgnore": "",
        "searchKeyRemap": []
    }
}

--

Champions

GET /cdn/4.7.16/data/{locale}/champion.json HTTP/1.1
Host: http://ddragon.leagueoflegends.com

Example

curl http://ddragon.leagueoflegends.com/cdn/4.7.16/data/en_US/champion.json
{
    "type": "champion",
    "format": "standAloneComplex",
    "version": "4.7.16",
    "data": {
        "Aatrox": {
            "version": "4.7.16",
            "id": "Aatrox",
            "key": "266",
            "name": "Aatrox",
            "title": "the Darkin Blade",
            "blurb": "Aatrox is a legendary warrior, one of only five that remain of an ancient race known as the Darkin. He wields his massive blade with grace and poise, slicing through legions in a style that is hypnotic to behold. With each foe felled, Aatrox's ...",
            "info": {
                "attack": 8,
                "defense": 4,
                "magic": 3,
                "difficulty": 6
            },
            "image": {
                "full": "Aatrox.png",
                "sprite": "champion0.png",
                "group": "champion",
                "x": 0,
                "y": 0,
                "w": 48,
                "h": 48
            },
            "tags": [
                "Fighter",
                "Tank"
            ],
            "partype": "BloodWell",
            "stats": {
                "hp": 395,
                "hpperlevel": 85,
                "mp": 30,
                "mpperlevel": 45,
                "movespeed": 345,
                "armor": 18,
                "armorperlevel": 3.8,
                "spellblock": 30,
                "spellblockperlevel": 1.25,
                "attackrange": 150,
                "hpregen": 5.75,
                "hpregenperlevel": 0.5,
                "mpregen": 0,
                "mpregenperlevel": 0,
                "crit": 0,
                "critperlevel": 0,
                "attackdamage": 55,
                "attackdamageperlevel": 3.2,
                "attackspeedoffset": -0.04,
                "attackspeedperlevel": 3
            }
        },
        "AnotherChampion": {}
    }
}

--

Items

GET /cdn/4.7.16/data/{locale}/item.json HTTP/1.1
Host: http://ddragon.leagueoflegends.com

Example

curl http://ddragon.leagueoflegends.com/cdn/4.7.16/data/en_US/item.json

Example response: https://gist.github.com/stillmotion/e15d0bfac97462dcb995

--

Summoner Spells

GET /cdn/4.7.16/data/{locale}/summoner.json HTTP/1.1
Host: http://ddragon.leagueoflegends.com

Example

curl http://ddragon.leagueoflegends.com/cdn/4.7.16/data/en_US/summoner.json
{
    "type": "summoner",
    "version": "4.7.16",
    "data": {
        "SummonerBarrier": {
            "id": "SummonerBarrier",
            "name": "Barrier",
            "description": "Shields your champion for 115-455 (depending on champion level) for 2 seconds.",
            "tooltip": "Temporarily shields {{ f1 }} damage from your champion for 2 seconds.",
            "maxrank": 1,
            "cooldown": [
                0
            ],
            "cooldownBurn": "0",
            "cost": [
                0
            ],
            "costBurn": "0",
            "effect": [],
            "effectBurn": [],
            "vars": [
                {
                    "link": "@cooldownsummoner",
                    "coeff": 125,
                    "key": "f1"
                }
            ],
            "key": "21",
            "summonerLevel": 6,
            "modes": [
                "ARAM",
                "CLASSIC",
                "TUTORIAL",
                "ODIN"
            ],
            "costType": "NoCost",
            "range": "self",
            "rangeBurn": "self",
            "image": {
                "full": "SummonerBarrier.png",
                "sprite": "spell0.png",
                "group": "spell",
                "x": 0,
                "y": 0,
                "w": 48,
                "h": 48
            },
            "resource": "No Cost"
        },
        "SummonerBoost": {}
    }
}
@miggs96
Copy link

miggs96 commented Nov 23, 2017

Is this api still up to date?

@shangdrk
Copy link

For people wondering whether this API is still up to date, there is no point in documenting the API in so much detail due to the risk of Riot changing their API. After all, this is not public API and Riot has no intention of making it backwards compatible. If you want to figure out the latest API endpoints, just go on lolesports.com, find an example match and monitor all XHR calls in your browser's developer console. That should tell you enough about how to call their up-to-date API

@Tzula
Copy link

Tzula commented Feb 26, 2018

not working anymore

Copy link

ghost commented Sep 14, 2018

None of those works

@PandaXcentric
Copy link

Hey, it seems like this api is completely broken, I went and re-implemented what I could of it though in my repo.

https://github.com/PandaXcentric/game_apis

it's the RiotEsports rest client. you can make tickets for any extra functionality and I can see if it's possible. Hopefully this helps anyone who still wants some of the functionality this repo had.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment