Public API reference for Insignia Stats (no login required)
All endpoints are relative to your site (e.g. https://insigniastats.live).
4d530064) or game name (URL-encoded where used in paths). Title IDs are stable identifiers across the platform.
Insignia Stats uses a separate auth service for login. To sign in on the website, use the Login page. Your account and password are managed by the Insignia auth service; the stats site does not store your password.
For integrating login into your own pages or apps, include the client SDK and use the InsigniaAuth class. The SDK persists the session in localStorage and exposes login, logout, and user data methods.
<script src="https://insigniastats.live/insignia-auth.js"></script>Constructor:
| Option | Description |
|---|---|
| apiUrl | Auth API base URL (default: https://auth.insigniastats.live/api) |
| storageKey | localStorage key for session (default: insignia_auth) |
| Method | Description |
|---|---|
| login(email, password) | Log in; returns { success, user, sessionKey }. Emits login event. |
| logout() | Log out and clear session. Emits logout event. |
| getUser() | Returns current user { username, email } or null. |
| isLoggedIn() | Returns true if a session key exists (does not verify server-side). |
| verifySession() | Verifies the session with the auth server; returns boolean. |
| getFriends() | Returns friends list (requires valid session). |
| getGames() | Returns user's games list (requires valid session). |
| getMutes() | Returns user's mutes list (requires valid session). |
| startAutoVerify(intervalMs) | Periodically re-verifies the session (e.g. every 5 minutes). |
on('login', fn), on('logout', fn), on('error', fn).
const auth = new InsigniaAuth({ apiUrl: 'https://auth.insigniastats.live/api' });
if (auth.isLoggedIn()) {
const user = await auth.getUser();
console.log('Logged in as', user.username);
} else {
await auth.login(email, password);
}
Site-wide stats scraped from the Insignia.live homepage.
| Parameter | Type | Default | Description |
|---|---|---|---|
| days | integer | 30 | Number of days of history (1–365) |
[
{ "date": "2025-02-01", "registered_count": 30028 },
{ "date": "2025-02-02", "registered_count": 30105 }
]
| Parameter | Type | Default | Description |
|---|---|---|---|
| days | integer | 1 | Number of days of history: 1 (last 24 hours) or 7 (last 7 days), up to 30 |
[
{ "recorded_at": "2025-02-13 12:00:00", "online_count": 48 },
{ "recorded_at": "2025-02-13 12:05:00", "online_count": 52 }
]
| Parameter | Type | Default | Description |
|---|---|---|---|
| days | integer | 1 | Number of days of history: 1 (last 24 hours) or 7 (last 7 days), up to 30 |
[
{ "recorded_at": "2025-02-13 12:00:00", "lobby_count": 12 },
{ "recorded_at": "2025-02-13 12:05:00", "lobby_count": 14 }
]
{
"Game Name One": {
"name": "Game Name One",
"online": 42,
"titleId": "4d53006e",
"image": "https://...",
"publisher": "Microsoft Game Studios"
},
"Game Name Two": { ... }
}
| Parameter | Type | Description |
|---|---|---|
| titleId | string | Game title ID (e.g. 4d530064) |
| Parameter | Type | Default | Description |
|---|---|---|---|
| hours | integer | 48 | Hours of history to retrieve |
GET /api/title/4d530064/online-users/history?hours=24
gameName is URL-encoded (e.g. Halo%202).{
"titleId": "4d530064",
"name": "Halo 2",
"title": "Halo 2",
"image": "https://...",
"publisher": "Microsoft Game Studios",
"releaseDate": "2004-11-09"
}
gameName is URL-encoded.{
"titleId": "4d530064",
"gameName": "Halo 2",
"leaderboard_count": 120,
"total_entries": 500000,
"time_entries": 300000,
"score_entries": 200000
}
[
{
"id": 42,
"name": "Leaderboard Name",
"titleId": "4d530064",
"gameName": "Halo 2"
}
]
{
"titleId": "4d530064",
"gameName": "Halo 2",
"leaderboardId": "42",
"name": "Leaderboard Name",
"entries": [
{
"rank": "1",
"name": "PlayerName",
"rating": "1000000",
"timeMs": 120000,
"timeFormatted": "2:00.000",
"isTime": true
}
]
}
Recent leaderboard entry changes (new, updated, or removed).
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Max number of changes to return |
| offset | integer | Offset for pagination |
| game | string | Filter by game name |
["Halo 2", "Project Gotham Racing 2", ...]
{
"titleId": "4d53004b",
"gameName": "Project Gotham Racing 2",
"matches": [
{
"hostName": "PlayerName",
"currentPlayers": 8,
"maxPlayers": 8,
"timestamp": "2025-02-13 12:00:00"
}
]
}
:titleId.hours (default 24).hours.Search leaderboard data by player, time, or rating.
tolerance (ms), titleId (optional).titleId (optional).Endpoints may return:
{
"error": "Error message description"
}
Common HTTP status codes:
There are no rate limits on the public API. Please use it responsibly.