Steam

Awesome Steam Awesome

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.

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

  • steam-resources - Steam's enums, protobufs and structs.
  • steam-crypto - Node.js implementation of Steam crypto.
  • steam-groups - Custom node-steam handler which provides group functions.
  • steamid - SteamID usage and conversion made easy.
  • steam-totp - Easily generate 2FA codes used by Steam.
  • steam-chat-bot - Simplified interface for a steam chat bot.
  • vdf - vdf to object and vice versa.
  • steamrep - Check user's SteamRep reputation.
  • reptf - Check user's rep.tf reputation.

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.
  • steamapi.io - Provides prices for several games and Steam market/inventory related services.
  • steamapis.com - Provides prices for several games and Steam market/inventory related services.
  • steamlytics.xyz - Provides CS:GO prices and Steam market/inventory related services.

License

CC0

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.