League Client APIs
How are our policies changing?
Prior to now, we've asked devs to keep applications that use undocumented League Client APIs separate from apps that use the Riot Games API. We couldn't guarantee uptime on those services, nor could we promise they wouldn't be encrypted or go away sometime in the near future. While the first point still stands—we don’t own those services and can't commit to predictable uptime—we can confidently say that they won't be getting encrypted in the short term. As a result, we’re updating our policy: we aren't restricting or penalizing access to those endpoints, and we strongly encourage you to share your plans with us to use League Client APIs in your League of Legends projects.
Two caveats, though!
First, especially if you’re mixing your product to use both the Riot Games API and these undocumented endpoints, abide by the rules around app submission. Be sure to follow the best practices and guidance listed on the Developer Portal. We will give corrective feedback to (or shut down) apps that violate the letter or spirit, of our Terms of Service, our Legal Jibber Jabber, or any guidance we’ve shared through official channels.
Second, whether you’re combining endpoints or doing something by only using the undocumented endpoints, we’d like to hear from you! Leave an app note as you would normally in the Developer Portal (see below). Please do us a solid and tell us which endpoints you’re using and how you’re using them. We collect and use this info to lobby dev teams here at Riot to expand on current or future feature sets so we can give you more toys to play with.
What League Client APIs are we referring to?
In an article on the Riot Games Engineering Blog, there's an image that is useful for defining what we’re classifying as "League Client APIs".
Specifically, we’re referring to a set of APIs that the Chromium Embedded Framework (CEF) uses to communicate with a C++ Library that in turn communicates with the League of Legends platform. As you’ll notice the communications between the C++ library and the CEF all occur locally on your desktop. These are the League Client APIs.
Planning on using League Client APIs?
- Create an application (if you don’t already have an existing application)
- Leave an app note with information on how you’re using these APIs.
Example Note (use this template, but also use your own words)
Which League Client API are you using? Champion Select API What has prompted the use of this API? Our application provides our users with information that will allow them to optimize their champion selection process. Utilizing this API provides a smooth experience for our users without requiring our users to manually input champion selections. How are you planning on using the data you gather from this API? We'll be reading both teammate and opponent champion selections, sending this information to our servers which will provide the user with champion, rune, and summoner spell suggestions.
(repeat as necessary)
One additional note, if we do find devs that are using undocumented APIs for their apps without disclosing them, we can and will revoke Riot Games API access, so please update your applications accordingly. We can’t promise to have up to date documentation around these endpoints, but we aim to use your feedback to create official resources, helping you navigate these endpoints in the future. Your best, most up-to-date sources of info here are potentially your fellow developers. Seek out apps that are doing things like pulling player replays or giving advice in champ select (two common uses of these endpoints), and either talk to those devs or hit up our community Discord for advice.