Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Steam API Wrapper

Project Description

This script will connect to the Steam API to retrieve information about users/games/groups.

How to use


To install, git clone the repository or download the archive from GitHub. Then, run python install to have the package installed. You can also get the latest release by using pip install steamwebapi.


Currently, to use steamwebapi you must supply a Steam API key. There are two ways to do that currently. First, you can set an environment variable called STEAM_API_KEY to your specific key value and the steamwebapi will use that. Otherwise, when instantiating an steam interface object you can pass steam_api_key in with the API key as its value. For example:

steamuserinfo = ISteamUser(steam_api_key='YOURAPIKEY')

The following example will assume that JSON data is being returned, and you want access to the data as returned by Valve.

from steamwebapi.api import ISteamUser, IPlayerService, ISteamUserStats
steamuserinfo = ISteamUser()
steamid = steamuserinfo.resolve_vanity_url("profileURL")['response']['steamid']
usersummary = steamuserinfo.get_player_summaries(steamid)['response']['players'][0]

The Steam Web API has multiple inferfaces (e.g., ISteamUser, IPlayerService) that provide different functions. After instantiating one of the interfaces the functions can be called with the appropriate paramenters. Each function returns a string of either json, xml, or vdf (valve data format). This can be set by the DEFAULTFORMAT variable or changed in the paramters of the function: steamuserinfo.resolve_vanity_url("profileURL", format="xml").

Alternatively, there is a helper function available to build a “user profile”. At the moment, to use the profile module the STEAM_API_KEY environment variable must be set.

from steamwebapi import profiles
user_profile = profiles.get_user_profile("VanityURLOrSteamID")



  • Python
    • 3.5.*
    • 3.4.*
    • 3.3.*
    • 3.2.*
    • 2.7.*
    • 2.6.*

Change Log

November 2, 2016 - v0.1.3


  • Fixed passing API key when instantiating (#1)

December 29, 2015 - v0.1.2

Mostly bug fixes as described below.


  • Switched to reST instead of markdown to work with pypi


  • Fixed issue with profile generation where there was no attribute ‘games’ if there was no game history
  • Prevent an ‘invalid’ primaryclanid being set which is returned on some accounts. For example ID 103582791429521408 is returned, which is 0x170000000000000 in hex. The lower 32 bits are used for the actual group/clan id and in this case they are ‘0’.
  • Not all responses for recently played games return attributes for ‘name’ or image paths. This seems to mostly be limited time betas.

November 27, 2015 - v0.1.1

  • API key must be set via the environment variable STEAM_API_KEY
  • When json format is requested, it is now automatically parsed

July 05, 2013 - v0.1.0

  • Initial script creation.
Release History

Release History

This version
History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
steamwebapi-0.1.3-py3-none-any.whl (16.4 kB) Copy SHA256 Checksum SHA256 3.5 Wheel Nov 2, 2016
steamwebapi-0.1.3.tar.gz (22.6 kB) Copy SHA256 Checksum SHA256 Source Nov 2, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting