R6Data API Documentation
The R6 API provides access to Rainbow Six Siege game data including operators, weapons, maps, player statistics, and more. All endpoints return JSON data and support various query parameters for filtering results.
api-key header in all your
requests.
Generate your key in your Account Dashboard.
Base URL
https://api.r6data.eu
Operators
Get information about Rainbow Six Siege operators including their stats, biographical data, and abilities.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by operator name |
realname |
string | Filter by real name |
birthplace |
string | Filter by birthplace |
roles |
string | Filter by role (Attacker/Defender) |
side |
string | Filter by side |
health |
number | Filter by minimum health |
Example Request
fetch('https://api.r6data.eu/api/operators?name=ash&roles=attacker', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
[
{
"name": "Ash",
"safename": "ash",
"realname": "Eliza Cohen",
"birthplace": "Jerusalem, Israel",
"age": "33",
"date_of_birth": "December 24, 1983",
"season_introduced": "Release",
"health": 100,
"speed": "3",
"unit": "FBI SWAT",
"country_code": "us",
"roles": "Attacker",
"side": "ATK",
"icon_url": "https://example.com/ash.png"
}
]
Weapons
Access information about weapons available in Rainbow Six Siege.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by weapon name |
Example Request
fetch('https://api.r6data.eu/api/weapons?name=R4-C', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Maps
Get information about Rainbow Six Siege maps including location, release date, and available playlists.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by map name |
location |
string | Filter by location |
playlists |
string | Filter by available playlists |
releaseDate |
string | Filter by release date |
Example Response
[
{
"name": "Oregon",
"location": "Oregon, USA",
"releaseDate": "2015-12-01",
"playlists": "Ranked, Casual, Unranked",
"mapReworked": "Y5S3"
}
]
Seasons
Information about Rainbow Six Siege seasons including operators, maps, and release dates.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by season name |
code |
string | Filter by season code (e.g., Y8S4) |
map |
string | Filter by season map |
operators |
string | Filter by operators introduced |
Ranks
Get ranking system information for different seasons of Rainbow Six Siege.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
version |
string | Required: Rank version (v1, v2, v3, v4, v5, v6) |
name |
string | Filter by rank name |
min_mmr |
number | Filter by minimum MMR |
max_mmr |
number | Filter by maximum MMR |
Example Request
fetch('https://api.r6data.eu/api/ranks?version=v6&name=diamond', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Game Stats
Get real-time player count statistics across all platforms including Steam, Ubisoft Connect, PlayStation, Xbox, and total player counts.
No additional parameters required. Returns current player statistics for all platforms.
Example Request
fetch('https://api.r6data.eu/api/stats?type=gameStats', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
{
"steam": {
"concurrent": 33631,
"estimate": 33631
},
"crossPlatform": {
"totalRegistered": 85000000,
"monthlyActive": 15300000,
"trendsEstimate": 175666,
"platforms": {
"pc": 6885000,
"playstation": 5355000,
"xbox": 3060000
}
},
"ubisoft": {
"onlineEstimate": 127739
},
"lastUpdated": "2025-10-15T22:39:38.636Z"
}
Universal Skins
Access universal weapon skins available in Rainbow Six Siege.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by skin name |
Charms
Get information about weapon charms in Rainbow Six Siege.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by charm name |
collection |
string | Filter by collection |
rarity |
string | Filter by rarity |
availability |
string | Filter by availability |
season |
string | Filter by season |
Attachments
Access weapon attachment information including styles and availability.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name |
string | Filter by attachment name |
style |
string | Filter by style |
rarity |
string | Filter by rarity |
Player Stats
Get player statistics and account information from Ubisoft's Rainbow Six Siege API.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string | Required: "accountInfo", "stats" or "isBanned" |
nameOnPlatform |
string | Required: Player username |
platformType |
string | Required: Platform (uplay, psn, xbl) |
platform_families |
string | Required for stats: Platform family (pc, console) |
Example Request - Account Info
fetch('https://api.r6data.eu/api/stats?type=accountInfo&nameOnPlatform=PlayerName&platformType=uplay', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Request - Player Stats
fetch('https://api.r6data.eu/api/stats?type=stats&nameOnPlatform=PlayerName&platformType=uplay&platform_families=pc', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Request - Ban Status
fetch('https://api.r6data.eu/api/stats?type=isBanned&nameOnPlatform=PlayerName&platformType=uplay', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response - Ban Status
{
"username": "Username",
"platform": "uplay",
"isBanned": true,
"banAlerts": [
{
"reasonName": "Cheating",
"banDate": "2025-11-08T22:34:18.739",
"banReversed": false
}
]
}
Operator Stats
Get operator-specific statistics for a player, grouped by season and playlist. This is the same data used on the Operators tab of the player stats page.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string | Required: "operatorStats" |
nameOnPlatform |
string | Required: Player username |
platformType |
string | Required: Platform (uplay, psn, xbl, steam) |
seasonYear |
string | Optional: Season code (e.g. "Y9S4"). Default: latest. |
modes |
string | Optional: Playlist (ranked, quick-match, unranked, dual-front, siege-cup, all). Default: all. |
Example Request - Operator Stats
fetch('https://api.r6data.eu/api/stats?type=operatorStats&nameOnPlatform=PlayerName&platformType=uplay&seasonYear=Y9S4&modes=ranked', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
{
"seasonYear": "Y11S1",
"seasonNumber": 41,
"platformType": "uplay",
"sessionType": "ranked",
"operators": [
{
"operator": "Twitch",
"side": "Attacker",
"roundsPlayed": 47,
"winPercent": 29.79,
"kd": 0.54,
"headshotPercent": 57.89,
"wins": 14,
"losses": 33,
"kills": 19,
"deaths": 35,
"assists": 7,
"aces": 0,
"matchesPlayed": 23,
"matchesWon": 6,
"matchesLost": 17,
"matchWinPercent": 26.09,
"headshots": 11,
"firstBloods": 3,
"firstDeaths": 5,
"teamKills": 2,
"killsPerRound": 0.4,
"deathsPerRound": 0.74,
"assistsPerRound": 0.15,
"headshotsPerRound": 0.23,
"killsPerGame": 0.83,
"timePlayed": "9h 54m",
"timePlayedMs": 35643419,
"clutches": 0,
"clutchesLost": 8,
"kills1K": 15,
"kills2K": 2,
"kills3K": 0,
"kills4K": 0,
"kills5K": 0
}
}
Filtering and Response Structure
- The
modesparameter filters stats by playlist (ranked, casual, unranked). - The
seasonYearparameter filters stats for a specific season; if not provided the latest season is returned. - The response is grouped by platform and playlist, with operator entries under
split.pc.playlists[playlist].operators.
Seasonal Stats
Get detailed rank points history and seasonal progression for a specific player in the current season. Includes timestamp, rank information, RP values, and rank images.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string | Required: "seasonalStats" |
nameOnPlatform |
string | Required: Player username |
platformType |
string | Required: Platform (uplay, psn, xbl, steam) |
Example Request
fetch('https://api.r6data.eu/api/stats?type=seasonalStats&nameOnPlatform=PlayerName&platformType=uplay', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
{
"data": {
"history": {
"metadata": {
"key": "RankPoints",
"name": "Rank Points",
"description": null
},
"data": [
[
"2025-10-14T21:43:27.315+00:00",
{
"displayName": "Rank Points",
"metadata": {
"rank": "PLATINUM II",
"imageUrl": "https://r6data.eu/assets/img/r6_ranks_img/platinum-2.webp",
"color": "#44ccc2"
},
"value": 3300,
"displayValue": "3,300",
"displayType": "Number"
}
]
]
},
"leaderboard": null,
"expiryDate": "0001-01-01T00:00:00+00:00",
"bestMatches": null
}
}
Seasons Stats
This endpoint returns a detailed breakdown of all ranks and related statistics across all seasons of the game for a specific player.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string | Required: "seasonsStats" |
nameOnPlatform |
string | Required: Player username |
platformType |
string | Required: Platform (uplay, psn, xbl) |
Example Request
fetch('https://api.r6data.eu/api/stats?type=seasonsStats&nameOnPlatform=PlayerName&platformType=uplay', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Leaderboards
Get the global Rainbow Six Siege leaderboards. Results are paginated and you can filter by page.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string | Required: "leaderboards" |
page |
number | Optional: Page number (1, 2, 3...). Default: 1. |
platform |
string | Optional: Filter by platform (pc, console). Default: pc. |
Example Request
fetch('https://api.r6data.eu/api/stats?type=leaderboards&page=1&platform=pc', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
[
{
"id": "playername",
"kd": 2.02,
"matchesPlayed": 179,
"rankPoints": 5032,
"position": 1
},
{
"id": "playername",
"kd": 1.75,
"matchesPlayed": 174,
"rankPoints": 4999,
"position": 2
}
]
Account & Usage
Access information about your own R6Data account and monthly API usage using your API key. These endpoints return the same data you see in the dashboard overview and profile sections.
Returns a monthly summary of your API consumption for the API key used in the
api-key header. The structure matches the usage cards and charts on your
dashboard.
Headers
| Header | Type | Description |
|---|---|---|
api-key |
string | Your API key generated from the dashboard. |
Example Request
fetch('https://api.r6data.eu/api/me/usage', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
{
"plan": "pro",
"limit": 100000,
"usage": {
"total_calls": 12345,
"maps_calls": 1200,
"operators_calls": 3400,
"weapons_calls": 850,
"skins_calls": 650,
"ranks_calls": 900,
"seasons_calls": 500,
"stats_calls": 3200,
"search_calls": 345,
"servicestatus_calls": 50,
"attachment_calls": 120,
"charms_calls": 130,
"debug_calls": 0,
"last_seen_at": "2025-10-15T22:39:38.636Z"
}
}
Global Search
Search across all game data with a single query.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q |
string | Required: Search query (e.g. "ash") |
Example Request
fetch('https://api.r6data.eu/api/searchAll?q=ash', {
headers: {
'api-key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));
Example Response
{
"query": "ash",
"summary": {
"total": 2,
"operators": 1,
"weapons": 1,
"maps": 0,
"seasons": 0,
"charms": 0,
"attachments": 0
},
"results": {
"operators": [...],
"weapons": [...],
"maps": [],
"seasons": [],
"charms": [],
"attachments": []
}
}
Service Status
Get real-time Rainbow Six Siege server status information.
No parameters required. Returns current server status for all platforms.
Example Response
[
{
"name": "PC",
"status": "Online",
"services": [
"Game Services: Online",
"Online Features: Online"
]
},
{
"name": "PlayStation",
"status": "Online",
"services": [
"Game Services: Online",
"Online Features: Online"
]
}
]
Package NPM: r6-data.js
r6-data.js is a Rainbow Six Siege (R6) API wrapper for Node.js with full TypeScript support. It provides a high-level SDK to fetch player stats, ranks, operators, maps, seasons, cosmetics and utility data.
R6Client.
Landing page: R6-Data.js • NPM: r6-data.js • GitHub: mazeor9/r6-data.js
Installation
Install the package from NPM.
npm i r6-data.js
Initialization
The entire SDK is accessed through the R6Client instance.
const { R6Client } = require('r6-data.js');
const r6 = new R6Client({
apiKey: 'YOUR_API_KEY'
});
TypeScript Support
Typed params are available out of the box.
import { R6Client, AccountInfoParams } from 'r6-data.js';
const r6 = new R6Client({ apiKey: 'YOUR_API_KEY' });
const params: AccountInfoParams = {
nameOnPlatform: 'PlayerName',
platformType: 'uplay'
};
const accountInfo = await r6.players.getAccountInfo(params);
Example: Get Account Info
Retrieve player profile data from the official Rainbow Six Siege API.
const accountInfo = await r6.players.getAccountInfo({
nameOnPlatform: 'PlayerName',
platformType: 'uplay'
});
Example: Get Player Stats
Retrieve detailed gameplay statistics and optionally filter by mode (board).
const rankedStats = await r6.players.getPlayerStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay',
platform_families: 'pc',
board_id: 'ranked'
});
Example: Metadata Filters
Query game entities such as maps, operators, seasons, weapons, charms and more.
const mapsByPlaylist = await r6.game.getMaps({ playlists: 'ranked' });
const ash = await r6.game.getOperators({ name: 'Ash' });
const blackIce = await r6.game.getSeasons({ name: 'Black Ice' });
Example: Discord Webhook
Send Rainbow Six Siege player statistics to a Discord channel with rich embeds.
const playerStats = await r6.players.getPlayerStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay',
platform_families: 'pc'
});
const webhookResult = await r6.webhooks.createDiscordR6Webhook(
'https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN',
playerStats,
{
playerName: 'PlayerName',
title: 'Rainbow Six Siege Stats',
message: 'Here are the latest R6 stats!',
color: 0xF99E1A
}
);
Methods
The SDK is organized in resources. Each method below includes a copy-paste example.
Base Setup
const { R6Client } = require('r6-data.js');
const r6 = new R6Client({
apiKey: process.env.R6DATA_API_KEY
});
Players Resource (r6.players)
Retrieve player profile data.
const accountInfo = await r6.players.getAccountInfo({
nameOnPlatform: 'PlayerName',
platformType: 'uplay'
});
Check if a player is currently banned.
const banStatus = await r6.players.getIsBanned({
nameOnPlatform: 'PlayerName',
platformType: 'uplay'
});
Retrieve detailed gameplay statistics (optionally filtered by board).
const rankedStats = await r6.players.getPlayerStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay',
platform_families: 'pc',
board_id: 'ranked'
});
Compare statistics between multiple players.
const comparison = await r6.players.getPlayerComparisons({
players: [
{ nameOnPlatform: 'Player1', platformType: 'uplay' },
{ nameOnPlatform: 'Player2', platformType: 'uplay' }
],
platform_families: 'pc',
board_id: 'ranked'
});
Get rank points history and seasonal progression for a player.
const seasonalStats = await r6.players.getSeasonalStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay'
});
Get detailed operator statistics for a player.
const operatorStats = await r6.players.getOperatorStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay',
seasonYear: 'Y9S4',
modes: 'ranked'
});
Game Resource (r6.game)
Real-time player count statistics across platforms.
const gameStats = await r6.game.getGameStats();
Retrieve maps list and optionally filter by parameters.
const maps = await r6.game.getMaps();
const mapsByName = await r6.game.getMaps({ name: 'Bank' });
const mapsByPlaylist = await r6.game.getMaps({ playlists: 'ranked' });
Retrieve operators list and optionally filter by parameters.
const operators = await r6.game.getOperators();
const ash = await r6.game.getOperators({ name: 'Ash' });
const recruit = await r6.game.getOperators({ safename: 'recruit' });
Retrieve seasons list and optionally filter by parameters.
const seasons = await r6.game.getSeasons();
const blackIce = await r6.game.getSeasons({ name: 'Black Ice' });
const byMap = await r6.game.getSeasons({ map: 'Yacht' });
Retrieve weapons list and optionally filter by parameters.
const weapons = await r6.game.getWeapons();
const weaponByName = await r6.game.getWeapons({ name: 'AK-12' });
Retrieve charms list and optionally filter by parameters.
const charms = await r6.game.getCharms();
const charmByName = await r6.game.getCharms({ name: 'Pro League' });
Retrieve universal weapon skins list and optionally filter by parameters.
const skins = await r6.game.getUniversalSkins();
const skinByName = await r6.game.getUniversalSkins({ name: 'Black Ice' });
Retrieve weapon attachments list and optionally filter by parameters.
const attachments = await r6.game.getAttachment();
const attachmentByName = await r6.game.getAttachment({ name: 'Holo' });
Retrieve rank images and MMR boundaries for a ranked system version.
const ranksV7 = await r6.game.getRanks({ version: 'v7' });
const filteredRanks = await r6.game.getRanks({ min_mmr: 2000, max_mmr: 2500, version: 'v7' });
Search across all R6 entities simultaneously.
const searchResults = await r6.game.getSearchAll('black ice');
Retrieve the current status of Rainbow Six Siege game servers.
const status = await r6.game.getServiceStatus();
Webhooks Resource (r6.webhooks)
Send player statistics to a Discord webhook as a rich embed.
const playerStats = await r6.players.getPlayerStats({
nameOnPlatform: 'PlayerName',
platformType: 'uplay',
platform_families: 'pc'
});
const webhookResult = await r6.webhooks.createDiscordR6Webhook(
'https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN',
playerStats,
{
playerName: 'PlayerName',
title: 'Rainbow Six Siege Stats',
message: 'Here are the latest R6 stats!',
color: 0xF99E1A
}
);