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.) |
(u r not vaelv) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 9: | Line 9: | ||
:;<code>json</code> (default): The [http://json.org JavaScript Object Notation] format | :;<code>json</code> (default): The [http://json.org JavaScript Object Notation] format | ||
:;<code>xml</code>: Standard XML | :;<code>xml</code>: Standard XML | ||
− | :;<code>vdf</code>: [[/VDF|Valve Data Format]] | + | :;<code>vdf</code>: [[WebAPI/VDF|Valve Data Format]] |
;{{API optional|language}} | ;{{API optional|language}} | ||
:The [[Wikipedia:List of ISO 639-1 codes|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. | :The [[Wikipedia:List of ISO 639-1 codes|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. | ||
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 | + | ;IEconItems_<ID>: Methods relating to in-game items for supported games. |
− | :;[[/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 | + | :;[[WebAPI/GetSchemaURL|GetSchemaURL]]: Returns a URL for the games' item_game.txt file. |
− | :;[[/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store | + | :;[[WebAPI/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store. |
− | :;[[/GetStoreStatus|GetStoreStatus]]: The game's store status | + | :;[[WebAPI/GetStoreStatus|GetStoreStatus]]: The game's store status. |
− | ;IGCVersion_<ID>: TODO | + | ;IGCVersion_<ID>: TODO. |
− | :;[[/GetClientVersion|GetClientVersion]]: TODO | + | :;[[WebAPI/GetClientVersion|GetClientVersion]]: TODO |
− | :;[[/GetClusterVersion|GetClusterVersion]]: TODO | + | :;[[WebAPI/GetClusterVersion|GetClusterVersion]]: TODO |
− | :;[[/GetServerVersion|GetServerVersion]]: TODO | + | :;[[WebAPI/GetServerVersion|GetServerVersion]]: TODO |
− | ;ITFPromos_<ID>: TODO | + | ;ITFPromos_<ID>: TODO. |
− | :;[[/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 | + | ;IDOTA2Match_<ID>: Methods relating to Dota 2 matches. |
− | :;[[/GetLeagueListing|GetLeagueListing]]: Information about DotaTV-supported leagues. | + | :;[[WebAPI/GetLeagueListing|GetLeagueListing]]: Information about DotaTV-supported leagues. |
− | :;[[/GetLiveLeagueGames|GetLiveLeagueGames]]: | + | :;[[WebAPI/GetLiveLeagueGames|GetLiveLeagueGames]]: A list of in-progress league matches, as well as details of that match as it unfolds. |
− | :;[[/GetMatchDetails|GetMatchDetails]]: | + | :;[[WebAPI/GetMatchDetails|GetMatchDetails]]: Information about a particular match. |
− | :;[[/GetMatchHistory|GetMatchHistory]]: | + | :;[[WebAPI/GetMatchHistory|GetMatchHistory]]: A list of matches, filterable by various parameters. |
− | :;[[/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]]: | + | :;[[WebAPI/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]]: A list of matches ordered by their sequence num. |
+ | :;[[WebAPI/GetTeamInfoByTeamID|GetTeamInfoByTeamID]]: A list of all the teams set up in-game. | ||
− | ;IDOTA2_<ID>: Methods relating to Dota 2 | + | ;IDOTA2_<ID>: Methods relating to Dota 2. |
− | :;[[/GetRarities|GetRarities]]: Dota 2 item rarity list. | + | :;[[WebAPI/GetRarities|GetRarities]]: Dota 2 item rarity list. |
− | :;[[/GetHeroes|GetHeroes]]: | + | :;[[WebAPI/GetHeroes|GetHeroes]]: A list of heroes within Dota 2. |
− | :;[[/GetTicketSaleStatus|GetTicketSaleStatus]]: TODO | + | :;[[WebAPI/GetTicketSaleStatus|GetTicketSaleStatus]]: TODO. |
− | |||
==== Portal 2 ==== | ==== Portal 2 ==== | ||
− | ;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards | + | ;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards. |
− | :;[[/GetBucketizedData|GetBucketizedData]]: TODO | + | :;[[WebAPI/GetBucketizedData|GetBucketizedData]]: TODO |
==== Team Fortress 2 ==== | ==== Team Fortress 2 ==== | ||
− | ;ITFItems_<ID>: Methods relating to TF2 items | + | ;ITFItems_<ID>: Methods relating to TF2 items. |
− | :;[[/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 | ||
Line 126: | Line 129: | ||
* [[Talk:WebAPI/Feedback|Feedback]] for requests, suggestions, and issues. | * [[Talk:WebAPI/Feedback|Feedback]] for requests, suggestions, and issues. | ||
− | |||
− | |||
− |
Latest revision as of 19:37, 18 June 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.
- 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.
- 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
Team Fortress 2
- ITFItems_<ID>
- Methods relating to TF2 items.
- 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.