Steam Games Exporter

What is this?

This small web app fetches list of all of your owned games, along with some metadata, and exports it into a spreadsheet for easier filtering, categorization, and sharing. Inspired by Kris Lorischild's 'game tasting' and steam's incredibly bare-bones library filtering tools.

Both profile details and game details must be set to "public" in your account's privacy settings for this tool to work (you can change these settings here)

Currently exports: steam store link, name, total playtime, linux playtime, mac playtime, windows playtime, app type, developers, publishers, is free, linux availability, mac availability, windows availability, supported languages, controller support, age gate, categories, genres, and release date.

NOTE: platform-specific timers have been added by valve relatively recently, and thus may be incomplete or may be missing completely for some titles.

Missing Info: Some apps may not be accessible from the server's location (Germany) due to local laws. In such cases, only the store link, name, and play times will be included in the spreadsheet. The same happens for titles which have been de-listed from the store and are no longer accessible through the store API. Some fields may also be empty because they're not relevant for that product and/or the page author chose not to populate them when creating the store page.

Details

How does this work?

Authentication is handled through OpenID - valve handles your credentials directly on their site, and will redirect you afterwards to the app with your account's steamID as URL query. This id is then used to perform a lookup of owned games through steam's web api (api.steampowered.com/IPlayerService/GetOwnedGames/). Game information is fetched from the steam store api and saved in local sqlite database.

Written in python, using flask, flask-openid, requests, sqlalchemy, and pyexcel.

Source code available at github.com/rmmbear

Is my account information retained on the server?

While steamIDs are not considered a secret and anyone who knows your display name has access to your steamID, care is taken not to accidentally leak or retain it. Your steamID is kept client-side, in a session cookie, which is cleared after the steam library has been fetched. If the request cannot be completed immediately, list of owned games is saved in a sqlite database and kept until the spreadsheet can be generated.

Changelog

2022-06-12

Improved date format detection for release dates

2022-06-11

Fixed issues caused by missing fields in game json data