[Custom API] Valorant MMR Rank API v1

I have written Valorant MMR Rank API v1 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


Also specially featured in:
Tutorial For Nightbot/Streamlabs by SuperPink95

Tutorial For Nightbot by itxFyre

Tutorial For Kick by Guih Sabino TV

Tutorial For Botrix (For Kick) by Jamyyeval

Tutorial For StreamElements by Lari Vargas

Tutorial For Nightbot by SimoFendeRs

Tutorial For MixItUp by Soybeanz

Tutorial For Nightbot by IrishRazz

Tutorial For MixItUp by @heysoybeanz

Tutorial Reddit (r/Twitch) by @BlueFray_
https://www.reddit.com/r/Twitch/comments/xnytwi/guide_api_rank_command_for_valorant_in/
Tutorial Reddit (r/VALORANT) by @BlueFray_
https://www.reddit.com/r/VALORANT/comments/xnyxsl/for_streamers_api_rank_command_for_valorant_in/
Tutorial Official @StreamElements - Help Article https://support.streamelements.com/hc/en-us/articles/12362107401234-How-to-add-a-rank-command-for-VALORANT


Valorant MMR Rank API

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

[Note]
region: na, eu, ap, kr, latam, br (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 and RR only (By DEFAULT):
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=combo&display=0)
Response: “Gold 1 - 47RR.” (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 display the ID, Tag, Region with showing rank, RR and Elo:
!addcom !rank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/ap/belles/huats?show=all&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?show=all&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)


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

[Note]
region: na, eu, ap, kr, latam, br (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: #___

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)


Valorant MMR Rank API: Episode Acts (No more displaying RR)

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

[Note]
region: na, eu, ap, kr, latam, br (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: #___
epiact: e1a1, e1a2, e1a3, e2a1, e2a2, e2a3, e3a1, e3a2, e3a3, e4a1, e4a2, e4a3, e5a1, e5a2, e5a3 etc…

For example, using Superpink95#Pink in eu region:
https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring) (Screenshot)

The following will display the ID, Tag, Region, Episode 5 Act 3:
!addcom !epiact $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?display=1)
Query: !epiact e5a3
Response: “Superpink95#Pink (EU Region): In e5a3 - Platinum 3. 4 wins in 6 games” (Screenshot)

The following will not display the ID, Tag, Region, Episode 5 Act 3 (By default):
!addcom !epiact $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?display=0)
Query: !epiact e5a3
Response: “In e5a3 - Platinum 3. 4 wins in 6 games” (Screenshot)

The following will display the ID, Tag, Region, Episode 5 Act 3 with showing rank only:
!addcom !epiactrank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?show=rankonly&display=1)
Query: !epiactrank e5a3
Response: “Superpink95#Pink (EU Region): In e5a3 - Platinum 3” (Screenshot)

The following will not display the ID, Tag, Region, Episode 5 Act 3 with showing rank only:
!addcom !epiactrank $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?show=rankonly&display=0)
Query: !epiactrank e5a3
Response: “In e5a3 - Platinum 3” (Screenshot)

The following will display the ID, Tag, Region, Episode 5 Act 3 with showing wins only:
!addcom !epiactwins $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?show=winsonly&display=1)
Query: !epiactwins e5a3
Response: “Superpink95#Pink (EU Region): In e5a3 - 4 wins in 6 games” (Screenshot)

The following will not display the ID, Tag, Region, Episode 5 Act 3 with showing wins only:
!addcom !epiactwins $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmr/eu/Superpink95/Pink/$(querystring)?show=winsonly&display=0)
Query: !epiactwins e5a3
Response: “In e5a3 - 4 wins in 6 games” (Screenshot)


Valorant MMR Rank API: Change in RR in last recent map

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

[Note]
region: na, eu, ap, kr, latam, br (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 Superpink95#Pink in eu region:
https://api.kyroskoh.xyz/valorant/v1/mmrchange/eu/Superpink95/Pink
Response: “Current RR is 21 in Gold 3. -15RR changes in the recent Breeze map.” (Screenshot)

The following will display the ID, Tag, Region:
!addcom !mmrchange $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmrchange/eu/Superpink95/Pink?display=1)
Query: !mmrchange
Response: “Superpink95#Pink (EU Region): Current RR is 21 in Gold 3. -15RR changes in the recent Breeze map.” (Screenshot)

The following will not display the ID, Tag, Region (By default):
!addcom !mmrchange $(urlfetch https://api.kyroskoh.xyz/valorant/v1/mmrchange/eu/Superpink95/Pink?display=0)
Query: !mmrchange
Response: “Current RR is 21 in Gold 3. -15RR changes in the recent Breeze map.” (Screenshot)


Valorant MMR Rank API: Win-Lose in last ranked games within the past 24 hours!

Usage: https://api.kyroskoh.xyz/valorant/v1/winlose/[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 oolongcha#yums in ap region:
https://api.kyroskoh.xyz/valorant/v1/winlose/ap/oolongcha/yums
Response: “[Refresh Daily] Total of 2 wins and 1 losses in ranked matches within the past 24 hours! Win Percentage: 66.67% | Win-Loss Ratio: 2.00” (Screenshot)

The following will display the ID, Tag, Region:
!addcom !winlose $(urlfetch https://api.kyroskoh.xyz/valorant/v1/winlose/ap/oolongcha/yums?display=1)
Query: !winlose
Response: “[Refresh Daily] oolongcha#yums (AP Region): Total of 2 wins and 1 losses in ranked matches within the past 24 hours! Win Percentage: 66.67% | Win-Loss Ratio: 2.00” (Screenshot)

The following will not display the ID, Tag, Region (By default):
!addcom !winlose $(urlfetch https://api.kyroskoh.xyz/valorant/v1/winlose/ap/oolongcha/yums?display=0)
Query: !winlose
Response: “[Refresh Daily] Total of 2 wins and 1 losses in ranked matches within the past 24 hours! Win Percentage: 66.67% | Win-Loss Ratio: 2.00” (Screenshot)


Valorant MMR Rank API: Detailed Last Match Stats with K/D/A, shots and damages info!

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

[Note]
region: na, eu, ap, kr, latam, br (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 sparks#hehe in ap region:
!addcom !laststats $(urlfetch https://api.kyroskoh.xyz/valorant/v1/lastmatchstats/ap/sparks/hehe)
Response: “In e7a2, playing Competitive mode in Bind map, sparks#hehe is playing as Skye in Team Red with a score of 5275. 18K/20D/9A. 14 headshots, 29 bodyshots, 0 legshots. 3427 damage made, 3840 damage received. [Summary] Team Red: 12 VS Team Blue: 14” (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 but not in Russian characters.

*Feel free to reach me directly in here or whisper me via Twitch (kyroskoh). | My r/ Handle

10 Likes

[Change Log]

  • v1.11 [11 Oct 2023] Released: Valorant MMR Rank API: Detailed Last Match Stats with K/D/A, shots and damages info!
  • V1.10 [01 Oct 2023] Released Valorant MMR Rank API: Win-Lose in last ranked games within the past 24 hours!
  • V1.9 [16 Sep 2023] Released Valorant MMR Rank API: Change in RR in last recent map
  • V1.8 [24 Oct 2022] Added Parameter: Episode Acts with X wins in Y games.
  • V1.7 [31 Aug 2022] Added show=all&display=1 & show=all&display=0 to display rank, RR and Elo (with and without Username, Tag & Region).
  • v.1.6 [08 Apr 2022] Remove “” (double quotes string from response output).
  • v1.5 [22 Feb 2022] Removed “” wrapper in Rank Tier Name.
  • v1.4 [20 Feb 2022] My API now supports non-alphanumeric characters but not in Russian characters.
  • v1.3 [14 Feb 2022] Released Valorant Leaderboard Ranking API (Based on Valorant Account Region) - Only Display Top 500 users.
  • v1.2 [Nov 2021] Removed MMR Elo from the default displaying.
  • v1.1 [24 Jun 2021] Updated with more parameters support: rronly, eloonly, combo.
  • 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.
2 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