TOP
Promote Server

GameTracker API

Public JSON API for server monitoring, player stats, and community data

v1.0 Stable CORS Enabled No Auth Required 1000 req/day
Base URL https://serverstats.eu/api/v1
Server Endpoints
GET /api/v1/server/{id} Get Server Information

Returns full details of a single server — name, map, player count, online status, game type, country.

ParamTypeReqDescription
idintegerrequiredServer ID from the database
cURL JS PHP Python
curl "https://serverstats.eu/api/v1/server/1"
fetch('https://serverstats.eu/api/v1/server/1') .then(r => r.json()) .then(d => { const s = d.server; console.log(`${s.name} — ${s.players}/${s.max_players} on ${s.map}`); });
$d = json_decode(file_get_contents('https://serverstats.eu/api/v1/server/1'), true); $s = $d['server']; echo $s['name'].' — '.$s['players'].'/'.$s['max_players'];
response = requests.get('https://serverstats.eu/api/v1/server/1') d = response.json() s = d['server'] print(f"{s['name']} — {s['players']}/{s['max_players']} on {s['map']}")
Example JSON Response
{ "success": true, "server": { "id": 1, "ip": "185.123.45.67", "port": 27015, "name": "[BG] Utopia FPS | de_dust2 24/7", "map": "de_dust2", "players": 24, "max_players": 32, "bots": 0, "online": true, "game": "csgo", "country": "BG", "package": "platinum", "added_at": "2024-01-15T10:30:00Z" } }
Response Visualization
[BG] Utopia FPS | de_dust2 24/7
Online 🇧🇬 CS:GO ★ Platinum
Players24 / 32
Mapde_dust2
IP185.123.45.67:27015
Try It Live
GET /api/v1/server/{id}/stats Server Statistics (30 days)

Returns player count trends, peak times, occupancy and uptime metrics for the last 30 days.

ParamTypeReqDescription
idintegerrequiredServer ID
cURL JS PHP Python
curl "https://serverstats.eu/api/v1/server/1/stats"
fetch('https://serverstats.eu/api/v1/server/1/stats') .then(r => r.json()) .then(d => { const s = d.stats; console.log('Peak 7d:', s.peak_players_7d); console.log('Uptime:', s.uptime_7d + '%'); });
$d = json_decode(file_get_contents('https://serverstats.eu/api/v1/server/1/stats'), true); $s = $d['stats']; echo 'Peak 7d: ' . $s['peak_players_7d']; echo 'Uptime: ' . $s['uptime_7d'] . '%';
d = requests.get('https://serverstats.eu/api/v1/server/1/stats').json() s = d['stats'] print(f"Peak 7d: {s['peak_players_7d']}, Uptime: {s['uptime_7d']}%")
Example JSON Response
{ "success": true, "stats": { "avg_players_24h": 18.4, "avg_players_7d": 21.2, "peak_players_7d": 31, "avg_occupancy_7d": 66.3, "uptime_7d": 98.5, "total_monitoring_points": 2016 } }
Response Visualization
Avg Players 7d
21.2
Peak 7d
31
Occupancy 7d
66.3%
Uptime 7d
98.5%
Based on 2,016 monitoring snapshots
GET /api/v1/servers List All Servers

Paginated list of all tracked servers with optional filters by game, country, and online status.

ParamTypeReqDescription
limitintoptionalMax results (default 50, max 100)
offsetintoptionalPagination offset (default 0)
gamestringoptionalcs16 | csgo | cs2 | css
countrystringoptionalCountry code (BG, DE, US…)
online0|1optionalFilter by online status

Example: https://serverstats.eu/api/v1/servers?game=csgo&country=BG&online=1

cURL JS PHP Python
curl "https://serverstats.eu/api/v1/servers?game=csgo&country=BG&online=1&limit=20"
const p = new URLSearchParams({ game:'csgo', country:'BG', online:'1' }); fetch(`https://serverstats.eu/api/v1/servers?${p}`) .then(r => r.json()) .then(d => d.servers.forEach(s => console.log(s.name, s.players)));
$url = 'https://serverstats.eu/api/v1/servers?' . http_build_query([ 'game'=>'csgo', 'country'=>'BG', 'online'=>'1' ]); $d = json_decode(file_get_contents($url), true); foreach ($d['servers'] as $s) echo $s['name'].' — '.$s['players']."\n";
d = requests.get('https://serverstats.eu/api/v1/servers', params={'game':'csgo','country':'BG','online':'1'}).json() for s in d['servers']: print(s['name'], s['players'])
Example JSON Response
{ "success": true, "total": 142, "limit": 50, "offset": 0, "servers": [ { "id": 1, "name": "[BG] Utopia FPS | de_dust2 24/7", "ip": "185.123.45.67", "port": 27015, "map": "de_dust2", "players": 24, "max_players": 32, "online": true, "game": "csgo", "country": "BG" } ] }
Response Visualization
ServerPlayers
[BG] Utopia FPS | 24/7 24/32
Dragon FPS | Public 18/24
Noname CS | Competitive 0/12
Showing 3 of 142 total servers
GET /api/v1/query Live Server Query

Query any game server live. Returns real-time data directly from the server (no cache).

ParamTypeReqDescription
ipstringrequiredServer IP address
portintoptionalPort (default 27015)
gamestringoptionalGame type hint (auto-detected)
cURL JS PHP Python
curl "https://serverstats.eu/api/v1/query?ip=185.123.45.67&port=27015"
fetch('https://serverstats.eu/api/v1/query?ip=185.123.45.67&port=27015') .then(r => r.json()) .then(d => { if (d.online) console.log(d.hostname, d.players+'/'+d.max_players); });
$d = json_decode(file_get_contents( 'https://serverstats.eu/api/v1/query?ip=185.123.45.67&port=27015' ), true); if ($d['online']) echo $d['hostname'].' '.$d['players'];'/'.$d['max_players'];
d = requests.get('https://serverstats.eu/api/v1/query', params={'ip':'185.123.45.67','port':'27015'}).json() if d['online']: print(d['hostname'], d['players'])
Example JSON Response
{ "success": true, "online": true, "hostname": "[BG] Utopia FPS | de_dust2 24/7", "map": "de_dust2", "players": 24, "max_players": 32, "bots": 0, "game": "Counter-Strike: GO", "player_list": [ { "name": "PlayerOne", "score": 24, "duration": 3612.5 } ] }
Response Visualization
StatusOnline
Hostname[BG] Utopia FPS | 24/7
Mapde_dust2
Players24 / 32
Bots0
Try It Live
Community Endpoints
GET /api/community/{slug}/slug Get Community by Slug

Returns community profile by slug. Add ?includeServers to include servers and ?includePlayersList for live players.

ParamTypeReqDescription
slugstringrequiredCommunity URL slug (e.g. utopiafps)
includeServersflagoptionalAppend all community servers
includePlayersListflagoptionalAppend live player lists per server
cURL JS PHP Python
# Basic curl "https://serverstats.eu/api/community/utopiafps/slug" # With servers + players: curl "https://serverstats.eu/api/community/utopiafps/slug?includeServers&includePlayersList"
fetch('https://serverstats.eu/api/community/utopiafps/slug?includeServers') .then(r => r.json()) .then(d => { console.log(d.community.name, d.community.members); d.servers?.forEach(s => console.log(s.name)); });
$url = 'https://serverstats.eu/api/community/utopiafps/slug?includeServers'; $d = json_decode(file_get_contents($url), true); echo $d['community']['name']; foreach($d['servers'] ?? [] as $s) echo $s['name'].' — '.$s['players'];
d = requests.get( 'https://serverstats.eu/api/community/utopiafps/slug', params={'includeServers':''}).json() print(d['community']['name']) for s in d.get('servers',[]): print(s['name'], s['players'])
Example JSON Response
{ "success": true, "community": { "id": 5, "name": "Utopia FPS", "slug": "utopiafps", "description": "Bulgarian CS:GO community since 2018", "members": 342, "servers_count": 4 }, "servers": [ /* present when ?includeServers is passed */ ] }
Response Visualization
U
Utopia FPS
@utopiafps
Members
342
Servers
4
Bulgarian CS:GO community since 2018
GET /api/community/{id}/stats Community Statistics

Aggregated performance metrics across all servers in the community.

ParamTypeReqDescription
idintegerrequiredCommunity ID
cURL JS PHP Python
curl "https://serverstats.eu/api/community/5/stats"
fetch('https://serverstats.eu/api/community/5/stats') .then(r => r.json()) .then(d => console.log('Players now:', d.stats.total_players_now));
$d = json_decode(file_get_contents('https://serverstats.eu/api/community/5/stats'),true); echo $d['stats']['total_players_now'];
d = requests.get('https://serverstats.eu/api/community/5/stats').json() print(d['stats']['total_players_now'])
Example JSON Response
{ "success": true, "stats": { "total_players_now": 78, "servers_online": 3, "avg_occupancy_7d": 54.2, "peak_players_7d": 124, "total_members": 342 } }
Response Visualization
Players Now
78
Online
3/4
Occupancy 7d
54.2%
Peak 7d
124
Response Format

All endpoints return the same JSON envelope:

{ "success": true, // always present "data": { ... }, // varies per endpoint "error": null, // string if success = false "timestamp": 1709251200 // unix timestamp }
JSON Only

All responses are application/json. Always call JSON.parse() or equivalent.

CORS Enabled

Cross-origin requests are allowed from any domain. No pre-flight required for GET.

Rate Limit

1000 req/day per IP. Pass X-API-Key header or api_key param for higher limits.

Error Codes
HTTPCodeMeaning
200successRequest succeeded
400bad_requestMissing or invalid parameters
404not_foundServer or community not found
429rate_limitedToo many requests — slow down
500server_errorInternal server error
{ "success": false, "error": "Server not found", "code": "not_found" }

Subscribe to Newsletter

Get news about new servers, promotions and updates!

🎉 Special Promotion
Promotion 10%

Limited-time promo! Use the code below to get a discount.

Promo Code
save10
Copied!
⏰ Expires in
No thanks, I don't want a discount