Courses & Tutorials

Awesome Steam – Massive Collection of Resources

A curated list of packages and resources regarding Steam development.

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

  • steamcommunity – Interact with steamcommunity.com. Also allows to confirm trade offers.
  • steamstore – Interact with store.steampowered.com.
  • steam-weblogon – Retrieve SteamCommunity cookies if you are running Steam network client.
  • steam-web-api-key – Automatically registers and retrieves Steam API key.
  • steam-parental – Disable parental lock.

Authentication

Misc

  • steam-resources – Steam’s enums, protobufs and structs.
  • 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.
  • steamapis – Module to use the API of steamapis.com.

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.

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.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button