Skip to content

Instantly share code, notes, and snippets.

@levi
Last active May 16, 2025 10:27
Show Gist options
  • Save levi/e7e5e808ac0119e154ce to your computer and use it in GitHub Desktop.
Save levi/e7e5e808ac0119e154ce to your computer and use it in GitHub Desktop.
Riot LoL eSports Unofficial API Documentation

Week Schedule

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

Parameters

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

Example

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

Tournamnent

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

Parameters

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

Example

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

Tournament Week Schedule

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

Parameters

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

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

Example

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

Champions

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

Example

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

lason33 commented Jun 28, 2016

Why some examples are not working?
http://na.lolesports.com/api/programmingWeek/2014-05-19/-0700.json for example...

@rahulmanuwas
Copy link

Hi @lason33 the urls have changed now. Instead of [http://na.lolesports.com/api/programmingWeek/2014-05-19/-0700.json] you can try [http://2015.na.lolesports.com/api/programmingWeek/2014-05-19/-0700.json]

@matthewdavies27
Copy link

Thank you!

@dataidroj
Copy link

Hi! Is there any way to catch the information of the current season?

Thank you!

@nko12
Copy link

nko12 commented Nov 25, 2016

The Team and Player endpoints don't appear to be working.

http://2015.na.lolesports.com/api/player/84.json
http://2015.na.lolesports.com/api/team/3656.json

Making a GET requests to these two example urls get me a json response in the correct formats, but they have all empty and null data. For example, the response from the team endpoint using that example url yields the following:

{
  "name": null,
  "bio": null,
  "noPlayers": null,
  "roster": [],
  "logoUrl": "http://2015.na.lolesports.com/",
  "profileUrl": "http://2015.na.lolesports.com/node/",
  "teamPhotoUrl": "http://2015.na.lolesports.com/",
  "acronym": null
}

Any ideas or anything I can do? I could really use these APIs for a group project I have next week.

@Neuron64
Copy link

Neuron64 commented Feb 27, 2017

Java-wrapper for League of Legends' eSports API : https://github.com/hubesports/lol-esports-api-connector

@mikesetzer
Copy link

Are these all still working?

@jimmycheung2481
Copy link

I'm curious as well. Is this example still working, and if not, do you know of any working Esports APIs?

@Neuron64
Copy link

Neuron64 commented Apr 7, 2017

@podfog @mikesetzer Yes, this API works.

@Tarkfen
Copy link

Tarkfen commented Apr 29, 2017

Hi,
Is the URL are change again ? I've problem to get response in JSON from this API :/

@miggs96
Copy link

miggs96 commented Nov 23, 2017

Is this api still up to date?

@shangdrk
Copy link

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

@Tzula
Copy link

Tzula commented Feb 26, 2018

not working anymore

Copy link

ghost commented Sep 14, 2018

None of those works

@PandaXcentric
Copy link

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

https://github.com/PandaXcentric/game_apis

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

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