UNPKG

riot-api

Version:

Riot Games API library

335 lines (264 loc) 10.9 kB
# RiotAPI A node.js library for fetching League of Legends data from the [Riot API](https://developer.riotgames.com/). Riot's API requires a API Key. More information about how to get a Key, Rate Limits and more can be found on their [official Site](https://developer.riotgames.com/docs/getting-started). Game constants like queue types, maps, game types, game modes and rune slots are explained [here](https://developer.riotgames.com/docs/game-constants). ## Getting started RiotAPI is designed to be simple. ```javascript var RiotApi = require('riot-api'); var api = new RiotApi('YOUR_API_KEY_GOES_HERE'); ``` Each Method takes an options object and a callback. The callback is always a json object, either a set of results or a status message if the call was invalid. ## Methods ### api.getChampions(options, callback) Retrieve all champions currently in the game. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `filter` - **object** - (Optional) Filter the result to only get Champions who match the specific options. - `active` - **boolean** - Indicates if the champion is active. - `rankedPlayEnabled` - **boolean** - Ranked play enabled flag. - `botEnabled` - **boolean** - Bot enabled flag (for custom games). - `botMmEnabled` - **boolean** - Bot Match Made enabled flag (for Co-op vs. AI games). - `freeToPlay` - **boolean** - Indicates if the champion is free to play. Free to play champions are rotated periodically. - `attackRank` - **int** - Champion attack rank. - `defenseRank` - **int** - Champion defense rank. - `difficultyRank` - **int** - Champion difficulty rank. - `magicRank` - **int** - Champion magic rank. - `id` - **int** - Champion ID. - `name` - **string** - Champion name. #### Result: The Result is a array of objects containing information about the champion. An object might look like this: ```javascript { "botMmEnabled": false, "defenseRank": 4, "attackRank": 8, "id": 266, "rankedPlayEnabled": true, "name": "Aatrox", "botEnabled": false, "difficultyRank": 6, "active": true, "freeToPlay": false, "magicRank": 3 } ``` #### Example: ```javascript api.getChampions({ 'region': 'NA', 'filter': { 'freeToPlay': true } }, function(data) { console.log('These champions are currently free to play:'); data.forEach(function(champion) { console.log('Name: ' + champion.name + ', Difficulty: ' + champion.difficultyRank); }); }); ``` ### api.getRecentGames(options, callback) Get the recent games for summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. *Either Summoner ID or Name is required. #### Result: The Result is a object with informations about the recent games of the given summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/292/1029). #### Example: ```javascript api.getChampions({ 'region': 'NA', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getLeagues(options, callback) Retrieves leagues data for summoner, including leagues for all of summoner's teams. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`, `BR`, `TR`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. - `queue` - **string** - (Optional) Only recive data for the given queue type. Legal values are: `RANKED_SOLO_5x5`, `RANKED_TEAM_3x3`, `RANKED_TEAM_5x5`. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the leagues for the given summoner. The object is the exact same object given by the default API call (except if you only want to recieve a specific queue type), which can be tested [here](https://developer.riotgames.com/api/methods#!/254/959). #### Example: ```javascript api.getLeagues({ 'region': 'NA', 'queue': 'RANKED_SOLO_5x5', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getStatsSummary(options, callback) Get player stats summaries for summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. - `season` - **int** - (Optional) If specified, stats for the given season are returned. Otherwise, stats for the current season are returned. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the stats of summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/294/1035). #### Example: ```javascript api.getStatsSummary({ 'region': 'NA', 'season': 3, 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getRankedStats(options, callback) Get ranked stats for summoner. Includes statistics for Twisted Treeline and Summoner's Rift #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. - `season` - **int** - (Optional) If specified, stats for the given season are returned. Otherwise, stats for the current season are returned. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the ranked stats of summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/294/1035). #### Example: ```javascript api.getRankedStats({ 'region': 'NA', 'season': 3, 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getMasteries(options, callback) Get mastery pages for summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the mastery pages of summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/293/1030). #### Example: ```javascript api.getMasteries({ 'region': 'NA', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getRunes(options, callback) Get rune pages for summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the rune pages of summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/293/1033). The `runeSlotId` fields are explained [here](https://s3-us-west-1.amazonaws.com/riot-api/img/rune-slot-ids.png). #### Example: ```javascript api.getRunes({ 'region': 'NA', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getSummonerNamesByIds(options, callback) Get list of summoner names by summoner IDs. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerIds` - **array[int]** - Summoner ID's. #### Result: The Result is an array with objects containing name and id of a summoner. ```javascript [ { "id": 60783, "name": "TheOddOne" }, { "id": 5908, "name": "Dyrus" } ] ``` #### Example: ```javascript api.getRunes({ 'region': 'NA', 'summonerIds': [60783, 5908] }, function(data) { //process data }); ``` ### api.getSummoner(options, callback) Get basic information about summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. *Either Summoner ID or Name is required. #### Result: The Result is an object containing basic information of a summoner. ```javascript { "id": 60783, "name": "TheOddOne", "profileIconId": 558, "summonerLevel": 30, "revisionDate": 1386684611000, "revisionDateStr": "12/10/2013 02:10 PM UTC" } ``` #### Example: ```javascript api.getSummoner({ 'region': 'NA', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ``` ### api.getTeams(options, callback) Retrieves teams of summoner. #### Options: - `region` - **string** - Region where to retrieve the data. If no region is given, `NA` will be used. Currently available regions are: `NA`, `EUW`, `EUNE`, `TR`, `BR`. - `summonerId` - **int** - Summoner ID*. - `summonerName` - **string** - Summoner Name*. *Either Summoner ID or Name is required. #### Result: The Result is a object with data about the teams of summoner. The object is the exact same object given by the default API call, which can be tested [here](https://developer.riotgames.com/api/methods#!/256/961). #### Example: ```javascript api.getTeams({ 'region': 'NA', 'summonerName': 'TheOddOne' //-OR- //'summonerId': 60783 }, function(data) { //process data }); ```