Skip to main content

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")


Steam Web API Documentation


  • Python
    • 3.5.*

    • 3.4.*

    • 3.3.*

    • 3.2.*

    • 2.7.*

    • 2.6.*

Change Log

September 10, 2022 - v0.1.4

Some PRs to fix bugs

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.

Project details

Download files

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

Source Distribution

steamwebapi-0.1.4.tar.gz (23.7 kB view hashes)

Uploaded source

Built Distribution

steamwebapi-0.1.4-py3-none-any.whl (26.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page