Counter-Strike: Global Offensive Access Match History

From Valve Developer Community
Jump to: navigation, search
Underlinked - Logo.png
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024

This page outlines the basics of creating a website or application to access players match history and help with players statistics tracking and gameplay analysis.

Counter-Strike: Global Offensive

Game Authentication Code created by the user, together with one of their match sharing codes, will allow third-party websites and applications to retrieve match sharing codes for each next match in their match history.

Creating Game Authentication Code

Users can create their game authentication codes using Steam help site, and then share their authentication code with third-party website or application.

https://help.steampowered.com/en/wizard/HelpWithGameIssue/?appid=730&issueid=128

Steam Support doesn't review or endorse third-party websites or applications that request access to Game Authentication Codes, and can take no responsibility for those websites or applications. If users don't trust the website or application that is requesting information, users should not approve the request.

Users can always revoke previously issued authentication codes.

Creating Steam Web API Key

Website or application developer is responsible for creating their Steam Web API key.

https://steamcommunity.com/dev/apikey

Website or application developer must comply with Steam Web API Terms of Use.

https://steamcommunity.com/dev/apiterms

When website or application developer are eligible to use a privileged partner Web API access endpoint, they should do so. Otherwise this document will assume Steam Web API access via https://api.steampowered.com/.

User Supplied Data

To use the match history WebAPI a website or application will need to obtain from the user their SteamID, game authentication code, and a match sharing code.

  • steamid: the SteamID of the user
  • steamidkey: the game authentication code created by the user for accessing match history
  • knowncode: match sharing code for one of the matches completed by the user

Fetching Next Match

A match sharing code representing next match in user match history can be retrieved using the following HTTP GET request:

https://api.steampowered.com/ICSGOPlayers_730/GetNextMatchSharingCode/v1?key=XXX&steamid=765XXX&steamidkey=AAAA-AAAAA-AAAA&knowncode=CSGO-ZT42K-Jxxxx-Kxxxx-5xxxx-Oixxx

When a more recent match has been completed by the user and is available in user match history, then the HTTP response code will be HTTP 200 OK and the response body will contain the next match sharing code:

{
    "result": {
        "nextcode": "CSGO-Zffxx-Wxxxx-Wxxxx-Txxxx-xxxxx"
    }
}

When your known code represents the last match in user match history and no next match is available in user match history, then the HTTP response code will be HTTP 202 Accepted and the response body will contain "n/a" instead of the next match sharing code:

{
    "result": {
        "nextcode": "n/a"
    }
}

Error Handling

When website or application Steam Web API key is correct, then status code HTTP 403 Forbidden may be returned from Web API calls that require a valid steamidkey user authentication code parameter. Failing to supply a valid steamidkey user authentication code at a high rate will result in multiple subsequent calls returning status code HTTP 503 Service Unavailable even for valid steamid+steamidkey pairs.

Additionally, strict rate-limiting is applied to accommodate multiple website and application developers, so the calling website or application should be prepared to handle status codes HTTP 429 Too Many Requests and HTTP 503 Service Unavailable. When these errors are encountered then website or application should reduce the number of requests per second that they are issuing and refrain from issuing too many requests that have an invalid steamidkey user authentication code parameter.

Status code HTTP 412 Precondition Failed can be returned when the knowncode parameter is invalid or does not represent a match sharing code that belongs to the user. The website or application should stop attempting further calls until user gets a chance to supply a valid match sharing code from their match history.

Status code HTTP 500 Internal Server Error typically indicates that the request failed to complete. Website or application may retry the request with the same parameters at a later time.

Status code HTTP 504 Gateway Timeout is returned when CS:GO backend server implementation timed out waiting for various asynchronous operations involving multiple backend server machines.

All other HTTP status codes should be handled by website or application according to the standard error handling protocol.

External links