Steam
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.
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¶
- steam-trade - Node.js wrapper around Steam live trading.
- steam-tradeoffers - Steam Trade Offers for Node.js.
- steam-tradeoffer-manager - Simple and sane Steam trade offer management.
- steam-inventory-stream - Fetch inventories as readable streams.
- steam-inventory-api-ng - A Steam Inventory API wrapper with advanced features such as retries and proxy support.
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¶
- steam-login - Simple Connect / Express Steam authentication library.
- passport-steam - Steam (OpenID) authentication strategy for Passport and Node.js.
- meteor-accounts-steam - Steam OpenID integration for Meteor Accounts.
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.
- 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¶
- BackpackLogin - A .NET Standard library for logging into backpack.tf using Steam credentials.
- TeamFortressOutpostApi - A .NET Standard class library which allows user to interact with TF2Outpost.
- SteamGaugesApi - A .NET Standard 2.0 library to automatically use the API of steamgauges.
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¶
- steam - Simple steam library for trading in Go.
- go-steam - Steam's protocol in Go.
- steam-mobileauth - Port of SteamAuth in Go.
Python¶
General¶
- steam - Module for various interactions with Steam.
- 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¶
- steam-trade - Ruby gem for sending trade offers.
Resources¶
General¶
- Steam WebAPI @ ValveSoftware
- Steam WebAPI @ TF2 Wiki
- Steam WebAPI Documentation by xPaw
- Steam Internal WebAPI Documentation by Revadike
- Steam as OpenID Provider
- Steam API Key Registration
- Steam Error Codes - List of
EResult
codes with possible explanations.
Tutorials¶
- Creating a Steam Trade Bot with Node.js
- Charred's node.js Guide to Steam Bots
- In-depth Steam Bot Guide with Node.js
- Retrieving 2FA Keys from iOS Device
Posts¶
Standalone Tools¶
- NetHook2 - Intercept Steam client's network messages.
- NetHook2 Analyzer - Inspect messages dumped by NetHook2.
- steam-auth-web-util - Generate 2FA codes directly in your web browser.
- SteamDesktopAuthenticator - Desktop implementation of Steam's mobile authenticator app.
- protonenv - Simple Proton version and prefix management.
- steam-desktop-authenticator-multiplatform - Steam desktop authenticator.
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¶
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.