Esc
No recent searches

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.

Authentication Required — Include an 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.

GET /api/operators

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.

GET /api/weapons

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.

GET /api/maps

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.

GET /api/seasons

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.

GET /api/ranks

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.

GET /api/stats?type=gameStats

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.

GET /api/universalSkins

Query Parameters

Parameter Type Description
name string Filter by skin name

Charms

Get information about weapon charms in Rainbow Six Siege.

GET /api/charms

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.

GET /api/attachment

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.

GET /api/stats

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.

GET /api/stats?type=operatorStats

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 modes parameter filters stats by playlist (ranked, casual, unranked).
  • The seasonYear parameter 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.

GET /api/stats?type=seasonalStats

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.

GET /api/stats?type=seasonsStats

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.

GET /api/stats?type=leaderboards

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.

GET /api/me/usage

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"
  }
}

Service Status

Get real-time Rainbow Six Siege server status information.

GET /api/servicestatus

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.

API key required — Create your API key on r6data.eu and pass it to 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)

METHOD r6.players.getAccountInfo(params)

Retrieve player profile data.

const accountInfo = await r6.players.getAccountInfo({
  nameOnPlatform: 'PlayerName',
  platformType: 'uplay'
});
METHOD r6.players.getIsBanned(params)

Check if a player is currently banned.

const banStatus = await r6.players.getIsBanned({
  nameOnPlatform: 'PlayerName',
  platformType: 'uplay'
});
METHOD r6.players.getPlayerStats(params)

Retrieve detailed gameplay statistics (optionally filtered by board).

const rankedStats = await r6.players.getPlayerStats({
  nameOnPlatform: 'PlayerName',
  platformType: 'uplay',
  platform_families: 'pc',
  board_id: 'ranked'
});
METHOD r6.players.getPlayerComparisons(params)

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'
});
METHOD r6.players.getSeasonalStats(params)

Get rank points history and seasonal progression for a player.

const seasonalStats = await r6.players.getSeasonalStats({
  nameOnPlatform: 'PlayerName',
  platformType: 'uplay'
});
METHOD r6.players.getOperatorStats(params)

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)

METHOD r6.game.getGameStats()

Real-time player count statistics across platforms.

const gameStats = await r6.game.getGameStats();
METHOD r6.game.getMaps(params?)

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' });
METHOD r6.game.getOperators(params?)

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' });
METHOD r6.game.getSeasons(params?)

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' });
METHOD r6.game.getWeapons(params?)

Retrieve weapons list and optionally filter by parameters.

const weapons = await r6.game.getWeapons();
const weaponByName = await r6.game.getWeapons({ name: 'AK-12' });
METHOD r6.game.getCharms(params?)

Retrieve charms list and optionally filter by parameters.

const charms = await r6.game.getCharms();
const charmByName = await r6.game.getCharms({ name: 'Pro League' });
METHOD r6.game.getUniversalSkins(params?)

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' });
METHOD r6.game.getAttachment(params?)

Retrieve weapon attachments list and optionally filter by parameters.

const attachments = await r6.game.getAttachment();
const attachmentByName = await r6.game.getAttachment({ name: 'Holo' });
METHOD r6.game.getRanks(params)

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' });
METHOD r6.game.getSearchAll(query)

Search across all R6 entities simultaneously.

const searchResults = await r6.game.getSearchAll('black ice');
METHOD r6.game.getServiceStatus()

Retrieve the current status of Rainbow Six Siege game servers.

const status = await r6.game.getServiceStatus();

Webhooks Resource (r6.webhooks)

METHOD r6.webhooks.createDiscordR6Webhook(webhookUrl, playerStats, options)

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
  }
);
Current section Introduction