Api to ping Steam Status
I have been searching for a Steam API to fetch its server's status'.

I know there are APIs with steamstat.us but im looking to pretty much create something like steamstat.us for my own Educational coding purposes.

If anybody could point me in the right direction id be grateful.

TIA
Last edited by youtube@gameGuy777; Sep 29, 2019 @ 7:43pm
< >
Showing 1-8 of 8 comments
smash Sep 29, 2019 @ 8:47pm 
There's not an official API from Valve that will give you this specific information. There are, however, a few community-managed APIs for several languages that might be able to help you build a solution.

As I understand it, sites like steamstat.us use a combination of Steam user bots + the Steam WebAPI to infer server statuses.

Sources:
Last edited by smash; Jan 18, 2020 @ 8:56pm
Originally posted by smash:
There's not an official API from Valve that will give you this specific information. There are, however, a few community-managed APIs for several languages that might be able to help you build a solution.

As I understand it, sites like steamstat.us use a combination of Steam user bots + the Steam WebAPI to infer server statuses.

Sources:
Hmm, I'll have to look into these

I was more confused on how steamstat.us got such detailed stats.

Like servers for each region, and what their load is etc.

This is a good start though. Thanks!
smash Sep 30, 2019 @ 8:31am 
Not sure exactly how they do it, but I imagine it's something like...

--

For each download region, put like 10 bots in them.

Then, each bot periodically makes a request to Steam.

If the responses are "slow" compared to normal, or if there are more 5xx responses than normal, then that region is under more "load".
Last edited by smash; Sep 30, 2019 @ 8:32am
youtube@gameGuy777 Sep 30, 2019 @ 12:12pm 
Originally posted by smash:
Not sure exactly how they do it, but I imagine it's something like...

--

For each download region, put like 10 bots in them.

Then, each bot periodically makes a request to Steam.

If the responses are "slow" compared to normal, or if there are more 5xx responses than normal, then that region is under more "load".

Hmm.. That is a good idea. i had just assumed there was an existing API for this.

Thanks for you replies!
MalikQayum Jan 13, 2020 @ 9:49am 
they are using the steam web api for this, so all you have to do is dig a bit into the interfaces and methods.
https://api.steampowered.com/ICSGOServers_730/GetGameServersStatus/v1/?key=<apikey>
{ "result": { "app": { "version": 13736, "timestamp": 1578937064, "time": "Mon Jan 13 09:37:44 2020" }, "services": { "SessionsLogon": "normal", "SteamCommunity": "delayed", "IEconItems": "offline", "Leaderboards": "idle" }, "datacenters": { "Peru": { "capacity": "full", "load": "low" }, "EU West": { "capacity": "full", "load": "low" }, "EU East": { "capacity": "full", "load": "medium" }, "Poland": { "capacity": "full", "load": "medium" }, "India East": { "capacity": "full", "load": "medium" }, "Hong Kong": { "capacity": "full", "load": "low" }, "Spain": { "capacity": "full", "load": "low" }, "Chile": { "capacity": "full", "load": "low" }, "US Southwest": { "capacity": "full", "load": "idle" }, "US Southeast": { "capacity": "full", "load": "idle" }, "India": { "capacity": "full", "load": "medium" }, "EU North": { "capacity": "full", "load": "high" }, "Emirates": { "capacity": "full", "load": "low" }, "US Northwest": { "capacity": "full", "load": "idle" }, "South Africa": { "capacity": "full", "load": "low" }, "Brazil": { "capacity": "full", "load": "low" }, "US Northeast": { "capacity": "full", "load": "idle" }, "US Northcentral": { "capacity": "full", "load": "idle" }, "Japan": { "capacity": "full", "load": "low" }, "Singapore": { "capacity": "full", "load": "low" }, "Australia": { "capacity": "full", "load": "idle" }, "China Shanghai": { "capacity": "full", "load": "low" }, "China Tianjin": { "capacity": "full", "load": "low" }, "China Guangzhou": { "capacity": "full", "load": "low" } }, "matchmaking": { "scheduler": "normal", "online_servers": 207747, "online_players": 643089, "searching_players": 21785, "search_seconds_avg": 120 }, "perfectworld": { "logon": { "availability": "online", "latency": "normal" }, "purchase": { "availability": "online", "latency": "normal" } } } }
Originally posted by MalikQayum:
they are using the steam web api for this, so all you have to do is dig a bit into the interfaces and methods.
https://api.steampowered.com/ICSGOServers_730/GetGameServersStatus/v1/?key=<apikey>
{ "result": { "app": { "version": 13736, "timestamp": 1578937064, "time": "Mon Jan 13 09:37:44 2020" }, "services": { "SessionsLogon": "normal", "SteamCommunity": "delayed", "IEconItems": "offline", "Leaderboards": "idle" }, "datacenters": { "Peru": { "capacity": "full", "load": "low" }, "EU West": { "capacity": "full", "load": "low" }, "EU East": { "capacity": "full", "load": "medium" }, "Poland": { "capacity": "full", "load": "medium" }, "India East": { "capacity": "full", "load": "medium" }, "Hong Kong": { "capacity": "full", "load": "low" }, "Spain": { "capacity": "full", "load": "low" }, "Chile": { "capacity": "full", "load": "low" }, "US Southwest": { "capacity": "full", "load": "idle" }, "US Southeast": { "capacity": "full", "load": "idle" }, "India": { "capacity": "full", "load": "medium" }, "EU North": { "capacity": "full", "load": "high" }, "Emirates": { "capacity": "full", "load": "low" }, "US Northwest": { "capacity": "full", "load": "idle" }, "South Africa": { "capacity": "full", "load": "low" }, "Brazil": { "capacity": "full", "load": "low" }, "US Northeast": { "capacity": "full", "load": "idle" }, "US Northcentral": { "capacity": "full", "load": "idle" }, "Japan": { "capacity": "full", "load": "low" }, "Singapore": { "capacity": "full", "load": "low" }, "Australia": { "capacity": "full", "load": "idle" }, "China Shanghai": { "capacity": "full", "load": "low" }, "China Tianjin": { "capacity": "full", "load": "low" }, "China Guangzhou": { "capacity": "full", "load": "low" } }, "matchmaking": { "scheduler": "normal", "online_servers": 207747, "online_players": 643089, "searching_players": 21785, "search_seconds_avg": 120 }, "perfectworld": { "logon": { "availability": "online", "latency": "normal" }, "purchase": { "availability": "online", "latency": "normal" } } } }


Thank you for that, I actually forgot about this since, but being that I'm a Novice Back-end Developer, this is the perfect thing for a project of mine.
smash Jan 18, 2020 @ 8:57pm 
Didn't expect Steam server status to be embedded in CSGO interface. Nice!
pz Aug 26, 2020 @ 7:00pm 
Originally posted by MalikQayum:
they are using the steam web api for this, so all you have to do is dig a bit into the interfaces and methods.
https://api.steampowered.com/ICSGOServers_730/GetGameServersStatus/v1/?key=<apikey>

Thanks for that ;)
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Sep 29, 2019 @ 7:42pm
Posts: 8