Developer API Policy
Before you begin, read through the Terms of Use and Legal Notices. Developers must adhere to policy changes as they arise.
When developing using the API, you must abide by the following:
- Products cannot violate any laws.
- Do not create or develop games utilizing Riot’s Intellectual Property (IP).
- No cryptocurrencies or no blockchain.
- No apps serving as a “data broker” between our API and another third-party company.
- Products cannot closely resemble Riot’s games or products in style or function.
- Only the following Riot IP assets may be used in the development and marketing of your product:
- Press kit
- Example: Using Riot logos and trademarks from the Press Kit must be limited to cases where such use is unavoidable in order to serve the core value of the product.
- Game-Specific static data
- You must post the following legal boilerplate to your product in a location that is readily visible to players:
- [Your Product Name] is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games and all associated properties are trademarks or registered trademarks of Riot Games, Inc
Registration
If your product serves players, you must register it with us regardless of whether or not your product uses official documented APIs. You must make sure its description and metadata are kept up to date with the current version of your product.
Monetization
To monetize your product, you must abide by the following:
- Your product must be registered on the Developer Portal and your product status is either Approved or Acknowledged.
- You must have a free tier of access for players, which may include advertising.
- Your content must be transformative if you are charging players for it.
- What is transformative?
- Was value added to the original by creating new information, new aesthetics, new insights, and understandings? If so, then it was transformative.
- Acceptable ways to charge players are:
- Subscriptions, donations, or crowdfunding.
- Entry fees for tournaments.
- Currencies that cannot be exchanged back into fiat.
- Your monetization cannot gouge players or be unfair, as decided by Riot.
- What is transformative?
If you are unsure if your monetization platform is acceptable, contact us through the Developer Portal.
Security
You must adhere to the following security policies:
- Do not share your Riot Games account information with anyone.
- Do not use a Production API key to run multiple projects. You may only have one product per key.
- Use SSL/HTTPS when accessing the APIs so your API key is kept safe.
- Your API key may not be included in your code, especially if you plan on distributing a binary.
- This key should only be shared with your teammates. If you need to share an API key for your product with teammates, make sure your product is owned by a group in the Developer portal. Add additional accounts to that account as needed.
Game Integrity
- Products cannot alter the goal of the game (i.e. Destroy the Nexus).
- Products cannot create an unfair advantage for players, like a cheating program or giving some players an advantage that others would not otherwise have.
- Products should increase, and not decrease the diversity of game decisions (builds, compositions, characters, decks).
- Products should not remove game decisions, but may highlight decisions that are important and give multiple choices to help players make good decisions.
- Products cannot create alternatives for official skill ranking systems such as the ranked ladder. Prohibited alternatives include MMR or ELO calculators.
- Products cannot identify or analyze players who are deliberately hidden by the game.
Tournament Policies
- Tournaments must:
- Follow all monetization policies above.
- Allot at least 70% of the entry fees to the prize pool.
- Win conditions must be fair and transparent to players (we determine fair).
- Must have at least 20 participants.
- Not include any gambling.
- If you are a tournament organizer operating in the US or Canada please refer to, and adhere to, these North American tournament organizer policies.
- If you are a tournament organizer operating in Oceania please refer to, and adhere to, these Oceanic tournament organizer policies.
Game Policy
Note: Personal Key Applications are currently not supported.
Use Cases
Riot analyzes two main factors when evaluating applications:
- Is the use case good and approved?
- Does the developer show they will deliver on that use case?
To demonstrate that your app meets the use case, you should have one or more of the following:
- Be an established brand that wants to add Riot Games to its portfolio.
- New app that is fully functional and testable by Riot.
- Prototype that is mostly testable by Riot.
- Mockups where Riot can clearly express your intent and the user flow.
- A deck that shows your ambition and intent and some of the user flow.
Riot needs to see the user flow to understand what your intended player experience is, such as account creation process, login pipeline, or queuing up for match pipeline.
You must also send a link to a working site, mockup, prototype, or rendering where it is easy to understand the user flows of the tool.
Note: All apps must include functionality requiring a player to opt-in to sharing their data. This is done through RSO integration, as well as a disclaimer within your app that account linking makes player data public.
Disclaimer: All third-party Valorant sites approved for RSO must include a disclaimer for Opt-in policies, where all players must first sign up for their service to display their stats/gameplay data. If players have not opted into data sharing in their ecosystem, their information should not be made available to other players through their website, applications, or game overlays.
Examples of Approved Use Cases
Require Player Opt-in
The following accepted use cases require a player to opt-in:
- Showing player stats.
- Running tournament brackets with verified players.
- Tournaments.
- Training tools that allow players to view their own match histories and aggregate stats.
- LFG tools.
- Apps to assist live streaming, such as pulling player stats.
- Discord Bots showing community leaderboards, stats for server members.
Do Not Require Player Opt-in
The following accepted use cases do not require a player to opt-in:
- Aggregate player stats without any specific players.
- Official ladder leaderboards.
Examples of Unapproved Use Cases
The following use cases will not be approved:
- Scouting, which is seeing an opponents stats before a match starts.
- Apps that are not public and are designed for personal use only.
- Online store tracking or updates. The technology for this does not currently exist in the API.
- In-game apps and overlays that include any real-time data that would improve a player’s performance immediately by altering player behavior (i.e. ‘go here now’), vs altering it upon reflection, learning and coaching the player game over game.
- Static in-game overlays that block parts of the map.
RSO Integration
All apps must request that users opt-in to sharing their personal data. To do this, your application will need to verify players using an OAuth flow. This is done through Riot Sign On (RSO) using an RSO Client.
Getting a Production Key
Before you can get started with RSO, you will need a production key. If you do not have one, please create one at developer.riotgames.com. We will contact you using the email linked to your developer account to kick off the RSO integration process.
RSO Client Creation
To create an RSO client, send us the following information:
- Email addresses of contacts for your application.
- Name of your company/service.
- Logo for your company/service.
- The logo should scale well between 275x275 down to 60x60. We typically suggest images in the SVG format. The logo will be displayed on light and dark backgrounds.
- URL for your privacy policy.
- URL for your Terms of Service.
- Redirect URLs.
- Your redirect URIs cannot be direct IP addresses. HTTPS is required.
- Your redirect URIs cannot include localhost. Instead, for local development, you can use something like "http://local.safe.urlgoeshere.com/account/connect/riotgames/oauth-callback" and add an entry to your local machine's host file for "local.safe.urlgoeshere.com".
- A list of any URLs you'd like RSO to redirect the players to after they've completed their login.
- Typically this is a callback URL (e.g., example.com/oauth-callback) that you'll use to gather information about the player who completed the login.
- Post Logout Redirect URIs.
- A list of any URLs you'd like RSO to redirect the players to after they've logged out.
- Preferred ClientID
- A unique name for your product without punctuation or spaces.
- A list of games you'll need access to.
Direct players to login at this link: https://auth.riotgames.com/authorize?client_id=&redirect_uri=&response_type=code&scope=openid+offline_access.
After logging in, players are redirected back to the redirect_uri you specified. See Implementing Riot Sign On and Example RSO Node App for information about how to integrate with RSO and to view a sample Node web server that implements the example.
Your RSO client has access to endpoints that will allow you to identify who logged in.
For VALORANT, you will use /riot/account/v1/accounts/me:
curl --location --request GET 'https://americas.api.riotgames.com/riot/account/v1/accounts/me' --header 'Authorization: Bearer {accessToken}'
curl --location --request GET 'https://europe.api.riotgames.com/riot/account/v1/accounts/me' --header 'Authorization: Bearer {accessToken}'
curl --location --request GET 'https://asia.api.riotgames.com/riot/account/v1/accounts/me' --header 'Authorization: Bearer {accessToken}'
The data return from each cluster is identical. We recommend using the cluster closest to your servers.
Valorant Official APIs
For the most comprehensive information on our APIs, see the Developer API site.
API | Method | Description |
---|---|---|
VAL-CONTENT-V1 | /val/content/v1/contents |
Get content; optionally filtered by locale |
VAL-MATCH-V1 | /val/match/v1/matches/{matchId} |
Get match by ID |
/val/match/v1/matchlists/by-puuid/{puuid} |
Get matchlist for games played by PUUID | |
/val/match/v1/recent-matches/by-queue/{queue} |
Get recent matches | |
VAL-RANKED-V1 | /val/ranked/v1/leaderboards/by-act/{actId} |
Get leaderboard for the competitive queue |
VAL-STATUS-V1 | /val/status/v1/platform-data |
Get VALORANT status for the given platform |
Valorant Tournament Policies
- If you are a tournament organizer organizing VALORANT events please refer to, and adhere to, these policies.
Getting Help and Staying Up-to-date
If you run into any difficulties or are having technical issues, please join Developer Discord for support. Follow our Twitter for the latest updates.