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 30, 2019 @ 2:43am

Something went wrong while displaying this content. Refresh

Error Reference: Community_9734361_
Loading CSS chunk 7561 failed.
(error: https://community.fastly.steamstatic.com/public/css/applications/community/communityawardsapp.css?contenthash=789dd1fbdb6c6b5c773d)
Showing 1-8 of 8 comments
smash Sep 30, 2019 @ 3:47am 
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 19, 2020 @ 3:56am
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 @ 3:31pm 
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 @ 3:32pm
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 @ 4:49pm 
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 19, 2020 @ 3:57am 
Didn't expect Steam server status to be embedded in CSGO interface. Nice!
pz Aug 27, 2020 @ 2:00am 
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 30, 2019 @ 2:42am
Posts: 8