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.
      
 
    
    
    
    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
    
    
    
    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
    
      
    
    
      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.