FACEIT Data API · CS2 Game State Integration

every match, one dashboard

Valve publishes no Premier match-history API — so this tracker builds history the only way left: a Game State Integration listener that captures each match live as it's played, next to full FACEIT history from the official API.

2data paths, one feed
50matches unified
5 mindeploy cadence
0cloud services

Real numbers from the live tracker.

Pulled from the running instance's own API — the same dashboard served from the Pi, not mock data.

FACEIT · live API snapshot
1721elo
67games tracked
46.3%win rate
37%headshot
last 20 → L anubis 21–18L cache 7–15 W cache 7–8L ancient 9–20 W ancient 14–17L mirage 24–30 W anubis 20–22W nuke 16–12 W inferno 10–11W anubis 23–19

Why two data paths.

Official API

FACEIT — ask for it

The Data API v4 gives full match history, per-match K/D/A, headshot %, and elo per game. The tracker backfills automatically and records one elo sample per change at every hourly refresh — so the elo-over-time chart is built from real snapshots since install day.

Capture it yourself

Premier — build it live

Valve refuses Web API keys on the lifetime-stats endpoint and community stat pages are sign-in gated. So a GSI listener on the game server POSTs each live match — map, score, result — as it happens. History grows from cfg-install day forward, one match at a time.

🧩
Unified feed/api/matches merges both sources into one timeline; /api/summary splits the stat cards by source.
🍪
Session-rotation awareSteam rotates login cookies; the tracker persists rotations when Steam sends them so lifetime stats keep working unattended.
🩺
Self-healing deployPull-based CD every 5 minutes with health checks and automatic rollback to the last good commit.
Source on GitHub ← back to pkia.github.io