Skip to main content

Steam API Wrapper

Project description

buildstatus

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

How to use

Install

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

Use

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

print(vars(user_profile))

REQUIREMENTS

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

Change Log

December 29, 2015 - v0.1.2

Mostly bug fixes as described below.

Changes

  • Switched to reST instead of markdown to work with pypi

Bugs

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

Files for steamwebapi, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size steamwebapi-0.1.2.zip (32.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page