← Back to Awesome

Sections

Steam

GitHub repository ↗ synced 2026/8/9

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

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.

steamworks-ffi-node

A Node.js wrapper for Steamworks SDK.

steam-webapi

Complete WebAPI wrapper with support for extra HTTP headers sent by Steam.

steamapi

A nice Steam API wrapper.

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.

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.

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.

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.

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](https://steamapis.com).

General

WebAPI

Trading

Game Interaction

Community & Store Automation

Authentication

Misc

C#

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.

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.

General

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

steam

Simple steam library for trading in Go.

go-steam

Steam's protocol in Go.

steam-mobileauth

Port of SteamAuth in Go.

Python

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.

aiosteampy

Trade and interact with Steam market, WebAPI, SteamGuard.

csgo

Python module for interacting with CSGO's Game Coordinator.

dota2

Python module for interacting with Dota 2's Game Coordinator.

vpk

Python module for working with Valve's Pack format.

vdf

Python module for working with Valve's KeyValue format.

General

Game Interaction

Misc

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.

Rust

steamguard-cli

Command-line utility for generating Steam 2FA codes and managing Steam confirmations.

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

Item IDs Explained
Everything Related to Escrow
Understanding Avatar Hash

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

/r/SteamBot
/r/SteamBot Discord
/r/nodesteam
DoctorMcKay's Dev Forum
node-steam-forum

Third-Party Services

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.

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