Introduction

Before we get started on how you can access League of Legends information through our API, if you are interested in digging around Riot's API for yourself, check out this GitHub Gist. It contains an overview of the structure of (most of?) Riot's lolesports API and includes some helpful python scripts to get you started! Credit for the original Gist and schema generating script go to brcooley (I forked his repo, added to, and modified it).

Just so everyone is awares, Riot's current lolesports.com API only contains data starting from the 2015 summer season (for some regions). Since I literally dumped all of Riot's stuff, this API only has data from that point onwards as well. Also, since I am only basing this off Riot's API right now, you may notice a lot of stuff missing. I can't do anything about it right now. I get that it's annoying how some matches don't have videos while some only have videos (e.g. no games). I don't get it, but it's all I had to work with.

Lastly, you may notice that for bio's, abouts, and what not will be missing from the examples below. This is because they are walls of text and take up too much space.

Structure Overview

The following are what you can currently get via the eSports-api.com League of Legends API:

Teams, Players, Leagues, Tournaments, Matches, and Games List

Gives you a list of all of the desired items with minimal info about them. I recommend calling some of these in your application's startup and using them for reference.

Teams

When requesting a team via Riot's API, you have to provide the team name and a tournament id. This seems slightly off putting, however, I quickly realized that you can put literally any alpha-numeric character for the tournament id and it will return us the data we want. Don't really know why it happens, but if the tournament id is incorrect, Riot will just give us a list of every tournament that team has played in, and all of the relevant information that goes along with it. It should be noted that Riot most likely has a separate "table" or "collection" for teams and just grabs that data when it is needed. This means that we cannot pull old information for a team (that I know of).

Players

Same thing for the players, slightly different data is returned, but same concept as teams.

Leagues

This one is pretty simple. Tells you which leagues we have data on, their id's, names, a mini bio that is in multiple languages, and some other stuff. *Be aware that languages for the League bio's and names vary and not all will have the same language support.

Tournaments

Torunaments is packed with a lot of data and I am not sure how much of it is useful to you. It contains brackets, rosters, matches, match types, standings, and much more. For now I am going to exclude a lot of data that I feel is not relevant to anyone but Riot. It's also worth noting that I changed how some of the data is stored (from Riot's), so I am basing the aforementioned decision on how I store the data. If people would like more data, than the people will get more data.

Match Details

This gives you a what teams and players participated. It also gives you a bit of information for each game and some other various things.

Game Details

Imagine the after game stats of a League game, graphs and all. It's basically that but in json form.

Game Timeline

Essentially the what you get when you click on the more details button after a League game.

Upcoming Matches

Returns a list of upcoming matches, who's playing in them, and when they are scheduled to take place.

Live Matches

Gives you all of the matches that are currently taking place along with the teams and players participating.

Live Matches Social Media

Gives you a list of tweets that were made during the live matches. It's what Riot shows on watch.lolesports.com during streams.

Live Match Details

This allows you mimics what Riot does for the watch.lolesports.com live stream (you know how they show the live stats and what not on the right). It's a websocket that updates whenever my server get's info from Riot's. Idk. Don't worry about it.

Runes, Masteries, Summoner Spells, Items, Maps, Profile Icons, and Champion Data

While these aren't directly esports stuffs, I figured it's useful data to have. If you make the calls without specifying the patch, you will recieve the latest patch's data. You can specify the patch in the API call like so: "http://esports-api.com/api/leagueoflegends/misc/profileIcons&patch=6.6.1. Check below in the Misc section to see how to get a list of patches supported.

Examples

Here you can find example python requests for the API and see what data you get back!

Teams List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/teams"
                    
Response JSON
                        
    {
        "Data": [
            {
                "acronym": "TFA",
                "id": 139,
                "name": "Team Fire Assassins"
            },
            ...
            {
                "acronym": "TSM",
                "id": 11,
                "name": "TSM"
            },
            ...
            {
                "acronym": "RvG",
                "id": 195,
                "name": "Revenge eSports"
            }
        ]
    }
                    
Players List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/players"
                    
Response JSON
                        
    {
        "Data": [
            {
                "id": 34,
                "name": "Westdoor"
            },
            {
                "id": 46,
                "name": "Faker"
            },
            ...
            {
                "id": 153,
                "name": "Doublelift"
            }
        ]
    }
                    
Leagues List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/leagues"
                    
Response JSON
                        
    {
        "Data": [
            {
                "id": 2,
                "name": "NA LCS"
            },
            ...
            {
                "id": 10,
                "name": "Mid-Season Invitational"
            },
            ...
            {
                "id": 19,
                "name": "CHALLENGERS KOREA"
            }
        ]
    }
                    
Tournaments List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/tournaments"
                    
Response JSON
                        
    {
        "Data": [
            {
                "id": "739fc707-a686-4e49-9209-e16a80fd1655",
                "description": "NA 2016 Spring Split"
            },
            {
                "id": "472c44a9-49d3-4de4-912c-aa4151fd1b3b",
                "description": "NA 2016 Summer Split"
            },
            ...
            {
                "id": "ba033b9a-1fb9-49fb-ae33-0e24979ce1c0",
                "description": "LPL 2016 Summer Split"
            },
            ...
            {
                "id": "69298c0c-16ae-490a-8e9c-cfe4620a6bfb",
                "description": "MSI 2016"
            }
        ]
    }
                    
Matches List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/matches"
                    
Response JSON
                        
    {
        "Data": [
            {
                "id": "6183d956-9086-4851-b624-f8348fbe25d0"
            },
            ...
            {
                "id": "a4dac265-d601-4412-9f9c-47dd156d0f88"
            },
            ...
            {
                "id": "8d53aa37-3f06-4b5e-a377-56ee1efd8116"
            },
            ...
            {
                "id": "92a1ec20-252f-4d4a-9f14-035215e4d8ad"
            }
        ]
    }
                    
Games List
API Call
                        
    "http://esports-api.com/api/leagueoflegends/list/games"
                    
Response JSON
                        
    {
        "Data": [
            {
                "id": "7c17269b-0d53-466e-b435-614cdeec57ad"
            },
            ...
            {
                "id": "13057097-33cf-4b5e-9bcd-97fab5468134"
            },
            ...
            {
                "id": "bbeef62f-eeb8-412d-ba5c-c0616d9443a7"
            },
            ...
        ]
    }
                    
Teams
API Call
                        
    "http://esports-api.com/api/leagueoflegends/teams/{teamId}"
    "http://esports-api.com/api/leagueoflegends/teams/11"
                    
Response JSON
                        
    {
        "Data": {
            "homeLeague": 2,
            "subs": [
                {
                    "role": "Mid Lane",
                    "name": "Reginald",
                    "id": 62
                }
            ],
            "acronym": "TSM",
            "logoUrl": "https://lolstatic-a.akamaihd.net/esports-assets/production/team/team-solomid-50imvfy0.png",
            "teamPhotoUrl": "http://na.lolesports.com/",
            "altLogoUrl": "https://lolstatic-a.akamaihd.net/esports-assets/production/team/team-solomid-bjjwknt9.png",
            "starters": [
                {
                    "role": "Mid Lane",
                    "name": "Bjergsen",
                    "id": 60
                },
                {
                    "role": "AD Carry",
                    "name": "Doublelift",
                    "id": 153
                },
                {
                    "role": "Jungler",
                    "name": "Svenskeren",
                    "id": 171
                },
                {
                    "role": "Top Lane",
                    "name": "Hauntzer",
                    "id": 345
                },
                {
                    "role": "Support",
                    "name": "Biofrost",
                    "id": 1158
                }
            ],
            "bios": [
                {
                    "lang": "fr_FR",
                    "text": "TSM se place régulièrement parmi les meilleures équipes des LCS NA. Avec son historique très riche qui remonte a...."
                },
                {
                    "lang": "pt_BR",
                    "text": "Depois de sofrer uma derrota esmagadora contra a Counter Logic Gaming nas Finais da Etapa de Primavera da NA LCS...."
                },
                {
                    "lang": "en_US",
                    "text": "After suffering a crushing defeat to Counter Logic Gaming in the 2016 NA LCS Spring Split Finals, TSM has been o...."
                },
                {
                    "lang": "es_AR",
                    "text": "Después de sufrir una derrota aplastante ante Counter Logic Gaming en la final del torneo de apertura de la LCS...."
                },
                {
                    "lang": "de_DE",
                    "text": "Nach der vernichtenden Niederlage gegen Counter Logic Gaming im Finale des Frühjahrs-Splits der NA LCS 2016 hat...." 
                },
                {
                    "lang": "pl_PL",
                    "text": "TSM to najbardziej rozpoznawalna na świecie zachodnia organizacja. Powstała jako jedna z pierwszych, jeszcze w ...." 
                },
                {
                    "lang": "es_ES",
                    "text": "Tras sufrir una desalentadora derrota contra Counter Logic Gaming en la final del split de primavera de la LCS ...."    
                }
            ],
            "updatedAt": [
                2016,
                9,
                8,
                21,
                40,
                21
            ],
            "id": 11,
            "name": "TSM"
        }
    }
                    
Players
API Call
                        
    "http://esports-api.com/api/leagueoflegends/players/{playerId}"
    "http://esports-api.com/api/leagueoflegends/players/46"
                    
Response JSON
                        
    {
        "Data": {
            "tournamentStats": [
                {
                    "kills": 45,
                    "deaths": 23,
                    "tournament": "a9b9218a-30f5-4ab3-b818-fa2a2382b602",
                    "kda": 3.6956521739130435,
                    "killParticipation": 0.47752808988764045,
                    "assists": 40,
                    "team": "TFS",
                    "cs": 1953,
                    "position": "midlane",
                    "gamesPlayed": 8,
                    "csPerMin": 8.015047879616963,
                    "minutesPlayed": 244
                },
                ...
            ],
            "firstName": "Sanghyeok",
            "photoUrl": "https://lolstatic-a.akamaihd.net/esports-assets/production/player/faker-1gx16ll5.png",
            "hometown": "South Korea",
            "region": "LCK - Champions Korea ",
            "lastName": "Lee",
            "birthdate": null,
            "teams": [
                {
                    "acronym": "SKT",
                    "name": "SK Telecom T1",
                    "id": 9
                },
                {
                    "acronym": "LCK",
                    "name": "LCK All-Stars",
                    "id": 146
                },
                {
                    "acronym": "TFA",
                    "name": "Team Fire Assassins",
                    "id": 139
                },
                {
                    "acronym": "TFS",
                    "name": "Team Fire All-Stars",
                    "id": 136
                }
            ],
            "bios": [
                {
                    "lang": "fr_FR",
                    "text": "Sang-hyuk « Faker » Lee est une icône de l'e-sport contemporain. Surnommé « le Roi-démon » en Corée du Sud, Fa...."
                },
                {
                    "lang": "pt_BR",
                    "text": "Sang-hyuk \"Faker\" Lee é um ícone do e-Sports moderno. Conhecido como “O Rei Demônio” em sua terra natal na C...." 
                },
                {
                    "lang": "ko_KR",
                    "text": "한국에서 '마왕'이라 불리는 \"Faker\" 이상혁은 현대 e스포츠의 아이콘입니다. Faker의 조용하고 공손한 행동거지와 그가 소환...."
                },
                {
                    "lang": "en_US",
                    "text": "\nSanghyeok \"Faker\" Lee is an icon of modern esports. Known as “The Demon King” in his homeland of South Kore...."
                },
                {
                    "lang": "es_AR",
                    "text": "Sang-hyuk \"Faker\" Lee es un emblema de los esports modernos. Conocido como \"el rey demonio\" en su hogar Cor...." 
                },
                {
                    "lang": "de_DE",
                    "text": "Sang-hyuk \"Faker\" Lee ist eine Ikone des modernen Esports. In seinem Heimatland Südkorea als der „Dämonenkön...."
                },
                {
                    "lang": "pl_PL",
                    "text": "\nSang-hyuk „Faker” Lee jest ikoną współczesnego e-sportu. Znany jako „Król Demonów” w Korei Południowej, jego ...." 
                },
                {
                    "lang": "es_ES",
                    "text": "Sang-hyuk \"Faker\" es un icono de los esports modernos. Conocido como \"el rey demonio\" en su hogar al sur d...." 
                }
            ],
            "role": "midlane",
            "socialNetworks": [],
            "updatedAt": [
                2016,
                9,
                7,
                17,
                38,
                6
            ],
            "id": 46,
            "name": "Faker"
        }
    }
                    
Leagues
API Call
                        
    "http://esports-api.com/api/leagueoflegends/leagues/{leagueId}"
    "http://esports-api.com/api/leagueoflegends/leagues/2"
                    
Response JSON
                        
    {
        "Data": {
            "abouts": [
                {
                    "lang": "ko_KR",
                    "text": "북미 LCS 소개\n\n북미 LCS 소개\n\n리그 오브 레전드 챔피언십 시리즈(LCS)는 북미와 유럽의 최상위 리그 오브 레전드 e스포...."
                },
                {
                    "lang": "en_US",
                    "text": "ABOUT NA LCS\n\nABOUT NA LCS\n\nThe North America League of Legends Championship Series (NA LCS) is the preemi...."
                },
                {
                    "lang": "en_GB",
                    "text": "ABOUT NA LCS\n\nABOUT NA LCS\n\nThe North America League of Legends Championship Series (NA LCS) is the preemi..."
                }
            ],
            "region": null,
            "updatedAt": [
                2016,
                8,
                3,
                20,
                41,
                39
            ],
            "names": [
                {
                    "lang": "fr_FR",
                    "text": "LCS NA"
                },
                {
                    "lang": "pt_BR",
                    "text": "LCS NA"
                },
                {
                    "lang": "ko_KR",
                    "text": "북미 LCS"
                },
                {
                    "lang": "en_US",
                    "text": "NA LCS"
                },
                {
                    "lang": "de_DE",
                    "text": "NA LCS"
                },
                {
                    "lang": "pl_PL",
                    "text": "LCS NA"
                },
                {
                    "lang": "es_ES",
                    "text": "LCS NA"
                }
            ],
            "logoUrl": "http://assets.lolesports.com/league/na-lcs-cn280nc3.png",
            "id": 2
        }
    }
                    
Tournaments
API Call
                        
    "http://esports-api.com/api/leagueoflegends/tournaments/{tournamentId}"
    "http://esports-api.com/api/leagueoflegends/tournaments/739fc707-a686-4e49-9209-e16a80fd1655"
                    
Response JSON
                        
    {
        "Data": {
            "league": 2,
            "endDate": [
                2016,
                4,
                17,
                0,
                0,
                0
            ],
            "description": "NA 2016 Spring Split",
            "startDate": [
                2016,
                1,
                16,
                0,
                0,
                0
            ],
            "matches": [
                {
                    "games": [
                        {
                            "name": "CLG vs C9 - G1",
                            "id": "92ac2d2f-9216-4c85-9314-3ce7d2f79baf"
                        }
                    ],
                    "name": "CLG-vs-C9",
                    "id": "4403d39e-f613-48a1-b3c7-c8b9479f531f"
                },
                ...
                {
                    "games": [
                        {
                            "name": "IMT vs TSM - G3",
                            "id": "515e4aa7-0963-47fe-9167-2b522f7aa15a"
                        },
                        {
                            "name": "IMT vs TSM - G1",
                            "id": "21a87386-1012-46b4-bca0-497bce1f4fc9"
                        },
                        {
                            "name": "TSM vs IMT - G2",
                            "id": "32f5859d-0bbf-4d57-80b6-d6d855043573"
                        }
                    ],
                    "name": "semi-final-2",
                    "id": "5e9af7b0-fff9-4aa9-a3a0-ee285b3bd372"
                },
                ...
            ],
            "teams": [
                {
                    "acronym": "DIG",
                    "id": 21
                },
                ...
            ],
            "id": "739fc707-a686-4e49-9209-e16a80fd1655"
        }
    }
                    
Match Details
API Call
                        
    "http://esports-api.com/api/leagueoflegends/matches/{matchId}"
    "http://esports-api.com/api/leagueoflegends/matches/4403d39e-f613-48a1-b3c7-c8b9479f531f"
                    
Response JSON
                        
    {
        "Data": {
            "name": "CLG-vs-C9",
            "videos": [
                {
                    "url": "https://www.youtube.com/embed/URJ24WHz-cg?wmode=transparent",
                    "locale": "en",
                    "game": "92ac2d2f-9216-4c85-9314-3ce7d2f79baf",
                    "id": 574
                },
                ...
            ],
            "tournament": "739fc707-a686-4e49-9209-e16a80fd1655",
            "teams": [
                {
                    "starters": [
                        {
                            "role": "Top Lane",
                            "name": "Impact",
                            "id": 45
                        },
                        {
                            "role": "Jungler",
                            "name": "Meteos",
                            "id": 113
                        },
                        {
                            "role": "AD Carry",
                            "name": "Sneaky",
                            "id": 115
                        },
                        {
                            "role": "Mid Lane",
                            "name": "Jensen",
                            "id": 482
                        },
                        {
                            "role": "Support",
                            "name": "Smoothie",
                            "id": 499
                        }
                    ],
                    "subs": [
                        {
                            "role": "Jungler",
                            "name": "Thinkcard",
                            "id": 162
                        }
                    ],
                    "name": "Cloud9 ",
                    "id": 18
                },
                {
                    "starters": [
                        {
                            "role": "Jungler",
                            "name": "Xmithie",
                            "id": 89
                        },
                        {
                            "role": "Top Lane",
                            "name": "Darshan",
                            "id": 147
                        },
                        {
                            "role": "Support",
                            "name": "aphromoo",
                            "id": 154
                        },
                        {
                            "role": "Mid Lane",
                            "name": "Huhi",
                            "id": 489
                        },
                        {
                            "role": "AD Carry",
                            "name": "Stixxay",
                            "id": 618
                        }
                    ],
                    "subs": [
                        {
                            "role": "AD Carry",
                            "name": "YoonA",
                            "id": 1161
                        }
                    ],
                    "name": "Counter Logic Gaming",
                    "id": 23
                }
            ],
            "games": [
                {
                    "id": "92ac2d2f-9216-4c85-9314-3ce7d2f79baf"
                }
            ],
            "id": "4403d39e-f613-48a1-b3c7-c8b9479f531f"
        }
    }
                    
Game Details
API Call
                        
    "http://esports-api.com/api/leagueoflegends/gameDetails/{gameId}"
    "http://esports-api.com/api/leagueoflegends/gameDetails/60ef48ca-165b-4633-b41d-ffb8d465908a"
                    
Response JSON
                        
    {
        "Data": {
            "seasonId": 7,
            "gameVersion": "6.3.0.240",
            "creationTime": 1456613488157,
            "mapId": 11,
            "teams": [
                {
                    "firstDragon": true,
                    "firstInhibitor": true,
                    "bans": [
                        {
                            "pickTurn": 1,
                            "championId": 117
                        },
                        ...
                    ],
                    "win": true,
                    "firstRiftHerald": false,
                    "inhibitorKills": 3,
                    "firstBaron": true,
                    "riftHeraldKills": 0,
                    "side": "Blue",
                    "firstBlood": false,
                    "firstTower": false,
                    "vilemawKills": 0,
                    "baronKills": 1,
                    "towerKills": 10,
                    "dominionVictoryScore": 0,
                    "id": 167,
                    "dragonKills": 4
                },
                ...
            ],
            "participants": [
                {
                    "spell1Id": 4,
                    "stats": {
                        "neutralMinionsKilledTeamJungle": 10,
                        "totalPlayerScore": 0,
                        "unrealKills": 0,
                        "win": false,
                        "objectivePlayerScore": 0,
                        "totalDamageDealt": 124868,
                        "magicDamageDealtToChampions": 3548,
                        "largestMultiKill": 1,
                        "largestKillingSpree": 0,
                        "item1": 2033,
                        "quadraKills": 0,
                        "totalTimeCrowdControlDealt": 2574,
                        "longestTimeSpentLiving": 0,
                        "wardsKilled": 3,
                        "firstTowerAssist": false,
                        "firstTowerKill": false,
                        "item2": 3140,
                        "item3": 3009,
                        "item0": 3025,
                        "firstBloodAssist": false,
                        "item6": 3340,
                        "wardsPlaced": 15,
                        "item4": 3068,
                        "item5": 3211,
                        "turretKills": 2,
                        "tripleKills": 0,
                        "neutralMinionsKilledEnemyJungle": 5,
                        "killingSprees": 0,
                        "magicDamageDealt": 39991,
                        "kills": 1,
                        "doubleKills": 0,
                        "firstInhibitorKill": false,
                        "trueDamageTaken": 1224,
                        "firstBloodKill": false,
                        "assists": 6,
                        "deaths": 0,
                        "neutralMinionsKilled": 15,
                        "combatPlayerScore": 0,
                        "visionWardsBoughtInGame": 2,
                        "physicalDamageDealtToChampions": 8997,
                        "goldSpent": 9850,
                        "trueDamageDealt": 0,
                        "trueDamageDealtToChampions": 0,
                        "champLevel": 15,
                        "pentaKills": 0,
                        "firstInhibitorAssist": false,
                        "totalHeal": 2237,
                        "totalMinionsKilled": 164,
                        "goldEarned": 10980,
                        "largestCriticalStrike": 0,
                        "sightWardsBoughtInGame": 0,
                        "totalDamageDealtToChampions": 12545,
                        "totalUnitsHealed": 1,
                        "inhibitorKills": 0,
                        "totalScoreRank": 0,
                        "totalDamageTaken": 12473,
                        "physicalDamageDealt": 84876,
                        "magicalDamageTaken": 2988,
                        "physicalDamageTaken": 8260
                    },
                    "participantId": 1,
                    "runes": [
                        {
                            "runeId": 5245,
                            "rank": 9
                        },
                        ...
                    ],
                    "timeline": {
                        "lane": "JUNGLE",
                        "csDiffPerMinDeltas": [
                            {
                                "amount": -0.1,
                                "time": "0-10"
                            },
                            {
                                "amount": -0.8,
                                "time": "10-20"
                            }
                        ],
                        "goldPerMinDeltas": [
                            {
                                "amount": 265.4,
                                "time": "0-10"
                            },
                            {
                                "amount": 403,
                                "time": "10-20"
                            }
                        ],
                        "xpDiffPerMinDeltas": [
                            {
                                "amount": 16.17,
                                "time": "0-10"
                            },
                            {
                                "amount": -60.78,
                                "time": "10-20"
                            }
                        ],
                        "creepsPerMinDeltas": [
                            {
                                "amount": 3.2,
                                "time": "0-10"
                            },
                            {
                                "amount": 8.3,
                                "time": "10-20"
                            }
                        ],
                        "xpPerMinDeltas": [
                            {
                                "amount": 298.8,
                                "time": "0-10"
                            },
                            {
                                "amount": 543.3,
                                "time": "10-20"
                            }
                        ],
                        "role": "NONE",
                        "damageTakenDiffPerMinDeltas": [
                            {
                                "amount": -85.07,
                                "time": "0-10"
                            },
                            {
                                "amount": -255.48,
                                "time": "10-20"
                            }
                        ],
                        "damageTakenPerMinDeltas": [
                            {
                                "amount": 190.6,
                                "time": "0-10"
                            },
                            {
                                "amount": 280.6,
                                "time": "10-20"
                            }
                        ]
                    },
                    "spell2Id": 12,
                    "masteries": [
                        {
                            "masteryId": 6211,
                            "rank": 5
                        },
                        ...
                    ],
                    "team": 167,
                    "championId": 78,
                    "profileIcon": 7,
                    "name": "NRG Impact"
                },
                ...
            ],
            "gameDuration": 1788,
            "id": "60ef48ca-165b-4633-b41d-ffb8d465908a",
            "match": "f644face-7d9f-4bfc-9896-03eddf79622c"
        }
    }
                    
Game Timeline
API Call
                        
    "http://esports-api.com/api/leagueoflegends/gameTimelines/{gameId}"
    "http://esports-api.com/api/leagueoflegends/gameTimelines/739fc707-a686-4e49-9209-e16a80fd1655"
                    
Response JSON
                        
    {
        "Data": {
            "frames": [
                {
                    "timestamp": 1680000,
                    "participantFrames": [
                        {
                            "totalGold": 6892,
                            "teamScore": 0,
                            "participantId": 10,
                            "level": 9,
                            "currentGold": 242,
                            "minionsKilled": 34,
                            "dominionScore": 0,
                            "position": {
                                "y": 9276,
                                "x": 6562
                            },
                            "xp": 6005,
                            "jungleMinionsKilled": 0
                        },
                        ...
                    ],
                    "events": [
                        {
                            "timestamp": 1679897,
                            "levelUpType": "NORMAL",
                            "type": "SKILL_LEVEL_UP",
                            "skillSlot": 1,
                            "participantId": 4
                        },
                        ...
                        {
                            "itemId": 1011,
                            "timestamp": 1685864,
                            "type": "ITEM_PURCHASED",
                            "participantId": 2
                        },
                        {
                            "itemId": 1028,
                            "timestamp": 1685864,
                            "type": "ITEM_DESTROYED",
                            "participantId": 2
                        },
                        ...
                        {
                            "timestamp": 1703223,
                            "type": "WARD_KILL",
                            "wardType": "BLUE_TRINKET",
                            "killerId": 4
                        },
                        ...
                        {
                            "itemId": 1056,
                            "timestamp": 1719569,
                            "type": "ITEM_SOLD",
                            "participantId": 8
                        },
                        {
                            "monsterType": "DRAGON",
                            "position": {
                                "y": 4414,
                                "x": 9866
                            },
                            "type": "ELITE_MONSTER_KILL",
                            "killerId": 2,
                            "timestamp": 1720296
                        },
                        ...                 
                        {
                            "timestamp": 1734067,
                            "type": "WARD_PLACED",
                            "creatorId": 10,
                            "wardType": "SIGHT_WARD"
                        },
                        ...
                        {
                            "killerId": 4,
                            "timestamp": 1738837,
                            "towerType": "INNER_TURRET",
                            "teamId": 200,
                            "buildingType": "TOWER_BUILDING",
                            "position": {
                                "y": 10113,
                                "x": 9767
                            },
                            "type": "BUILDING_KILL",
                            "assistingParticipants": [
                                1,
                                2,
                                3,
                                5
                            ],
                            "laneType": "MID_LANE"
                        }
                    ]
                },
                {
                    "timestamp": 1740000,
                    "participantFrames": [
                        ...
                        {
                            "totalGold": 9317,
                            "teamScore": 0,
                            "participantId": 2,
                            "level": 12,
                            "currentGold": 767,
                            "minionsKilled": 39,
                            "dominionScore": 0,
                            "position": {
                                "y": 10301,
                                "x": 9839
                            },
                            "xp": 9131,
                            "jungleMinionsKilled": 61
                        },
                        ...
                    ],
                    "events": [
                        ...
                        {
                            "killerId": 2,
                            "victimId": 8,
                            "timestamp": 1749519,
                            "position": {
                                "y": 12505,
                                "x": 11545
                            },
                            "type": "CHAMPION_KILL",
                            "assistingParticipants": [
                                1,
                                3
                            ]
                        },
                        ...
                        {
                            "timestamp": 1767473,
                            "afterId": 1055,
                            "type": "ITEM_UNDO",
                            "participantId": 9,
                            "beforeId": 0
                        },
                        ...
                    ]
                }
            ],
            "frameInterval": 60000,
            "match": "f644face-7d9f-4bfc-9896-03eddf79622c",
            "id": "60ef48ca-165b-4633-b41d-ffb8d465908a"
        }
    }
                    
Upcoming Matches
API Call
                        
    "http://esports-api.com/api/leagueoflegends/upcomingMatches"
                    
Response JSON
                        
    {
        "Data": [
            {
                "league": 9,
                "scheduledTime": [
                    2016,
                    9,
                    30,
                    2,
                    30,
                    0
                ],
                "tournament": "3c5fa267-237e-4b16-8e86-20378a47bf1c",
                "teams": [
                    {
                        "starters": [
                            {
                                "role": "Jungler",
                                "name": "Clearlove",
                                "id": 291
                            },
                            {
                                "role": "AD Carry",
                                "name": "Deft",
                                "id": 304
                            },
                            {
                                "role": "Top Lane",
                                "name": "Mouse",
                                "id": 330
                            },
                            {
                                "role": "Support",
                                "name": "Meiko",
                                "id": 334
                            },
                            {
                                "role": "Mid Lane",
                                "name": "Scout",
                                "id": 1032
                            }
                        ],
                        "subs": [
                            {
                                "role": "Mid Lane",
                                "name": "PawN",
                                "id": 72
                            }
                        ],
                        "name": "Edward Gaming",
                        "id": 41
                    },
                    {
                        "starters": [
                            {
                                "role": "Jungler",
                                "name": "Revolta",
                                "id": 416
                            },
                            {
                                "role": "Top Lane",
                                "name": "yang",
                                "id": 463
                            },
                            {
                                "role": "AD Carry",
                                "name": "micaO",
                                "id": 464
                            },
                            {
                                "role": "Mid Lane",
                                "name": "tockers",
                                "id": 465
                            },
                            {
                                "role": "Support",
                                "name": "Jockster",
                                "id": 466
                            }
                        ],
                        "subs": [
                            {
                                "role": "AD Carry",
                                "name": "Cake1",
                                "id": 1442
                            }
                        ],
                        "name": "INTZ",
                        "id": 60
                    }
                ],
                "id": "AVcfjjj5QMQFcjhwbQl_",
                "match": "f18a5626-740f-4ba3-8712-679dfb0428c5"
            },
            ...
        ]
    }
                    
Live Matches
API Call
                        
    "http://esports-api.com/api/leagueoflegends/liveMatches"
                    
Response JSON **I will update this when Worlds starts, however, I am fairly certain I didn't change anything
                        
    {
        "Data": [
            {
                "league": 12,
                "tournament": "6971c2f0-c582-45a6-a3d8-aea6dfd962fe",
                "teams": [
                    {
                        "starters": [
                            {
                                "role": "Jungler",
                                "name": "Revolta",
                                "id": 416
                            },
                            ...
                        ],
                        "subs": [
                            {
                                "role": "Top Lane",
                                "name": "Goro",
                                "id": 1248
                            },
                            ...
                        ],
                        "name": "INTZ",
                        "id": 60
                    },
                    ...
                ],
                "streams": [
                    {
                        "embedHTML": "This will be embedded HTML that has the link to the streaming service.",
                        "title": "Twitch",
                        "locale": "tr",
                        "currentViewers": 0,
                        "provider": "twitch",
                        "providerStreamId": "riotgamesturkish",
                        "id": 43
                    },
                    ...
                ],
                "tournamentName": "international wildcard qualifiers 2016",
                "id": "b315d86c-71cc-409f-96dc-29963746b1d2"
            },
            ...
        ]
    }
                    
Live Matches Social Media
API Call
                        
    # I decided not to touch this, too much of a hassel. Just get it how Riot does.
    "http://api.massrelevance.com/MassRioters/lolesports-social-stream.json"
                    
Response JSON
                        
    [
        ...
        {
            "created_at": "Sun Aug 21 22:27:19 +0000 2016",
            "id": 767488279612649500,
            "id_str": "767488279612649472",
            "text": "Let's go boys #TSMWIN",
            "truncated": false,
            "entities": {
                "hashtags": [
                    {
                        "text": "TSMWIN",
                        "indices": [
                            14,
                            21
                        ]
                    }
                ],
                "symbols": [],
                "user_mentions": [],
                "urls": []
            },
            "source": --An a href that directs you to download twitter for your device (prism.js/css removes html tags btw--,
            "in_reply_to_status_id": null,
            "in_reply_to_status_id_str": null,
            "in_reply_to_user_id": null,
            "in_reply_to_user_id_str": null,
            "in_reply_to_screen_name": null,
            "user": {
                "id": 250921910,
                "id_str": "250921910",
                "name": "Andy Dinh",
                "screen_name": "TSMReginald",
                "location": "Santa Monica, CA",
                "description": "Founder of Team SoloMid.    https://t.co/3axLfWqfGl",
                "url": "http://t.co/8XBvMHHiAJ",
                "entities": {
                    "url": {
                        "urls": [
                            {
                                "url": "http://t.co/8XBvMHHiAJ",
                                "expanded_url": "http://www.tsm.gg",
                                "display_url": "tsm.gg",
                                "indices": [
                                    0,
                                    22
                                ]
                            }
                        ]
                    },
                    "description": {
                        "urls": [
                            {
                                "url": "https://t.co/3axLfWqfGl",
                                "expanded_url": "http://plays.tv/reginald",
                                "display_url": "plays.tv/reginald",
                                "indices": [
                                    28,
                                    51
                                ]
                            }
                        ]
                    }
                },
                "protected": false,
                "followers_count": 228442,
                "friends_count": 462,
                "listed_count": 920,
                "created_at": "Sat Feb 12 02:36:04 +0000 2011",
                "favourites_count": 533,
                "utc_offset": -25200,
                "time_zone": "Pacific Time (US & Canada)",
                "geo_enabled": true,
                "verified": true,
                "statuses_count": 2358,
                "lang": "en",
                "contributors_enabled": false,
                "is_translator": false,
                "is_translation_enabled": false,
                "profile_background_color": "C0DEED",
                "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
                "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
                "profile_background_tile": false,
                "profile_image_url": "http://pbs.twimg.com/profile_images/682634026536931328/7iH7BboY_normal.jpg",
                "profile_image_url_https": "https://pbs.twimg.com/profile_images/682634026536931328/7iH7BboY_normal.jpg",
                "profile_banner_url": "https://pbs.twimg.com/profile_banners/250921910/1452026935",
                "profile_link_color": "0084B4",
                "profile_sidebar_border_color": "C0DEED",
                "profile_sidebar_fill_color": "DDEEF6",
                "profile_text_color": "333333",
                "profile_use_background_image": true,
                "has_extended_profile": false,
                "default_profile": true,
                "default_profile_image": false,
                "following": false,
                "follow_request_sent": false,
                "notifications": false
            },
            "geo": null,
            "coordinates": null,
            "place": null,
            "contributors": null,
            "is_quote_status": false,
            "retweet_count": 168,
            "favorite_count": 1563,
            "favorited": false,
            "retweeted": false,
            "lang": "en",
            "network": "twitter",
            "order_id": "767488279612649472",
            "entity_id": "767488279612649472",
            "score": "767488279612649472",
            "queued_at": 1471818520448,
            "timeline_id": "9c5b38dc-67ee-11e6-9011-9c0a970095ab"
        },
        ...
    ]
                    
Live Matches Details
Javascript Requests Examples
                        
    ws = new WebSocket("ws://esports-api.com/api/leagueoflegends/liveMatchesDetails?apiKey=yourAPIKey");
    ws.onopen = function() {
        // Doesn't do anything. You could always say hello though!
        ws.send('Connected');
    };
    ws.onmessage = function (evt) {
        // Do stuff with the data
        console.log(evt.data);
    };
                    
Response JSON
                        
    There are a lot of data could be given in any frame from le socket. Below is the general structure of what it looks like:

    {
        frameId: {
            "t": timeInGame, 
            "playerStats": {
                playerId: {
                    key: value
                }
            },
            otherStuff *
        }
    }

    * Nothing is guaranteed to be in the frame, below are just a few examples of data that COULD be in a frame

    {
        "1001810031": {
            "t": 1316411,
            "playerStats": {
                "2": {
                    "wardsPlaced": 20
                },
                "8": {
                    "skills": {
                        "12": 1
                    }
                }
            },
            "gameComplete": true,
            "gameId": "dff21966-efb4-4f7f-9aa8-e54d1f74dc60",
            "matchId": "37515ef4-1317-47c3-91f3-4f41ae69143e",
            "generatedName": "CLG|TL|G1|37515ef4131747c391f3",
            "realm": "TRLH1",
            "gameComplete": false,
            "teamStats": {
                "100": {
                    "matchVictory": 1
                },
                "200": {
                    "matchDefeat": 1
                }
            }
        }
    }

    ** I made up the above frame, just threw a bunch of info from different frames together just to show what it could look like

    {
        "1001810031": {
            "playerStats": {
                "5": {
                    "items": [
                        1031,
                        2010,
                        2043,
                        2045,
                        3096,
                        3158,
                        3364
                    ]
                },
                "8": {
                    "items": [
                        1026,
                        1056,
                        3001,
                        3158,
                        3165,
                        3363
                    ]
                }
            }
        }
    }
                    

Misc (not directly related to professional esports)

Patches
As mentioned above, this API has data on the below for over 140 patches. To see all of the available patches, see the response to the call below. I have data from every patch that doesn't include the word "lol_patch". This means that only patches after "0.151.2" are supported by this API. By default, if you make one of the API calls below and don't specify a patch, it will default to the current patch. To specify a specific patch, add "&patch=yourPatchHere" to the end of the API call.
API Call
                        
                    These two url's point to the same thing
    "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/api/versions.json"
    "http://ddragon.leagueoflegends.com/api/versions.json"
                    
Response JSON
                        
    [
        "6.17.1",
        "6.16.2",
        "6.16.1",
        ...
        "5.9.1",
        "5.8.1",
        "5.7.2",
        ...
        "3.10.3",
        "3.10.2",
        "3.9.7",
        ...
        "0.152.55",
        "0.151.101",
        "0.151.2",
        ...
    ]
                    
Runes
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/runes"
                    
Response JSON
                        
    {
        "Data": {
            "patch": "6.17.1",
            "runes": [
                {
                    "stats": [
                        {
                            "stat": "rPercentCooldownMod",
                            "value": -0.00667
                        }
                    ],
                    "tags": [
                        "glyph"
                    ],
                    "image": {
                        "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/rune/b_1_2.png",
                        "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/rune0.png",
                        "h": 48,
                        "w": 48,
                        "y": 96,
                        "x": 96
                    },
                    "names": [
                        {
                            "lang": "en_US",
                            "name": "Glyph of Cooldown Reduction"
                        },
                        {
                            "lang": "ko_KR",
                            "name": "재사용 대기시간 감소 문양"
                        },
                        {
                            "lang": "zh_CN",
                            "name": "冷却缩减雕纹"
                        }
                    ],
                    "tier": 2,
                    "type": "blue",
                    "id": 5173,
                    "descriptions": [
                        {
                            "lang": "en_US",
                            "description": "-0.67% cooldowns"
                        },
                        {
                            "lang": "ko_KR",
                            "description": "재사용 대기시간 -0.67%"
                        },
                        {
                            "lang": "zh_CN",
                            "description": "-0.67% 冷却时间"
                        }
                    ]
                },
                ...
            ]
        }
    }
                    
Masteries
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/masteries"
                    
Response JSON
                        
    {
        "Data": {
            "masteries": [
                {
                    "ranks": 1,
                    "image": {
                        "full": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/mastery/6142.png",
                        "sprite": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/sprite/mastery0.png",
                        "h": 48,
                        "w": 48,
                        "y": 0,
                        "x": 384
                    },
                    "prereq": 0,
                    "names": [
                        {
                            "lang": "en_US",
                            "name": "Oppressor"
                        },
                        {
                            "lang": "ko_KR",
                            "name": "압제자"
                        },
                        {
                            "lang": "zh_CN",
                            "name": "恃强凌弱"
                        }
                    ],
                    "id": 6142,
                    "descriptions": [
                        {
                            "lang": "en_US",
                            "descriptions": [
                                "Deal 2.5% increased damage to targets with impaired movement (slow, stun, root, taunt, etc.)"
                            ]
                        },
                        {
                            "lang": "ko_KR",
                            "descriptions": [
                                "둔화, 기절, 속박, 도발 등 이동 방해 효과에 걸린 대상에게 입히는 피해량 2.5% 증가"
                            ]
                        },
                        {
                            "lang": "zh_CN",
                            "descriptions": [
                                "对移动受损(中了减速、晕眩、诱捕、嘲讽等效果)的目标造成2.5%额外伤害"
                            ]
                        }
                    ]
                },
                ... 
            ],
            "patch": "6.17.1",
            "tree": [
                {
                    "name": "Resolve",
                    "branch": [
                        {
                            "masteries": [
                                {
                                    "masteryId": 6211,
                                    "prereq": 0
                                },
                                {
                                    "masteryId": null,
                                    "prereq": null
                                },
                                {
                                    "masteryId": 6212,
                                    "prereq": 0
                                }
                            ],
                            "row": 0
                        },
                        ...
                    ]
                },
                ...
            ]
        }
    }
                    
Summoner Spells
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/summonerSpells"
                    
Response JSON
                        
    {
        "Data": {
            "summoners": [
                {
                    "tooltips": [
                        {
                            "lang": "en_US",
                            "tooltip": "After channeling for {{ f1 }} seconds, your champion teleports to target allied structure, minion,....."
                        },
                        {
                            "lang": "ko_KR",
                            "tooltip": "{{ f1 }}초 동안 정신 집중을 한 후 아군 미니언이나 포탑, 혹은 와드로 순간이동합니다.

다시 시전하면 ....." }, { "lang": "zh_CN", "tooltip": "在吟唱{{ f1 }}秒后,将英雄传送到友方建筑物、小兵或守卫旁边。

再次施放将取消传送,但冷却时间减为{{ f3 }}秒。" } ], "names": [ { "lang": "en_US", "name": "Teleport" }, { "lang": "ko_KR", "name": "순간이동" }, { "lang": "zh_CN", "name": "传送" } ], "modes": [ "CLASSIC", "TUTORIAL" ], "vars": [ { "coeff": [ 4 ], "link": "@text", "key": "f1", "multiplier": null } ], "image": { "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/spell/SummonerTeleport.png", "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/spell0.png", "h": 48, "w": 48, "y": 48, "x": 144 }, "effect": [], "range": 25000, "cooldown": 300, "descriptions": [ { "lang": "en_US", "description": "After channeling for 4.5 seconds, teleports your champion to target allied structure, minion, or ward." }, { "lang": "ko_KR", "description": "4.5초 동안 정신을 집중한 다음, 챔피언이 지정한 아군 구조물, 미니언, 혹은 와드로 순간이동합니다." }, { "lang": "zh_CN", "description": "在引导4.5秒后,将英雄传送到友方建筑物、小兵或守卫旁边。" } ], "key": 12, "summonerLevel": 6, "id": "SummonerTeleport", "maxAmmo": -1 }, ... ], "patch": "6.17.1" } }
Items
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/items"
                    
Response JSON
                        
    {
        "Data": {
            "items": [
                {
                    "descriptions": [
                        {
                            "lang": "en_US",
                            "description": "Limited to 1 Jungle item

+10% Life Steal vs. Monsters
+180% Base Mana Regen while in Jungle


Passive ...." }, { "lang": "ko_KR", "description": "정글 아이템은 1개로 소지가 제한됩니다.

몬스터 상대 생명력 흡수 +10%
정글에서 기본 마나 재생 +180%


기본 ...." }, { "lang": "zh_CN", "description": "只能持有1个打野装备

+10%对野怪的生命偷取
在野区中+180%基础法力回复

被动—挑战惩戒:【惩戒】可以对一个敌方英 ....。" } ], "consumeOnFull": false, "stats": [], "requiredChampion": null, "consumed": false, "tags": [ "Jungle", "LifeSteal", "ManaRegen", "OnHit" ], "builtFrom": [ 1039, 1041 ], "hideFromAll": false, "stacks": false, "inStore": true, "maps": [ { "available": true, "mapId": 11 }, ... ], "depth": 2, "names": [ { "lang": "en_US", "name": "Skirmisher's Sabre" }, { "lang": "ko_KR", "name": "척후병의 사브르" }, { "lang": "zh_CN", "name": "游击者的军刀" } ], "image": { "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/item/3715.png", "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/item2.png", "h": 48, "w": 48, "y": 48, "x": 96 }, "plaintexts": [ { "lang": "en_US", "plaintext": "Lets your Smite mark Champions, giving you combat power against them." }, { "lang": "ko_KR", "plaintext": "강타로 챔피언에게 표식을 남겨, 이 챔피언에 대한 전투력을 올려줍니다." }, { "lang": "zh_CN", "plaintext": "让你的【惩戒】能够标记敌方英雄,并在你与被标记英雄作战时,为你提供更多属性。" } ], "group": "JungleItems", "specialRecipe": null, "buildsInto": [ 1412, 1413, 1414, 1419 ], "id": 3715, "effects": [ { "effect": "Effect3Amount", "value": 1.8 }, ... ] }, ... ], "patch": "6.17.1", "tree": [ { "header": "START", "tags": [ "_SORTINDEX", "LANE", "JUNGLE" ] }, ... ], "groups": [ { "maxGroupOwnable": 6, "id": "AllLegendaries" }, ... ] } }
Champions
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/champions"
                    
Response JSON
                        
    {
        "Data": {
            "patch": "6.17.1",
            "champions": [
                {
                    "info": {
                        "difficulty": 3,
                        "attack": 8,
                        "defense": 5,
                        "magic": 2
                    },
                    "lores": [
                        {
                            "lang": "en_US",
                            "lore": "During the chaos of the Rune Wars, an enormous runestone was lost deep within the Plague Jungles. It rem...."
                        },
                        {
                            "lang": "ko_KR",
                            "lore": "역병 정글 깊숙한 곳에 신기한 바위를 숭배하는 원숭이들이 살았다. 마법의 힘을 지니고 있는 이 거대한 바위는 주변에 ...."
                        },
                        {
                            "lang": "zh_CN",
                            "lore": "在战争学院里,有很多来自异世界的英雄,其中的大部分都是被召唤师们给“请”来的,而另一小部分,则不请自来。齐天大圣孙悟...."
                        }
                    ],
                    "enemyTips": [
                        {
                            "lang": "en_US",
                            "tips": [
                                "Wukong will often use Decoy after Nimbus Strike. Try delaying your abilities by a short amount of time to ....",
                                "Wukong becomes tougher to kill when surrounded by his enemies. Try to isolate him to gain an advantage."
                            ]
                        },
                        {
                            "lang": "ko_KR",
                            "tips": [
                                "- 오공은 자주 근두운 급습을 사용한 다음 분신술을 사용합니다. 잠시 기다렸다가 오공 본체를 확인한 다음 스킬을 사용하십시오.",
                                "- 오공은 적에게 둘러싸여 있을 때 더 강해집니다. 먼저 고립시킨 다음 처치할 기회를 노리세요."
                            ]
                        },
                        {
                            "lang": "zh_CN",
                            "tips": [
                                "- 孙悟空通常会在使用腾云突击后使用真假猴王。保留技能,确保你击打的是孙悟空真身。",
                                "- 孙悟空在被敌人包围时会变得更加难杀。尽量先孤立他,从而获得优势。"
                            ]
                        }
                    ],
                    "blurbs": [
                        {
                            "lang": "en_US",
                            "blurb": "During the chaos of the Rune Wars, an enormous runestone was lost deep within the Plague Jungles. It ...."
                        },
                        {
                            "lang": "ko_KR",
                            "blurb": "역병 정글 깊숙한 곳에 신기한 바위를 숭배하는 원숭이들이 살았다. 마법의 힘을 지니고 있는 이 거대한 바위는 주...."
                        },
                        {
                            "lang": "zh_CN",
                            "blurb": "在战争学院里,有很多来自异世界的英雄,其中的大部分都是被召唤师们给“请”来的,而另一小部分,则不请自来。齐天大圣...." 
                        }
                    ],
                    "tags": [
                        "Fighter",
                        "Tank"
                    ],
                    "image": {
                        "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/champion/MonkeyKing.png",
                        "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/champion2.png",
                        "h": 48,
                        "w": 48,
                        "y": 0,
                        "x": 336
                    },
                    "parType": "MP",
                    "skins": [
                        {
                            "splashImage": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/img/champion/splash/MonkeyKing_0.jpg",
                            "chromas": false,
                            "num": 0,
                            "names": [
                                {
                                    "lang": "en_US",
                                    "name": "default"
                                },
                                {
                                    "lang": "ko_KR",
                                    "name": "default"
                                },
                                {
                                    "lang": "zh_CN",
                                    "name": "default"
                                }
                            ],
                            "id": 62000,
                            "loadingImage": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/img/champion/loading/MonkeyKing_0.jpg"
                        },
                        ...
                    ],
                    "passive": {
                        "image": {
                            "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/passive/MonkeyKingStoneSkin.png",
                            "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/passive2.png",
                            "h": 48,
                            "w": 48,
                            "y": 0,
                            "x": 336
                        },
                        "descriptions": [
                            {
                                "lang": "en_US",
                                "description": "Increases Wukong's Armor and Magic Resist for each nearby enemy champion."
                            },
                            {
                                "lang": "ko_KR",
                                "description": "근처에 있는 적 챔피언의 수에 따라 오공의 방어력과 마법 저항력이 증가합니다."
                            },
                            {
                                "lang": "zh_CN",
                                "description": "孙悟空的护甲和魔法抗性会根据周围的敌方英雄数量而增加。"
                            }
                        ],
                        "names": [
                            {
                                "lang": "en_US",
                                "name": "Stone Skin"
                            },
                            {
                                "lang": "ko_KR",
                                "name": "바위 피부"
                            },
                            {
                                "lang": "zh_CN",
                                "name": "金刚不坏"
                            }
                        ]
                    },
                    "titles": [
                        {
                            "lang": "en_US",
                            "title": "the Monkey King"
                        },
                        {
                            "lang": "ko_KR",
                            "title": "원숭이 왕"
                        },
                        {
                            "lang": "zh_CN",
                            "title": "孙悟空"
                        }
                    ],
                    "allyTips": [
                        {
                            "lang": "en_US",
                            "tips": [
                                "Decoy and Nimbus Strike work well together to quickly strike your enemy and get out before they can retaliate.",
                                "Try using Decoy near brush to make an enemy overreact to your movement."
                            ]
                        },
                        {
                            "lang": "ko_KR",
                            "tips": [
                                "- 근두운 급습과 분신술을 조합하면 적이 반격하기 전에 빠르게 치고 빠질 수 있습니다.",
                                "- 수풀 근처에서 분신술을 사용하여 적이 과민하게 반응하도록 유도하십시오."
                            ]
                        },
                        {
                            "lang": "zh_CN",
                            "tips": [
                                "- 配合使用腾云突击和真假猴王能够快速攻击敌人并在他们报复之前撤退。",
                                "- 尝试在草丛附近使用真假猴王,忽悠敌人。"
                            ]
                        }
                    ],
                    "names": [
                        {
                            "lang": "en_US",
                            "name": "Wukong"
                        },
                        {
                            "lang": "ko_KR",
                            "name": "오공"
                        },
                        {
                            "lang": "zh_CN",
                            "name": "齐天大圣"
                        }
                    ],
                    "key": 62,
                    "recommendations": [
                        {
                            "map": "SR",
                            "blocks": [
                                {
                                    "showIfSummonerSpell": "",
                                    "items": [
                                        {
                                            "count": 1,
                                            "hideCount": false,
                                            "id": 1055
                                        }
                                    ],
                                    "hideIfSummonerSpell": "",
                                    "recMath": false,
                                    "minSummonerLevel": -1,
                                    "maxSummonerLevel": 4,
                                    "type": "beginner_starter"
                                },
                                ...
                            ],
                            "champion": "MonkeyKing",
                            "title": "Beginner",
                            "mode": "INTRO",
                            "type": "riot"
                        },
                        ...
                    ],
                    "stats": {
                        "armorPerLevel": 3.5,
                        "attackDamage": 59.876,
                        "mpPerLevel": 38,
                        "attackSpeedOffset": -0.05,
                        "armor": 24.88,
                        "hp": 577.8,
                        "hpRegenPerLevel": 0.65,
                        "attackSpeedPerLevel": 3,
                        "attackRange": 175,
                        "moveSpeed": 345,
                        "attackDamagePerLevel": 3.2,
                        "mpRegenPerLevel": 0.65,
                        "critPerLevel": 0,
                        "spellBlockPerLevel": 1.25,
                        "hpPerLevel": 85,
                        "crit": 0,
                        "mpRegen": 8.04,
                        "spellBlock": 32.1,
                        "hpRegen": 6.19,
                        "mp": 265.84
                    },
                    "id": "MonkeyKing",
                    "spells": [
                        {
                            "cooldownBurn": "9/8/7/6/5",
                            "tooltips": [
                                {
                                    "lang": "en_US",
                                    "tooltip": "Wukong's next attack gains {{ e4 }} range, deals {{ e1 }} (+{{ a1 }}) bonus physical damage ...."
                                },
                                {
                                    "lang": "ko_KR",
                                    "tooltip": "오공의 다음 공격 사거리가 {{ e4 }} 증가하고, {{ e1 }} (+{{ a1 }})의 추가 물리 피해를 주며 {{ e3 ...."
                                },
                                {
                                    "lang": "zh_CN",
                                    "tooltip": "孙悟空的下次攻击提升{{ e4 }}距离,造成{{ e1 }}(+{{ a1 }})额外物理伤害,并减少敌人{{ e2 }}%护甲,....。"
                                }
                            ],
                            "cooldown": [
                                9,
                                8,
                                7,
                                6,
                                5
                            ],
                            "names": [
                                {
                                    "lang": "en_US",
                                    "name": "Crushing Blow"
                                },
                                {
                                    "lang": "ko_KR",
                                    "name": "파쇄격"
                                },
                                {
                                    "lang": "zh_CN",
                                    "name": "粉碎打击"
                                }
                            ],
                            "levelTip": {
                                "labels": [
                                    {
                                        "lang": "en_US",
                                        "labels": [
                                            "Bonus Damage",
                                            "Armor Reduction",
                                            "Cooldown"
                                        ]
                                    },
                                    {
                                        "lang": "ko_KR",
                                        "labels": [
                                            "추가 피해량",
                                            "방어력 감소",
                                            "재사용 대기시간"
                                        ]
                                    },
                                    {
                                        "lang": "zh_CN",
                                        "labels": [
                                            "额外伤害",
                                            "护甲降低",
                                            "冷却缩减"
                                        ]
                                    }
                                ],
                                "effect": [
                                    "{{ e1 }} -> {{ e1NL }}",
                                    "{{ e2 }}% -> {{ e2NL }}%",
                                    "{{ cooldown }} ->{{ cooldownnNL }}"
                                ]
                            },
                            "vars": [
                                {
                                    "coeff": [
                                        0.1
                                    ],
                                    "link": "attackdamage",
                                    "key": "a1",
                                    "multiplier": null
                                }
                            ],
                            "costType": "Mana",
                            "image": {
                                "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/spell/MonkeyKingDoubleAttack.png",
                                "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/spell7.png",
                                "h": 48,
                                "w": 48,
                                "y": 0,
                                "x": 96
                            },
                            "effect": [
                                [
                                    30,
                                    60,
                                    90,
                                    120,
                                    150
                                ],
                                [
                                    10,
                                    15,
                                    20,
                                    25,
                                    30
                                ],
                                [
                                    3,
                                    3,
                                    3,
                                    3,
                                    3
                                ],
                                [
                                    125,
                                    125,
                                    125,
                                    125,
                                    125
                                ],
                                [
                                    6,
                                    6,
                                    6,
                                    6,
                                    6
                                ]
                            ],
                            "maxrank": null,
                            "costBurn": "40",
                            "rangeBurn": "650",
                            "range": [
                                650,
                                650,
                                650,
                                650,
                                650
                            ],
                            "cost": [
                                40,
                                40,
                                40,
                                40,
                                40
                            ],
                            "descriptions": [
                                {
                                    "lang": "en_US",
                                    "description": "Wukong's next attack deals additional physical damage, gains range, and reduces the ene...."
                                },
                                {
                                    "lang": "ko_KR",
                                    "description": "오공의 다음 공격은 추가 물리 피해를 입히며 사거리가 증가하고, 맞은 적의 방어력이 잠시 낮아집니다."
                                },
                                {
                                    "lang": "zh_CN",
                                    "description": "孙悟空的下次攻击造成额外物理伤害,获得距离加成,并暂时减少敌人的护甲。"
                                }
                            ],
                            "effectBurn": [
                                "30/60/90/120/150",
                                "10/15/20/25/30",
                                "3",
                                "125",
                                "6"
                            ],
                            "id": "MonkeyKingDoubleAttack",
                            "resources": [
                                {
                                    "lang": "en_US",
                                    "resource": "{{ cost }} Mana"
                                },
                                {
                                    "lang": "ko_KR",
                                    "resource": "마나 {{ cost }}"
                                },
                                {
                                    "lang": "zh_CN",
                                    "resource": "{{ cost }}法力"
                                }
                            ],
                            "maxAmmo": -1
                        },
                        ...
                },
            ]
        }
    }
                    
Maps
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/maps"
                    
Response JSON
                        
    {
        "Data": {
            "maps": [
                {
                    "image": {
                        "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/map/map11.png",
                        "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/map0.png",
                        "h": 48,
                        "w": 48,
                        "y": 0,
                        "x": 192
                    },
                    "unpurchasableItemList": [],
                    "name": "SummonersRiftNew",
                    "id": 11
                },
                {
                    "image": {
                        "full": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/map/map10.png",
                        "sprite": "http://datadragon-new-807633007.us-east-1.elb.amazonaws.com/cdn/6.17.1/img/sprite/map0.png",
                        "h": 48,
                        "w": 48,
                        "y": 0,
                        "x": 48
                    },
                    "unpurchasableItemList": [],
                    "name": "NewTwistedTreeline",
                    "id": 10
                },
                ...
            ],
            "patch": "6.17.1"
        }
    }
                    
Profile Icons
API Call
                        
    "http://esports-api.com/api/leagueoflegends/misc/profileIcons"
                    
Response JSON
                        
    {
        "Data": {
            "patch": "6.17.1",
            "profileIcons": [
                {
                    "image": {
                        "fuccll": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/profileicon/668.png",
                        "sprite": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/sprite/profileicon0.png",
                        "h": 48,
                        "w": 48,
                        "y": 1632,
                        "x": 96
                    },
                    "id": 668
                },
                ...
                {
                    "image": {
                        "full": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/profileicon/963.png",
                        "sprite": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/sprite/profileicon0.png",
                        "h": 48,
                        "w": 48,
                        "y": 3024,
                        "x": 288
                    },
                    "id": 963
                },
                ...
                {
                    "image": {
                        "full": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/profileicon/989.png",
                        "sprite": "http://ddragon.leagueoflegends.com/cdn/6.17.1/img/sprite/profileicon0.png",
                        "h": 48,
                        "w": 48,
                        "y": 3168,
                        "x": 96
                    },
                    "id": 989
                },
                ...
            ]
        }
    }