Static Data API

The Static Data API draws its information directly from Data Dragon, a web service that is meant to centralize League of Legends game data. While you are free to pull information from Data Dragon directly, we encourage you to use the Static Data API because it offers several advantages over Data Dragon.


Advantages

  • It makes use of Data Dragon's realm files so that it always provides data for the current patch that is live in a region. This means you don't have to adjust your code each time a region changes to a new Data Dragon version.
  • It continues to provide the most current data for the current patch that is live in a region even in the rare occasion that Data Dragon is unavailable.

Disadvantages

  • Data Dragon is a collection of JSON files heavily cached by AWS S3, but static data API is a convenience service that adds features on top of the static JSON files, which incurs a significantly higher load and resource cost. Thus, there are a method rate limits for each endpoint in the static data API, while Data Dragon has no rate limiting. Refer to the Rate Limiting documentation for more information.

Notes

  • The Static Data API returns the default locale for the region (as specified in the realms file). If you specify an alternate locale that is not supported, the request will be rejected and the API will return a bad request response. The Languages section contains a list of supported locales.
  • The Static Data API does some transformations on the data returned by Data Dragon. If you are migrating from using Data Dragon directly, you may need to make some changes to your code. For example, in Data Dragon, champions data returns the numeric identifier in the key field and the name in the id field, while the Static Data API reverses those values.
  • Updating Data Dragon after a patch requires a manual step, so it is not always updated immediately after a patch, which means the Static Data API will also have a delay in updates after a patch.
  • Data from Data Dragon is encoded using UTF-8. To ensure you receive a properly encoded response include the Accept-Charset header specifying UTF-8 as the desired response encoding.
  • The API team does not manage Data Dragon and only supports the the functionality of the Static Data API and its ability to present the data available through Data Dragon.
  • If you are having trouble interpreting the data when using the Static Data API, first check the documentation for Data Dragon (below) and if you still have questions, post them on the Developer Forums.

Data Dragon

Data Dragon is a web service that is meant to centralize League of Legends game data and assets, including champions, items, runes, masteries, summoner spells, and profile icons. The Data Dragon Tool is a catalog of Data Dragon that is publicly available to access from the Internet. Note that you can download a gzipped tar file (.tar.gz) for each patch from the tool that contains all of the assets for that patch. Updating Data Dragon after a patch requires a manual step, so it is not always updated immediately after a patch.


Realms & Versions

Data Dragon versions aren't always equivalent to the League of Legends client version. You can determine which version of Data Dragon each region is on by using the realms endpoint within the Static Data API. You can also find all valid Data Dragon versions by using the versions endpoint. Both the realm and versions endpoints draw their information from the corresponding Data Dragon files which can be found in the table below.


Static Data API endpoint Data Dragon file
/api/lol/static-data/{region}/v1.2/realm realms/na.json
/api/lol/static-data/{region}/v1.2/versions versions.json

Image & Data URLS

The Data Dragon URLs frequently include a version and/or a language code. Version 6.24.1 is being used for the examples listed below, but if you want to view assets released in later versions you'll have to replace 6.24.1 in the URL with a more recent Data Dragon version. The en_US language code (English, United States) is being used for the examples below, but a list of languages supported by Data Dragon can be found in the Languages section.


Images (version 6.24.1)

Data (version 6.24.1)

Champion Data

Champion Spell Text

Data Dragon provides the champion data that the client uses. Lore, tips, stats, spells, and even recommended items are all part of the data available for every champion. Champion spell tooltips often have placeholders for variables which are signified by double curly brackets. Below are some tips about interpreting these placeholders:

  • Tags of the format {{ eX }} are replaced by the corresponding item in the array given in the effectBurn field (e.g., {{ e1 }} would be spell["effectBurn"]["1"]).

    /* Amumu's Bandage Toss */
    "sanitizedTooltip": "Throws a bandage to target location. If it hits an enemy unit, Amumu
    will pull himself to the enemy, stun them for 1 second, and deal {{ e1 }} (+{{ a1 }}) magic
    damage.",
    "effectBurn": [
        "",
        "80/130/180/230/280"
    ]
  • Tags of the format {{ aX }} or {{ fX }} are slightly more complicated. Their replacement values can be found in the vars field. First, find the object in the vars array whose key matches the variable (e.g., for a1, find the object in the vars array whose key field has the value a1). The value for this variable is the coeff field in that same object.

    /* Amumu's Bandage Toss */
    "sanitizedTooltip": "Throws a bandage to target location. If it hits an enemy unit, Amumu
    will pull himself to the enemy, stun them for 1 second, and deal {{ e1 }} (+{{ a1 }}) magic
    damage.",
    "vars": [
        {
            "key": "a1",
            "link": "spelldamage",
            "coeff": [
                0.7
            ]
        }
    ]

Under a champions spells there are two fields effect and effectBurn. Effect contains an array of an ability’s values per level where, in contrast, effectBurn contains a string of all the values at every level. (e.g., effect: [30,60,90,120,150] vs effectBurn: "30/60/90/120/150"). You might notice how the effect and effectBurn arrays have a null value in the 0 index. This is because those values are taken from designer-facing files where arrays are 1-based. JSON is 0-based so a null is inserted to make it easier to verify the JSON files are correct.

"effect": [
    null,
    [ 120, 150, 180, 210, 240 ],
    [ 50, 70, 90, 110, 130 ],
    [ 25, 35, 45, 55, 65 ],
    [ 0.2, 0.2, 0.2, 0.2, 0.2 ],
    [ 50, 60, 70, 80, 90 ]
],
"effectBurn": [
    "",
    "120/150/180/210/240",
    "50/70/90/110/130",
    "25/35/45/55/65",
    "0.2",
    "50/60/70/80/90"
]

Champion Spell Cost

In most cases when a spell costs mana or energy, you'll find those related costs under the cost and costBurn fields. When a spell costs health, the cost will be found in the effect and effectBurn fields. You should always be able to determine how to calculate the cost of a spell by looking at the resource field which should point you to the variable being used to display the cost of a spell.

/* Soraka's Astral Infusion */
"resource": "10% Max Health, {{ cost }} Mana",
"cost": [ 20, 25, 30, 35, 40 ],
"costBurn": "20/25/30/35/40"
/* Shen's Vorpal Blade */
"resource": "{{ cost }} Energy",
"cost": [ 60, 60, 60, 60, 60 ],
"costBurn": "60"
/* Dr. Mundo's Infected Cleaver */
"resource": "{{ e3 }} Health",
"cost": [ 0, 0, 0, 0, 0 ],
"costBurn": "0",
"effect": [
    null,
    [ 80, 130, 180, 230, 280 ],
    [ 15, 18, 21, 23, 25 ],
    [ 50, 60, 70, 80, 90 ],
    [ 40, 40, 40, 40, 40 ],
    [ 2, 2, 2, 2, 2 ]
],
"effectBurn": [
    "",
    "80/130/180/230/280",
    "15/18/21/23/25",
    "50/60/70/80/90",
    "40",
    "2"
]

Item Data

Data Dragon also provides the same level of detail for every item in the game. Within Data Dragon you can find info such as the item’s description, purchase value, sell value, items it builds from, items it builds into, and stats granted from the item.


There is a field called effect which holds an array of variables used extra scripts. As an example, on Doran's shield you see the following data in the effect field, which corresponds to the 8 damage that is blocked from champion attacks: "effect":{"Effect1Amount":"8"}


Stat Naming Conventions

A list of possible stats that you gain from items, runes, or masteries can also be found in Data Dragon and the Static Data API items endpoint using the itemListData parameter set to "all". You can find a list of stats gained by the item, rune, or mastery by searching for the stats field. Below are some tips when it comes to understanding what a stat means and how they are calculated:

  • Mod stands for modifier.
  • A "r" at the beginning of the stat means those stats can be found on runes.
  • Displaying flat vs. percentage vs. per 5 etc. is unfortunately case by case. For a given stat, though, it will always be the same. (e.g., PercentAttackSpeedMod you always multiply by 100 and display it as a percentage)
  • Stats are called flat if you add them together, and percent if you multiply them together.
  • Tenacity from an item does NOT stack but tenacity from a rune DOES stack.

Localization

Data Dragon provides a list of localized strings used by the client. A list of the supported languages can be found below in the Language section.


Static Data API endpoint Data Dragon file
/api/lol/static-data/{region}/v1.2/language-strings language.json

Languages

Data Dragon provides data in languages supported by the client. Below is a list of the languages supported by Data Dragon which was retrieved from the languages Data Dragon file.


Static Data API endpoint Data Dragon file
/api/lol/static-data/{region}/v1.2/languages languages.json

Code Language Code Language
cs_CZ Czech (Czech Republic) it_IT Italian (Italy)
de_DE German (Germany) ja_JP Japanese (Japan)
el_GR Greek (Greece) ko_KR Korean (Korea)
en_AU English (Australia) ms_MY Malay (Malaysia)
en_GB English (United Kingdom) pl_PL Polish (Poland)
en_PH English (Republic of the Philippines) pt_BR Portuguese (Brazil)
en_PL English (Poland) ro_RO Romanian (Romania)
en_SG English (Singapore) ru_RU Russian (Russia)
en_US English (United States) th_TH Thai (Thailand)
es_AR Spanish (Argentina) tr_TR Turkish (Turkey)
es_ES Spanish (Spain) vn_VN Vietnamese (Viet Nam)
es_MX Spanish (Mexico) zh_CN Chinese (China)
fr_FR French (France) zh_MY Chinese (Malaysia)
hu_HU Hungarian (Hungary) zh_TW Chinese (Taiwan)
id_ID Indonesian (Indonesia)