Results 1 to 4 of 4

Thread: Major bug the the GetMatchHistory API

  1. #1
    Basic Member
    Join Date
    Feb 2013
    Posts
    15

    Major bug the the GetMatchHistory API

    Generally, the GetMatchHistory API will not return matches lasting 50 minutes or more. When I call GetMatchHistory, paginate through results to read 500 or so match summaries, then use then use the GetMatchDetails API to examine those matches, none of them will have a duration of more than 47 minutes (or about 2800 seconds).

    There are obviously many matches that last 50 minutes or more, but the when using the GetMatchHistory API you will likely never know about them.

    After looking at the data I've collected I believe I understand why this is happening, which is due to the following circumstances:

    1) with pagination (using start_at_match_id) the GetMatchHistory API will return at most around 500 matches
    2) the GetMatchHistory results are always ordered by match_id in descending order with the highest match_id first
    3) match_ids are assigned loosely based on the time the match began rather than when they ended
    4) GetMatchHistory only returns matches which have completed
    5) longer matches (those with a duration of 50 minutes or more) are always bumped off by the GetMatchHistory list by 500 other shorter matches which began after and completed before longer matches

    Example url of the API in question: https://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/V001/?format=XML&key=<my_key>&skill=3 [optional &start_at_match_id=<last_match_id+1> for pagination]

  2. #2
    Basic Member MuppetMaster42's Avatar
    Join Date
    Nov 2011
    Location
    Australia
    Posts
    585
    this is not a bug. a bug would imply there is something to be fixed because something is not working as intended.
    The API call works exactly as intended - it returns the 500 matches that have that have the latest start time AND have finished.
    The fact that games over about an hour are not able to be viewed by that API call is a limitation, not a bug.

    But to get around this limitation, they released another API call.
    if you want every match ever, and want to continually update - use GetMatchHistoryBySequenceNum.

  3. #3
    Basic Member
    Join Date
    Feb 2013
    Posts
    15
    Fair enough. Thank you for the GetMatchHistoryBySequenceNum suggestion. It doesn't seem to have have a skill level filter (I'm only interested in matches tagged as Very High Skill). I'll have to figure out a way to work around this limitation.

  4. #4
    Hi, have you figured out how to work around this limitation?

    I want to get all matches with Very High Skill as well.

    Thank you very much!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •