CSTRIKE API v1
Simple JSON API for live server data on CS 1.6, CS:GO, CS:S and CS2. One URL works for any game — no API key. Built for MOTD scripts, Discord bots and server panels.
/api/v1/server/ip/port
90 req/min per IP
?pretty=1 readable JSON
You run a community with several servers and want to show them on your own website? Two options:
1. All servers in your network (recommended if you created a Network on CSTRIKE):
curl "https://msboost.eu/api/v1/network/msboost-eu/servers?pretty=1"
Replace msboost-eu with your network slug (from /network/...). Returns every community server in one request.
2. Fixed IP list (any servers listed on CSTRIKE, with or without a network):
curl "https://msboost.eu/api/v1/servers/batch?list=81.181.244.41:27015,51.38.119.150:27015&pretty=1"
Up to 30 servers per request, comma-separated. Missing IPs are listed in not_found.
Add &players=1 to include players_online on each server (heavier — use only when needed).
PHP example — display on your site:
$slug = 'msboost-eu';
$data = json_decode(file_get_contents('https://msboost.eu/api/v1/network/' . $slug . '/servers'), true);
foreach ($data['servers'] ?? [] as $sv) {
echo $sv['hostname'] . ' — ' . $sv['players']['current'] . '/' . $sv['players']['max'] . ' — ' . $sv['map'] . "\n";
}
You only need the server IP and port — CSTRIKE detects CS 1.6 / CS:GO / CS:S / CS2 automatically:
curl "https://msboost.eu/api/v1/server/81.181.244.41/27015?pretty=1"
Or pin a game in the path if you prefer:
curl "https://msboost.eu/api/v1/csgo/server/81.181.244.41/27015"
Only the fields that matter for integration:
{
"ok": true,
"meta": { "api_version": 1, "format": "simple", "game": { "type", "slug", "label" } },
"server": {
"hostname": "My Server",
"ip": "81.181.244.41",
"port": 27015,
"map": "de_dust2",
"country": "RO",
"players": { "current": 12, "max": 32 },
"ping_ms": 45,
"rank": 3,
"votes": 42,
"players_online": [
{
"name": "Player1",
"kills": 26,
"deaths": null,
"session_seconds": 5165,
"total_play_seconds": 86400
}
],
"links": { "profile", "connect" }
}
}
players.current/players.max— online count vs slotsping_ms— query latency to the game server (ms)rank— position on CSTRIKE for this gamevotes— total community votessession_seconds— time on server this session (from game query)total_play_seconds— tracked playtime on this server (from CSTRIKE stats)deaths—nullwhen the game query does not expose deaths (common on CS 1.6)
Verbose nested JSON: add ?format=full
All servers in a CSTRIKE network — ideal for community websites.
Up to 30 servers by IP list. Optional &players=1.
Recommended. Live server + online players. Works for any listed game.
CS 1.6 server list — same simple fields, without players_online.
online=1·country=RO·search=·page·limit
CS:GO server list — same simple fields, without players_online.
online=1·country=RO·search=·page·limit
CS:S server list — same simple fields, without players_online.
online=1·country=RO·search=·page·limit
CS2 server list — same simple fields, without players_online.
online=1·country=RO·search=·page·limit
Player count history — 24h, 7d, or 30d. Universal: /api/v1/server/{ip}/{port}/stats
PHP — fetch any server by IP:
$ip = '81.181.244.41';
$port = 27015;
$json = file_get_contents('https://msboost.eu/api/v1/server/' . $ip . '/' . $port);
$data = json_decode($json, true);
$sv = $data['server'] ?? [];
echo $sv['hostname'] . ' — ' . $sv['players']['current'] . '/' . $sv['players']['max'];
JavaScript (browser / Node):
const r = await fetch('https://msboost.eu/api/v1/server/81.181.244.41/27015');
const { server } = await r.json();
console.log(server.hostname, server.players);