WebAPI
Revision as of 03:59, 7 June 2013 by Lagg (talk | contribs) (→Implementations: Remove tf2api.py, this is more of an ad-hoc set of methods that exists in a website tree than an actual implementation. Sorted implementations alphabetically and changes the d2 things description (it's neither an engine or framework))
Contents
Common elements
Parameters
Most WebAPI methods take the following arguments in their URL:
- key
- Your Steam Web API key. Without this, the server will return an HTTP 403 (forbidden) error. A key can be generated here.
- format (Optional)
- The file format to return output in.
json
(default)- The JavaScript Object Notation format
xml
- Standard XML
vdf
- Valve Data Format
- language (Optional)
- The ISO639-1 language code for the language all tokenized strings should be returned in. Not all strings have been translated to every language. If a language does not have a string, the English string will be returned instead. If this parameter is omitted the string token will be returned for the strings.
Terminology
A "tokenized string" refers to a string containing "#
"-prefixed tokens that are replaced with the equivalent string in the game's VDF for the chosen language. For instance, "TF_Weapon_Jar
" is defined as "Jar Based Karate
" in tf/resource/tf_english.txt (as found in "team fortress 2 content.gcf").
Methods
General interfaces
- ISteamApps
- Methods relating to Steam Apps in general.
- GetAppList
- Full list of every publicly facing program in the store/library.
- GetServersAtAddress
- UpToDateCheck
- Check if a given app version is the most current available.
- ISteamEconomy
- Methods relating to games' store's assets.
- GetAssetClassInfo
- Asset metadata
- GetAssetPrices
- Prices of items in the economy.
- ISteamNews
- Methods relating to Steam News.
- GetNewsForApp
- News feed for various games
- ISteamRemoteStorage
- Methods relating to stored files.
- GetCollectionDetails
- GetPublishedFileDetails
- GetUGCFileDetails
- UGC file size, local filename, and URL.
- ISteamUser
- Methods relating to Steam users.
- GetFriendList
- User friend list
- GetPlayerBans
- Player ban/probation status
- GetPlayerSummaries
- User profile data
- GetUserGroupList
- ResolveVanityURL
- Resolve vanity URL parts to a 64 bit ID.
- ISteamUserStats
- Methods relating to User stats.
- GetGlobalAchievementPercentagesForApp
- Statistics showing how much of the player base have unlocked various achievements.
- GetGlobalStatsForGame
- GetNumberOfCurrentPlayers
- Returns the current number of players for an app.
- GetPlayerAchievements
- Game achievements
- GetSchemaForGame
- GetUserStatsForGame
- IPlayerService
- Methods relating to a Steam user's games.
Game specific interfaces
Generic
- IEconItems_<ID>
- Methods relating to in-game items for supported games.
- GetPlayerItems
- Lists items in a player's backpack.
- GetSchema
- Information about the items in a supporting game.
- GetSchemaURL
- Returns a URL for the games' item_game.txt file.
- GetStoreMetadata
- Information about the game's store.
- GetStoreStatus
- The game's store status.
- IGCVersion_<ID>
- TODO.
- GetClientVersion
- TODO
- GetClusterVersion
- TODO
- GetServerVersion
- TODO
Dota 2
- IDOTA2Match_<ID>
- Methods relating to Dota 2 matches.
- GetLeagueListing
- Information about DotaTV-supported leagues.
- GetLiveLeagueGames
- A list of in-progress league matches, as well as details of that match as it unfolds.
- GetMatchDetails
- Information about a particular match.
- GetMatchHistory
- A list of matches, filterable by various parameters.
- GetMatchHistoryBySequenceNum
- A list of matches ordered by their sequence num.
- GetScheduledLeagueGames
- A list of scheduled league games coming up.
- GetTeamInfoByTeamID
- A list of all the teams set up in-game.
- IDOTA2_<ID>
- Methods relating to Dota 2.
- GetRarities
- Dota 2 item rarity list.
- GetHeroes
- A list of heroes within Dota 2.
- GetTicketSaleStatus
- TODO.
Portal 2
- IPortal2Leaderboards_<ID>
- Methods relating to Portal 2 Leaderboards.
- GetBucketizedData
- TODO
Other undocumented interfaces
- ISteamGameServerAccount
- TODO
- ISteamOAuth2
- TODO
- ISteamUserAuth
- TODO
- ISteamWebAPIUtil
-
- GetServerInfo
- Returns WebAPI server time & checks server status.
- GetSupportedAPIList
- Lists all available WebAPI interfaces.
- ISteamWebUserPresenceOAuth
- TODO
Notes
List of IDs
For a complete list, see GetAppList.
- 260
- Counter Strike: Source Beta
- 440
- Team Fortress 2
- 520
- Team Fortress 2 Public Beta
- 570
- Dota 2
- 620
- Portal 2
- 710
- Counter-Strike: Global Offensive Beta Dev
- 816
- Dota 2 internal test
- 841
- Portal 2 Beta
- 205790
- Dota 2 (beta) test
Methods Requiring a 64-bit User ID
Most API requests that take an ID parameter require a 64 bit ID, if one is not readily available a vanity URL part can be resolved via ResolveVanityURL.
Implementations
- Dota 2 engine PHP library for the Dota 2 API.
- Steam Condenser Ruby, PHP, and Java library.
- Steamodd Python module.
- OPTF2 online viewer (source code).
See also
- Feedback for requests, suggestions, and issues.