[Custom API] Valorant MMR Rank API v1

I have written Valorant API wrapper to display your rank tier, RR and Elo according to your MMR as well as your ranking placement in leaderboard across the Valorant Account Region.

[Credits to Valorant Data Providers]
RiotAPI
RiotGames Developers Discord
Valorant-API
Tracker.gg
Dak.gg
OverWolf
Liamcottle
Henrik3


Valorant MMR Rank API

Usage: https://api.kyroskoh.xyz/valorant/v1/mmr/[region]/[ID]/[Tag]

[Note]
region: na, eu, ap, kr (Read Note #2 in [Custom API] Valorant MMR Rank API v1 - #3 by kyroskoh)
ID: username (Read Note #1 in [Custom API] Valorant MMR Rank API v1 - #3 by kyroskoh)
Tag: #___

For example, using belles#huats in ap region:
https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats

The following will not display the ID, Tag, Region with showing rank, RR and Elo (By default):
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats)
Response: “[Gold 1] - 32RR. MMR Elo: 932.” (Screenshot)

The following will display the ID, Tag, Region with showing rank, RR and Elo:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?display=1)
Response: “belles#huats (ap Region): [Gold 1] - 32RR. MMR Elo: 932.” (Screenshot)

The following will not display the ID, Tag, Region with showing rank, RR and Elo:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?display=0)
Response: “[Gold 1] - 32RR. MMR Elo: 932.” (Screenshot)

The following will display the ID, Tag, Region with showing rank only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=rankonly&display=1)
Response: “belles#huats (ap Region): [Gold 1]” (Screenshot)

The following will not display the ID, Tag, Region with showing rank only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=rankonly&display=0)
Response: “[Gold 1]” (Screenshot)

The following will display the ID, Tag, Region with showing RR only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=rronly&display=1)
Response: “belles#huats (ap Region): 47RR.” (Screenshot)

The following will not display the ID, Tag, Region with showing RR only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=rronly&display=0)
Response: “47RR.” (Screenshot)

The following will display the ID, Tag, Region with showing Elo only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=eloonly&display=1)
Response: “belles#huats (ap Region): MMR Elo: 947.” (Screenshot)

The following will not display the ID, Tag, Region with showing Elo only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=eloonly&display=0)
Response: “MMR Elo: 947.” (Screenshot)

The following will display the ID, Tag, Region with showing rank and RR only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=combo&display=1)
Response: “belles#huats (ap Region): [Gold 1 - 47RR].” (Screenshot)

The following will not display the ID, Tag, Region with showing rank and RR only:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=combo&display=0)
Response: “[Gold 1 - 47RR].” (Screenshot)


Valorant Leaderboard Ranking API (Based on Valorant Account Region) - Only Display Top 500 users

Usage: https://api.kyroskoh.xyz/valorant/v1/leaderboard/[region]/[ID]/[Tag]

For example, using XSET Cryo#cells in na region:
https://api.kyroskoh.xyz/valorant/v1/leaderboard/na/XSET%20Cryo/cells

The following will not display the ID, Tag but with Region (By default):
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/leaderboard/na/XSET%20Cryo/cells)
Response: “(na Region): Ranked #2 with 998RR. Total Games Won: 140.” (Screenshot)

The following will display the ID, Tag, Region:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/leaderboard/na/XSET%20Cryo/cells?display=1)
Response: ““XSET Cryo#cells (na Region): Ranked #2 with 998RR. Total Games Won: 140.”” (Screenshot)


You might encounter “Bad Request” (Status Code: 400) in return if the ID#Tag user account did not played ranked/rated games in last 20 game matches and your ID and Tag. Due to high demands, API will face 429 (Too many requests) from/to RiotAPI.

As of 20 Feb 2022: My API now supports non-alphanumeric characters.

*Feel free to reach me directly in here or whisper me via Twitch (kyroskoh).

13 Likes

[Change Log]

  • v1.0 [15 Jun 2021] If your ID contains 2 words or more with spacing, please use %20 to replace with the spacing as it is URI encoded.
  • v1.1 [24 Jun 2021] Updated with more parameters support: rronly, eloonly, combo.
  • v1.2 [Nov 2021] Removed MMR Elo from the default displaying.
  • v1.3 [14 Feb 2022] Released Valorant Leaderboard Ranking API (Beta) - Only Display Top 500 users.
  • v1.4 [20 Feb 2022] My API now supports non-alphanumeric characters.
  • v1.5 [22 Feb 2022] Removed “[]” wrapper in Rank Tier Name.
  • v.1.6 [08 Apr 2022] Remove “” (double quotes string from response output).
3 Likes

[Notes]

Note #1: If your Valorant Region resides in South America such as LATAM or BR, please use the ‘na’ Region to query.

Note #2: Your ID and Tag in non-alphanumeric characters are now supported.

Note #3: Removed “[]” wrapper in Rank Tier Name as per highly requested.

[Infrastructure Changes]

I have changed my Valorant API nodes from AWS (Singapore) to DigitalOcean (Singapore) & Linode (Singapore). To help with the ease of CDN, Anti-DDOS and geolocation, I use Cloudflare DNS on top of the nodes.

[Project Support]

This project is free to use. However you can choose to support this project with donation to keep it alive: kyroskoh / Streamlabs

[Honorable Mention - Valorant Data Providers]

RiotAPI
RiotGames Developers Discord
Valorant-API
Tracker.gg
Dak.gg
OverWolf
Liamcottle
Henrik3

2 Likes

Hi, kyroskoh
Is your api free to use?

1 Like

@kurakurta112
Yes. You can use it for Streamlabs/Streamelements too with the similar respective variables.

1 Like

Hi, can I use this command if I am from a region other than na, eu, ap or kr? (lan or las)

I’m not sure but give it a try.

So far the API allows me to input those given regions. However you can try it out if it is supported, else Valorant regions might be combined with another main regions as their database collections.

Such as SA is using NA.

1 Like

thanks, I already managed to configure it using NA

1 Like

I have received a Feature Request…

Valorant Leaderboard API based on Region. (It will be based on example: VALORANT Leaderboards: Search or log in to view ranks)

Please poll on your interest below:

  • Yes
  • No

0 voters

P.S: I have done the coding for this. Due to RiotAPI has a huge leaderboard ranking per region, sometimes the API will response “not found” even tho the ID and Tag is in the leaderboard. (probably not stable at this point for RiotAPI Developers for API calling fetching using my workaround implementation method)

Status: Beta Released

RequestError: certificate has expired

Let’s Encrypt SSL renewed - with only TLSv1.2 and TLSv1.3 support.
https://www.ssllabs.com/ssltest/analyze.html?d=api.kyroskoh.xyz

Is it possible to customize the response a bit more. The given response is always in “” and the “rank” part is always in [], is it possible to get rid of these/opt to not display them?

Hi,

You can use the above parameters to only show the certain data. So far, there’s no issue for other users. Are you using Nightbot for this? Please also note that there’s a cooldown for calling the API as per documented in RiotAPI.

Edit:
@Szvzn I have removed the []

Is there a way to use for latam users?
I tried using “la1” and “lan” but it doesn’t seems to work. The bot gives me this message: “Remote Server Returned Code 400”

Region ‘la1’ and ‘lan’ are not supported. Try the listed region above as Riot may combined regions account together for rated ranks.

Works using “na”, but in the response shows "(na region)

As it is defined as such for Riot region database side.

like, I just wanted to say thank you, u are really just made it much easier

1 Like

hey man was wondering if there is an updated version of this api