Skip to main content

Awesome Steam

A curated list of packages and resources regarding Steam development.

Please read the contribution guidelines before contributing.

The purpose of this document is to provide a quick overview over existing packages (libraries, modules etc.) and resources available regarding Steam client automation and WebAPI usage. Whenever you need to start a new project, have a look at the list of packages and see if there is anything useful for your use case. If you need technical details or tutorials, check out the resources section.

Table of Contents​

Packages​

πŸ’‘ Many of these package repositories provide helpful READMEs and wiki pages, which explain the usage and/or provide examples. Do not forget to check them out when using particular package.

Node.js​

General​

  • steam - Interface directly with Steam servers from Node.js.
  • steam-client - API-compatible fork of node-steam's SteamClient.
  • steam-user - Feature-rich easy-to-use Steam client.
  • vapor - Lightweight Steam client framework.
  • steam-parentbot - Simple base class for a Steam bot.

WebAPI​

  • steam-webapi - Complete WebAPI wrapper with support for extra HTTP headers sent by Steam.
  • steamapi - A nice Steam API wrapper.

Trading​

Game Interaction​

  • steam-gameserver - Steam client handler for Gameserver and AnonGameserver account types.
  • tf2 - Interact directly with TF2 game coordinator.
  • csgo - Interact directly with CS:GO game coordinator.
  • dota2 - Interact directly with Dota 2 game coordinator.

Community & Store Automation​

Authentication​

Misc​

C#​

General​

  • SteamKit2 - .NET library designed to interoperate with Valve's Steam network.
  • SteamAuth - A C# library that provides vital Steam Mobile Authenticator functionality.
  • SteamBot - Automated bot software for interacting with steam trade.
  • SteamTradeOffersBot - SteamBot fork which focuses on trade offers.
  • SteamStandardProject - A collection of .NET Standard libraries using common types that provide functionality in one or more parts of Steam.

Misc​

PHP​

  • SteamCommunity - A PHP library for interacting with the Steam Community website.
  • SteamAuthentication - Steam OpenID authentication with PHP.
  • SteamAuthOOP - An object-oriented alternative to SteamAuthentication.
  • steam-api - A PHP wrapper for the Steam API.
  • steamid - SteamID class for PHP.
  • steam-totp - PHP library to deal with Steam's proprietary TOTP algorithm.
  • steam-auth - An alternative Steam authentication library with Composer support.

Go​

Python​

General​

  • steam - Module for various interactions with Steam.
  • PySteamKit - Python port of SteamKit.
  • steamodd - Steam tools library.
  • steampy - Fully automated Steam trade offers library with SteamGuard support.
  • SteamAPI - An object-oriented Python 2.7+ library for accessing the Steam Web API.
  • Steam-Trade - An asynchronous, event-based trade library.

Game Interaction​

  • csgo - Python module for interacting with CSGO's Game Coordinator.
  • dota2 - Python module for interacting with Dota 2's Game Coordinator.

Misc​

  • vpk - Python module for working with Valve's Pack format.
  • vdf - Python module for working with Valve's KeyValue format.

C++​

  • SteamPP - C++ library to interoperate with Steam servers.

Java​

  • SteamKit-Java - Java port of SteamKit.
  • JavaSteam - Java library that provides an interface to directly interact with Valve's Steam servers.

Objective-C​

  • SteamAuth - An iOS wrapper around Steam's OpenID login.

Ruby​

Resources​

General​

Tutorials​

Posts​

Standalone Tools​

Discussion Boards​

Third-Party Services​

Websites listed below may provide free and/or paid services and are listed alphabetically according to their domain name.

  • backpack.tf - Provides TF2 prices and Steam market/inventory related services.
  • steamanalyst.com - Provides CS:GO prices.
  • hexa.one - Provides prices for several games and Steam market/inventory related services.
  • steamapis.com - Provides prices for several games and Steam market/inventory related services.

License​

https://creativecommons.org/publicdomain/zero/1.0/

To the extent possible under law, the author and contributors of this text have waived all copyright and related or neighboring rights to this work.

Contribute to this list: https://github.com/scholtzm/awesome-steam