Overview

The Riot Games Developer API offers a suite of endpoints designed to provide comprehensive access to game data across several of Riot Games' titles, including League of Legends, Teamfight Tactics, Legends of Runeterra, and VALORANT. This API is utilized by developers to create a variety of applications, ranging from companion apps that enhance player experience to sophisticated platforms for match history analysis and esports data tracking. The API enables the creation of player statistics dashboards, allowing users to monitor their performance, compare with others, and gain insights into gameplay trends.

Developers targeting the Riot Games API are typically building solutions for the gaming community, esports organizations, or data analysis professionals. The API provides raw game data, which can then be processed and presented in user-friendly formats. For example, a developer might retrieve a player's entire match history for League of Legends, process the data to calculate win rates against specific champions, and display this information in a web application. The robust nature of the API's data offerings supports detailed statistical modeling and trend analysis, which is valuable for professional players and coaches seeking to optimize strategies.

When it comes to application scenarios, the Riot Games API shines in environments where real-time or near real-time game data is crucial. This includes live stat tracking during esports tournaments, post-match analysis tools, and personalized player guides. The API's capabilities extend to retrieving summoner information, champion statistics, item builds, and intricate match details. The official documentation notes that while a developer API key is free, production applications requiring higher rate limits undergo a review process, ensuring that the infrastructure can support high-demand services while maintaining fair access for all users. This tiered access model allows for scalable development, from small hobby projects to large-scale commercial applications.

Key features

  • League of Legends Game Data: Access to summoner profiles, match histories, live game data, champion statistics, item data, and leaderboard information for League of Legends.
  • VALORANT Game Data: Provides data for VALORANT matches, including player performance, agent selections, and map statistics.
  • Teamfight Tactics (TFT) Data: Enables retrieval of player data, match histories, and leaderboard information specific to Teamfight Tactics.
  • Legends of Runeterra Data: Offers access to player data and match details for the digital collectible card game, Legends of Runeterra.
  • Region-Specific Endpoints: Supports data retrieval across various geographical regions, allowing for localized application development and analysis.
  • Rate Limit Management: Implements a system of rate limits for API keys, with options for developers to request higher limits for production applications through an application and review process.
  • Comprehensive Documentation: Detailed API reference with endpoint descriptions, request parameters, and example responses to facilitate integration.

Pricing

The Riot Games API follows a tiered access model focused on rate limits rather than direct monetary cost for standard use. Access without a financial charge is provided, though usage is governed by rate limits that vary based on the type of API key.

Service Tier Description Rate Limits (as of 2026-05-05) Cost
Developer API Key For personal projects, testing, and non-commercial development. 20 requests every 10 seconds; 100 requests every 10 minutes Free
Production API Key For commercial applications and projects requiring higher request volumes. Requires an application and review process. Custom limits, determined upon approval Free (with approved application)
Enterprise API Access For large-scale data consumers, esports organizations, or specific business needs. High-volume, custom limits Custom pricing (contact Riot Games)

More information on rate limits and the application process can be found on the Riot Games Developer Portal.

Common integrations

  • Match History Trackers: Applications that parse and display a player's complete match history with detailed statistics, often using the Match-V5 endpoint.
  • Player Profile & Leaderboard Sites: Websites that showcase player profiles, rankings, and leaderboards, leveraging summoner data and league information.
  • Esports Analytics Platforms: Tools for professional teams and analysts to track performance in tournaments, analyze champion picks, and scout opponents.
  • Companion Apps: Mobile or desktop applications that provide in-game statistics, build recommendations, or real-time insights during gameplay.
  • Discord Bots: Bots that can fetch player statistics, rank information, or match details directly within Discord servers.
  • Content Creator Tools: Applications that help streamers and content creators display live stats, match results, or audience engagement metrics.

Alternatives

  • OpenDota API: Provides comprehensive game data for Dota 2, offering similar functionalities for a different MOBA title.
  • Steam Web API: Offers access to game data, player information, and community features across a wide range of games on the Steam platform.
  • Blizzard API: Enables access to game data for Blizzard Entertainment titles such as World of Warcraft, Overwatch, and Hearthstone.
  • Tracker Network API: A platform that aggregates game stats for various titles, providing a unified API for multiple games including Apex Legends and VALORANT.

Getting started

To begin using the Riot Games API, you first need to obtain a developer API key from the Riot Games Developer Portal. Once you have your key, you can make requests to the various endpoints. Below is a Python example demonstrating how to retrieve summoner information for a given summoner name.


import requests
import json

API_KEY = "YOUR_RIOT_API_KEY"  # Replace with your actual API key
REGION = "na1"  # Example region for North America
SUMMONER_NAME = "Riot Example"

def get_summoner_by_name(region, summoner_name, api_key):
    # Encode the summoner name for use in a URL
    encoded_summoner_name = requests.utils.quote(summoner_name)
    url = f"https://{region}.api.riotgames.com/lol/summoner/v4/summoners/by-name/{encoded_summoner_name}"
    headers = {"X-Riot-Token": api_key}

    try:
        response = requests.get(url, headers=headers)
        response.raise_for_status()  # Raise an exception for HTTP errors
        summoner_data = response.json()
        return summoner_data
    except requests.exceptions.HTTPError as e:
        print(f"HTTP error occurred: {e}")
        print(f"Response content: {response.text}")
        return None
    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        return None

if __name__ == "__main__":
    summoner_info = get_summoner_by_name(REGION, SUMMONER_NAME, API_KEY)

    if summoner_info:
        print(f"Summoner Name: {summoner_info.get('name')}")
        print(f"Summoner Level: {summoner_info.get('summonerLevel')}")
        print(f"Account ID: {summoner_info.get('accountId')}")
        print(f"PUUID: {summoner_info.get('puuid')}")
    else:
        print(f"Could not retrieve summoner info for {SUMMONER_NAME}.")

This Python script utilizes the requests library to send an HTTP GET request to the League of Legends summoner-by-name endpoint. It includes error handling for network issues and HTTP status codes. Remember to replace "YOUR_RIOT_API_KEY" with your actual API key before running the script. You can find more detailed API reference and language-specific examples within the Riot Games API documentation.