We use Open Exchange Rates for our currency conversions.
We use SteamSpy for game owner estimates.
We use Barter.vg to obtain non-Steam game bundle information.
Marlamin (Steam, Twitter, Website) hosts and develops the applications that take the Steam information and output it to something we can show you on the website. He also made the predecessor to SteamDB, "CDR parser".
SteamDB was created to give more insight into the Steam database. We track updates for both applications and packages, we keep a history of all changes made to both applications and packages. We also have a range of other tools such as the Calculator to give people insight into their Steam accounts that would otherwise be impossible.
We use SteamKit to interface with the Steam network. We request changes for all applications and packages once in a while, but mostly rely on Steam's own update system which automatically notifies us when an application or package updates.
All of the basic application and package information we provide (unless noted otherwise) is from Steam itself, and can be acquired by anyone with a regular Steam account. For example, if you launch Steam with the console option and give the command app_info_print 440 it'll display most of the information we have on our page for Team Fortress 2.
We have a GitHub issue tracker where you can report bugs or request features.
Alternatively, if you use IRC, come over to #SteamDB on freenode and ask away!
No, there's a chance you'll get automatically banned for doing so. If you want to be kept up to date on updates for a certain app, join our #steamdb-announce IRC channel on Freenode with an IRC client or webchat. If you are using an IRC client, you can set it to highlight you when a specific app is mentioned in #steamdb-announce.
After some testing we came to conclusion that even with Valve's official sources its impossible to get correct game count due to all sorts of weird stuff.
For example, "All Games" tab in your game list displays some DLCs which are not returned by the WebAPI and thus not displayed in our calculator.
But there are some games that are returned by the WebAPI and are not displayed on the game list too (which are visible in your library).
There also are some free games that are visible in your library, but are not returned by the WebAPI, and the other way around (for example Spacewar and Dota 2 Test).
There are probably other edge cases that we are unaware of, but our calculator's game count should be pretty close to being true.
P.S. We still have no idea how the game count on your profile works.
Some DLCs have their capsule images (logos) set, which makes them visible in the game list. Only very few DLCs have small icons uploaded, and that makes them show up in our calculator. Our calculator does not count DLCs as games.
We hear this a lot, and we can only recommend developers to be careful with what they put in the Steam database.
For example, don't name your depots, branches or even test apps to the actual thing they contain if it hasn't been announced yet. This happened with a Civilization V expansion which was added (by name) to the database in January, but actually announced in March.
Also consider contacting Valve on how to test unannounced content/games on Steam without making stuff public in the database before actually interacting with the Steam backend.
Ugh, that really sucks. We're sorry. However, there's not much we can do about it. It's very important to know how to interact with the Steam Product Data backend before adding information to it.
An application can have multiple branches. Other than the "public" branch, there can be other branches. Other branches are often used for storing an older version of the game for people to downgrade to, or for testing new patches/content. These can often be found in the "Betas" tab in the app's properties in the Steam client. Some branches might require a password, and they won't be visible in the drop-down list until the correct password is entered.
A package (also known as sub) is a collection of one or more application and depot that can be sold via Steam or can be granted to users based on the activation of a Steam key.
After a user purchases or activates a package, the contents of that package dictate which applications or depot contents the user has permission to download and launch.
When an application or package changes, Steam sends out a "changelist" to notify all Steam clients that something changed. This changelist has a number, referred to as "changenumber". This changenumber increments globally and is not a per-app thing.
App and package updates do not even have to be related to the app/package itself as Valve does periodical changes to a batch of apps/packages. For a changenumber to change on an app that hasn't been active in months, it's more likely a useless change rather than a sign of life.
All recent changenumbers can be found on our changelist page.
Build IDs are a globally incrementing number. Build IDs are updated when a new "build" of an application is pushed. This means actual content has updated because of a patch.
No. We believe if you need to know status of Steam services, you can figure it on your own without using a third party service. If your trading bots are having issues, report it to users. You can link your users to steamstat.us for a second opinion.
You can use Valve's official API to get CSGO servers' status, which can be accessed at
CM stands for a connection manager. It is an edge server that your Steam client connects to.
In context of TF2, Dota 2 and CS:GO it is an item server and a matchmaking service.