| The Halo: Reach Stats API has been discontinued as of March 31st, 2012. The API is only serving historical data at this time. |
Official stats API documentation
| Disclaimer: The following page is a copy of the Official Halo: Reach Stats API Documentation. This copy may be out of date. To access the original, up-to-date copy, visit the Official Stats API Documentation article. |
This is a collection of methods to access the Halo: Reach game, player, and file information. They are available as a .NET 4.0 WCF service with three endpoints. To enforce consistency between the different protocols, all three endpoints follow this interface. Each protocol may be accessed through its associated endpoint located at http://www.bungie.net/api/reach/. The available endpoints are reachapijson.svc for JSON REST queries, reachapixml.svc for XML REST queries, and reachapisoap.svc for legacy SOAP XML support. Note that the examples given in this documentation use the REST syntax, documentation for SOAP Web services is not available. Consult your development environment's (Visual Studio) documentation for more information. No official support is available other than this documentation.
[edit] Available Methods
Note: "identifier" is always your application's identifier string that you registered under your account settings. This is used to ensure we know who's application is making the statistics call. Unregistered applications will not work.
Editor's Note: This "identifier" is your unique API key.
[edit] GetGameMetadata(System.String)
This function returns no dynamic data, but rather is used to translate resource ids into full resources (medals, commendations, etc.)
[edit] Parameters
- identifier: Your application's identifier string.
[edit] Return Value
An object containing several dictionaries that can be used to translate the various ids of resources into more detailed versions.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/game/metadata/{identifier}
[edit] GetGameHistory(System.String, System.String, System.String, System.String)
This function is used to browse through a player's history of games.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The target player's gamertag.
- variant_class: The variant class of game to get. Valid values are "Campaign", "Firefight", "Competitive", "Arena", "Invasion", "Custom". Pass "Unknown" to get all games.
- iPage: The page of results you want, starting at page 0.
[edit] Return Value
A GameHistoryResponse object containing a list of the games matching the criteria you specified.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/player/gamehistory/{identifier}/{gamertag}/{variant_class_string}/{iPage}
[edit] GetGameDetails(System.String, System.String)
This function allows you to access detailed information about a single game.
[edit] Parameters
- identifier: Your application's identifier string.
- gameId: The requested game id.
[edit] Return Value
A GameDetailsResponse object containing highly detailed statistics on the game.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/game/details/{identifier}/{gameId}
[edit] GetPlayerDetailsWithStatsByMap(System.String, System.String)
Returns detailed aggregate information on a player, including arena information.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player you want to find.
[edit] Return Value
A PlayerDetailsResponse object that contains detailed aggregate statistics.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/player/details/bymap/{identifier}/{gamertag}
[edit] GetPlayerDetailsWithStatsByPlaylist(System.String, System.String)
Returns detailed aggregate information on a player, including arena information.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player you want to find.
[edit] Return Value
A PlayerDetailsResponse object that contains detailed aggregate statistics.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/player/details/byplaylist/{identifier}/{gamertag}
[edit] GetPlayerDetailsWithNoStats(System.String, System.String)
Returns basic information about a player.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player you want to find.
[edit] Return Value
A PlayerDetailsResponse object with only basic information and no arena stats or aggregate stats.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/player/details/nostats/{identifier}/{gamertag}
[edit]
Returns a listing of files in a player's file share.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player's gamertag.
[edit] Return Value
A FileResponse object containing a listing of files.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/share/{identifier}/{gamertag}
[edit] GetFileDetails(System.String, System.String)
Returns information on a specific file.
[edit] Parameters
- identifier: Your application's identifier string.
- fileId: The id of the file to access.
[edit] Return Value
A FileResponse object containing the single file's information.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/details/{identifier}/{fileId}
[edit] GetPlayerRecentScreenshots(System.String, System.String)
Returns a player's recent screenshots.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player's gamertag.
[edit] Return Value
A FileResponse object return a listing of the recent screenshots uploaded by a user.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/screenshots/{identifier}/{gamertag}
[edit] GetPlayerFileSets(System.String, System.String)
Returns a list of file sets.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player's gamertag.
[edit] Return Value
A FileResponse object containing a list of file set names and their ids.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/sets/{identifier}/{gamertag}
[edit] GetPlayerFileSetFiles(System.String, System.String, System.String)
Returns a list of files in a particular file set.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: The player's gamertag.
- fileSetId: The file set id as returned by GetPlayerFileSets
[edit] Return Value
A FileResponse object containing a list of files in a particular file set.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/sets/files/{identifier}/{gamertag}/{fileSetId}
[edit] GetPlayerRenderedVideos(System.String, System.String, System.String)
Returns a list of rendered videos created by a player.
[edit] Parameters
- identifier: Your application's identifier string.
- gamertag: A player's gamertag.
- iPage: The page of results you want, starting at page 0.
[edit] Return Value
A FileResponse object containing a list of rendered videos.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/videos/{identifier}/{gamertag}/{iPage}
[edit] ReachFileSearch(System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String)
Used to search for files with various available filters and sorts.
[edit] Parameters
- identifier: Your application's identifier string.
- file_category: The type of file you wish to search for. Valid values are "Image", "GameClip", "GameMap", "RenderedFilm", or "GameSettings".
- MapFilter: An optional map to limit your results. Should be a valid map id, pass "null" for no filtering by map. Results are undefined when file_category is GameSettings.
- engineFilter: An optional game engine type to limit your results. Valid values are "null", "Campaign", "Forge", "Multiplayer", and "Firefight".
- DateFilter: A required date filter. Valid values are "Day", "Week", "Month", and "All".
- SortFilter: A required sort parameter. Valid values are "MostRelevant", "MostRecent", "MostDownloads", and "HighestRated".
- iPage: The page of search results you want, starts at 0.
- tags: A semi-colon delimited list of file tags to search for, empty if you don't wish to search by tags.
[edit] Return Value
A FileResponse object containing your search results.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/file/search/{identifier}/{file_category}/{MapFilter}/{engineFilter}/{DateFilter}/{SortFilter}/{iPage}?tags={tags}
[edit] GetCurrentChallenges(System.String)
Returns the currently active weekly and daily challenges.
[edit] Parameters
- identifier: Your application's identifier string.
[edit] Return Value
A ChallengesResponse object containing the currently active weekly and daily challenges.
[edit] Example
http://www.bungie.net/api/reach/reachapijson.svc/game/challenges/{identifier}