Difference between revisions of "User:RJackson/WebAPI"
(Sandboxing WebAPI changes. Overall goal: Document the whole WebAPI in a generic format, not specific to TF2 / econ items for example.) |
m |
||
Line 21: | Line 21: | ||
;ISteamApps: Methods relating to Steam Apps in general. | ;ISteamApps: Methods relating to Steam Apps in general. | ||
− | :;[[/GetAppList|GetAppList]]: Full list of every publicly facing program in the store/library. | + | :;[[WebAPI/GetAppList|GetAppList]]: Full list of every publicly facing program in the store/library. |
− | :;[[/GetServersAtAddress|GetServersAtAddress]]: TODO | + | :;[[WebAPI/GetServersAtAddress|GetServersAtAddress]]: TODO |
− | :;[[/UpToDateCheck|UpToDateCheck]]: Check if a given app version is the most current available. | + | :;[[WebAPI/UpToDateCheck|UpToDateCheck]]: Check if a given app version is the most current available. |
;ISteamEconomy: Methods relating to games' store's assets. | ;ISteamEconomy: Methods relating to games' store's assets. | ||
− | :;[[/GetAssetClassInfo|GetAssetClassInfo]]: Asset metadata | + | :;[[WebAPI/GetAssetClassInfo|GetAssetClassInfo]]: Asset metadata |
− | :;[[/GetAssetPrices|GetAssetPrices]]: Prices of items in the economy. | + | :;[[WebAPI/GetAssetPrices|GetAssetPrices]]: Prices of items in the economy. |
;ISteamNews: Methods relating to Steam News. | ;ISteamNews: Methods relating to Steam News. | ||
− | :;[[/GetNewsForApp|GetNewsForApp]]: News feed for various games | + | :;[[WebAPI/GetNewsForApp|GetNewsForApp]]: News feed for various games |
;ISteamRemoteStorage: Methods relating to stored files. | ;ISteamRemoteStorage: Methods relating to stored files. | ||
− | :;[[/GetCollectionDetails|GetCollectionDetails]]: TODO | + | :;[[WebAPI/GetCollectionDetails|GetCollectionDetails]]: TODO |
− | :;[[/GetPublishedFileDetails|GetPublishedFileDetails]]: TODO | + | :;[[WebAPI/GetPublishedFileDetails|GetPublishedFileDetails]]: TODO |
− | :;[[/GetUGCFileDetails|GetUGCFileDetails]]: UGC file size, local filename, and URL. | + | :;[[WebAPI/GetUGCFileDetails|GetUGCFileDetails]]: UGC file size, local filename, and URL. |
;ISteamUser: Methods relating to Steam users. | ;ISteamUser: Methods relating to Steam users. | ||
− | :;[[/GetFriendList|GetFriendList]]: User friend list | + | :;[[WebAPI/GetFriendList|GetFriendList]]: User friend list |
− | :;[[/GetPlayerBans|GetPlayerBans]]: Player ban/probation status | + | :;[[WebAPI/GetPlayerBans|GetPlayerBans]]: Player ban/probation status |
− | :;[[/GetPlayerSummaries|GetPlayerSummaries]]: User profile data | + | :;[[WebAPI/GetPlayerSummaries|GetPlayerSummaries]]: User profile data |
− | :;[[/GetUserGroupList|GetUserGroupList]]: TODO | + | :;[[WebAPI/GetUserGroupList|GetUserGroupList]]: TODO |
− | :;[[/ResolveVanityURL|ResolveVanityURL]]: Resolve vanity URL parts to a 64 bit ID. | + | :;[[WebAPI/ResolveVanityURL|ResolveVanityURL]]: Resolve vanity URL parts to a 64 bit ID. |
;ISteamUserStats: Methods relating to User stats. | ;ISteamUserStats: Methods relating to User stats. | ||
− | :;[[/GetGlobalAchievementPercentagesForApp|GetGlobalAchievementPercentagesForApp]]: Statistics showing how much of the player base have unlocked various achievements. | + | :;[[WebAPI/GetGlobalAchievementPercentagesForApp|GetGlobalAchievementPercentagesForApp]]: Statistics showing how much of the player base have unlocked various achievements. |
− | :;[[/GetGlobalStatsForGame|GetGlobalStatsForGame]]: TODO | + | :;[[WebAPI/GetGlobalStatsForGame|GetGlobalStatsForGame]]: TODO |
− | :;[[/GetNumberOfCurrentPlayers|GetNumberOfCurrentPlayers]]: TODO | + | :;[[WebAPI/GetNumberOfCurrentPlayers|GetNumberOfCurrentPlayers]]: TODO |
− | :;[[/GetPlayerAchievements|GetPlayerAchievements]]: Game achievements | + | :;[[WebAPI/GetPlayerAchievements|GetPlayerAchievements]]: Game achievements |
− | :;[[/GetSchemaForGame|GetSchemaForGame]]: TODO | + | :;[[WebAPI/GetSchemaForGame|GetSchemaForGame]]: TODO |
− | :;[[/GetUserStatsForGame|GetUserStatsForGame]]: TODO | + | :;[[WebAPI/GetUserStatsForGame|GetUserStatsForGame]]: TODO |
=== Game specific interfaces === | === Game specific interfaces === | ||
==== Generic ==== | ==== Generic ==== | ||
;IEconItems_<ID>: Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841. | ;IEconItems_<ID>: Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841. | ||
− | :;[[/GetPlayerItems|GetPlayerItems]]: Lists items in a player's backpack. | + | :;[[WebAPI/GetPlayerItems|GetPlayerItems]]: Lists items in a player's backpack. |
− | :;[[/GetSchema|GetSchema]]: Information about the items in a supporting game. | + | :;[[WebAPI/GetSchema|GetSchema]]: Information about the items in a supporting game. |
− | :;[[/GetSchemaURL|GetSchemaURL]]: Returns a URL for the games' item_game.txt file. Supported IDs: 205790, 440, 520, 570. | + | :;[[WebAPI/GetSchemaURL|GetSchemaURL]]: Returns a URL for the games' item_game.txt file. Supported IDs: 205790, 440, 520, 570. |
− | :;[[/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store. Supported IDs: 205790, 440, 570. | + | :;[[WebAPI/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store. Supported IDs: 205790, 440, 570. |
− | :;[[/GetStoreStatus|GetStoreStatus]]: The game's store status. Supported IDs: 205790, 440, 520, 570, 816. | + | :;[[WebAPI/GetStoreStatus|GetStoreStatus]]: The game's store status. Supported IDs: 205790, 440, 520, 570, 816. |
;IGCVersion_<ID>: TODO. Supported IDs: 440, 520, 570, 816. | ;IGCVersion_<ID>: TODO. Supported IDs: 440, 520, 570, 816. | ||
− | :;[[/GetClientVersion|GetClientVersion]]: TODO | + | :;[[WebAPI/GetClientVersion|GetClientVersion]]: TODO |
− | :;[[/GetClusterVersion|GetClusterVersion]]: TODO Supported IDs: 570, 816. | + | :;[[WebAPI/GetClusterVersion|GetClusterVersion]]: TODO Supported IDs: 570, 816. |
− | :;[[/GetServerVersion|GetServerVersion]]: TODO | + | :;[[WebAPI/GetServerVersion|GetServerVersion]]: TODO |
;ITFPromos_<ID>: TODO. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816. | ;ITFPromos_<ID>: TODO. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816. | ||
− | :;[[/GetItemID|GetItemID]]: TODO | + | :;[[WebAPI/GetItemID|GetItemID]]: TODO |
− | :;[[/GrantItem|GrantItem]]: TODO | + | :;[[WebAPI/GrantItem|GrantItem]]: TODO |
==== Dota 2 ==== | ==== Dota 2 ==== | ||
;IDOTA2Match_<ID>: Methods relating to Dota 2 matches. Supported IDs: 205790, 570. | ;IDOTA2Match_<ID>: Methods relating to Dota 2 matches. Supported IDs: 205790, 570. | ||
− | :;[[/GetLeagueListing|GetLeagueListing]]: Information about DotaTV-supported leagues. | + | :;[[/GetLeagueListing|GetLeagueListing]] (Sandboxed page): Information about DotaTV-supported leagues. |
− | :;[[/GetLiveLeagueGames|GetLiveLeagueGames]]: TODO | + | :;[[/GetLiveLeagueGames|GetLiveLeagueGames]] (Sandboxed page): TODO |
− | :;[[/GetMatchDetails|GetMatchDetails]]: TODO | + | :;[[WebAPI/GetMatchDetails|GetMatchDetails]]: TODO |
− | :;[[/GetMatchHistory|GetMatchHistory]]: TODO | + | :;[[WebAPI/GetMatchHistory|GetMatchHistory]]: TODO |
− | :;[[/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]]: TODO | + | :;[[/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]] (Sandboxed page): TODO |
;IDOTA2_<ID>: Methods relating to Dota 2. Supported IDs: 205790, 570, 816. | ;IDOTA2_<ID>: Methods relating to Dota 2. Supported IDs: 205790, 570, 816. | ||
− | :;[[/GetRarities|GetRarities]]: Dota 2 item rarity list. | + | :;[[WebAPI/GetRarities|GetRarities]]: Dota 2 item rarity list. |
− | :;[[/GetHeroes|GetHeroes]]: TODO | + | :;[[WebAPI/GetHeroes|GetHeroes]]: TODO |
− | :;[[/GetTicketSaleStatus|GetTicketSaleStatus]]: TODO. Supported IDs: 20570, 570. | + | :;[[/GetTicketSaleStatus|GetTicketSaleStatus]] (Sandboxed page): TODO. Supported IDs: 20570, 570. |
− | :;[[/GetStoreSections|GetStoreSections]]: Dota 2 store sections. Supported IDs: 816. | + | :;[[WebAPI/GetStoreSections|GetStoreSections]]: Dota 2 store sections. Supported IDs: 816. |
==== Portal 2 ==== | ==== Portal 2 ==== | ||
;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards. Supported IDs: 620, 841. | ;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards. Supported IDs: 620, 841. | ||
− | :;[[/GetBucketizedData|GetBucketizedData]]: TODO | + | :;[[WebAPI/GetBucketizedData|GetBucketizedData]]: TODO |
==== Team Fortress 2 ==== | ==== Team Fortress 2 ==== | ||
;ITFItems_<ID>: Methods relating to TF2 items. Supported IDs: 440, 520. | ;ITFItems_<ID>: Methods relating to TF2 items. Supported IDs: 440, 520. | ||
− | :;[[/GetGoldenWrenches|GetGoldenWrenches]]: TODO | + | :;[[WebAPI/GetGoldenWrenches|GetGoldenWrenches]]: TODO |
− | :;[[/GetPlayerItems|GetPlayerItems]]: TODO | + | :;[[WebAPI/GetPlayerItems|GetPlayerItems]]: TODO |
− | :;[[/GetSchema|GetSchema]]: TODO | + | :;[[WebAPI/GetSchema|GetSchema]]: TODO |
=== Other undocumented interfaces === | === Other undocumented interfaces === | ||
Line 102: | Line 102: | ||
== Notes == | == Notes == | ||
− | === List of | + | === List of IDs === |
{{anchor|appids}} | {{anchor|appids}} | ||
+ | ;260: Counter Strike: Source Beta | ||
;440: Team Fortress 2 | ;440: Team Fortress 2 | ||
;520: Team Fortress 2 Public Beta | ;520: Team Fortress 2 Public Beta | ||
;570: Dota 2 | ;570: Dota 2 | ||
;620: Portal 2 | ;620: Portal 2 | ||
+ | ;710: Counter-Strike: Global Offensive Beta Dev | ||
;816: Dota 2 internal test | ;816: Dota 2 internal test | ||
+ | ;841: Portal 2 Beta | ||
;205790: Dota 2 (beta) test | ;205790: Dota 2 (beta) test | ||
Revision as of 19:25, 3 February 2013
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
- TODO
- 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
- TODO
- GetPublishedFileDetails
- TODO
- 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
- TODO
- 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
- TODO
- GetNumberOfCurrentPlayers
- TODO
- GetPlayerAchievements
- Game achievements
- GetSchemaForGame
- TODO
- GetUserStatsForGame
- TODO
Game specific interfaces
Generic
- IEconItems_<ID>
- Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841.
- 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. Supported IDs: 205790, 440, 520, 570.
- GetStoreMetadata
- Information about the game's store. Supported IDs: 205790, 440, 570.
- GetStoreStatus
- The game's store status. Supported IDs: 205790, 440, 520, 570, 816.
- IGCVersion_<ID>
- TODO. Supported IDs: 440, 520, 570, 816.
- GetClientVersion
- TODO
- GetClusterVersion
- TODO Supported IDs: 570, 816.
- GetServerVersion
- TODO
- ITFPromos_<ID>
- TODO. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816.
Dota 2
- IDOTA2Match_<ID>
- Methods relating to Dota 2 matches. Supported IDs: 205790, 570.
- GetLeagueListing (Sandboxed page)
- Information about DotaTV-supported leagues.
- GetLiveLeagueGames (Sandboxed page)
- TODO
- GetMatchDetails
- TODO
- GetMatchHistory
- TODO
- GetMatchHistoryBySequenceNum (Sandboxed page)
- TODO
- IDOTA2_<ID>
- Methods relating to Dota 2. Supported IDs: 205790, 570, 816.
- GetRarities
- Dota 2 item rarity list.
- GetHeroes
- TODO
- GetTicketSaleStatus (Sandboxed page)
- TODO. Supported IDs: 20570, 570.
- GetStoreSections
- Dota 2 store sections. Supported IDs: 816.
Portal 2
- IPortal2Leaderboards_<ID>
- Methods relating to Portal 2 Leaderboards. Supported IDs: 620, 841.
- GetBucketizedData
- TODO
Team Fortress 2
- ITFItems_<ID>
- Methods relating to TF2 items. Supported IDs: 440, 520.
- GetGoldenWrenches
- TODO
- GetPlayerItems
- TODO
- GetSchema
- TODO
Other undocumented interfaces
- ISteamGameServerAccount
- TODO
- ISteamOAuth2
- TODO
- ISteamUserAuth
- TODO
- ISteamWebAPIUtil
- TODO
- ISteamWebUserPresenceOAuth
- TODO
Notes
List of IDs
- 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
- Steam Condenser Ruby, PHP, and Java library.
- Steamodd Python module.
- OPTF2 online viewer (source code).
- SKSteamKit An Objective-C library for iOS (4.0+) and framework for Mac OS X (10.6+).
- tf2api.py A Python module for TF2 items. Used on TF2 Find.
See also
- Feedback for requests, suggestions, and issues.