League Client APIs

What is the League Client API?

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 protocols 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. This is the League Client API.



What it’s for

  • Features that improve the player’s League of Legends experience.
    For example: Ways for players to access information about the game more easily.

  • Features that amplify the value created by existing game systems.
    For example: Replays currently give players a way to capture and relive moments. Creating features that make it easier to capture and relive those moments amplifies the value of the replay system.

  • Features that help players improve.
    For example: Methods for players to better understand how their actions impact the game.

 

What it’s not for

  • Should not (Riot will direct changes to the product)


    • Create features that oppose or challenge systems in the game.
      For example: Don’t create an alternative reporting system.

    • Create features that have the potential of hurting another player’s experience.
      For example: Don’t create commentary on another player’s performance (i.e., Player A is on tilt).


  • Cannot (Riot will shut the product down)


    • Break the law.
      For example: Respect player privacy.

    • Break the game.
      For example: Don’t break competitive integrity. Don’t negatively affect player behavior.

    • Replace features.
      For example: Don’t create an alternative client.

    • Manipulate or mislead players.

For example: Don’t replace Riot marketing content in the client with custom content.

    • Use as an alternative to supported third party developer tools except where otherwise noted in any official exceptions, if any.

For example: Don’t use the League Client API when we have rejected or disabled your application for the Riot Games API. If an endpoint exists in both the Riot Games API and the League Client API, you should use the Riot Games API.

 

What’s next

Whether you’re combining the Riot Games API and League Client API, or doing something by only using the League Client endpoints, we need to know about it. Either create a new application or leave a note on your existing application in the Developer Portal. We need to know which endpoints you’re using and how you’re using them in order to expand on current or future feature sets. If you have any questions please join the discord for help.