I'm trying to compute somewhat advanced stats for my own match history (or, potentially any player's history), that would be include more than the regular information one can find on Dotabuff.

I already can pull "easily" my summary Dotabuff history via Excel, but it only contains the basic information (Outcome, Hero, Mode, Duration and K/D/A). I can manually add the other information I need (GPM, XPM, if I was in a party, whom I was playing with, my build order, etc.) by going into individual match pages from Dotabuff or through the game client itself, but I'm looking for something faster or more efficient.

Does something like that already exist ?


I'm not sure how good your programming is but the DOTA API can help with a lot of this. You query the API with a match ID and it gives a JSON object that looks something like this. There is also a call you can make to get all of your match_ids played by querying for your match history and then you can set up a loop to go through all of those matches. It's really pretty cool stuff. A link I've found really helpful about the DOTA api is http://dev.dota2.com/showthread.php?t=58317&highlight=teaminfo. I've since become steam friends with this guy and he knows his stuff.

"account_id": 32bitIDishere,
"player_slot": 0,
"hero_id": 73,
"item_0": 50,
"item_1": 187,
"item_2": 36,
"item_3": 61,
"item_4": 40,
"item_5": 0,
"kills": 8,
"deaths": 1,
"assists": 13,
"leaver_status": 0,
"gold": 4089,
"last_hits": 37,
"denies": 0,
"gold_per_min": 457,
"xp_per_min": 421,
"gold_spent": 5579,
"hero_damage": 6921,
"tower_damage": 289,
"hero_healing": 0,
"level": 12,
| improve this answer | |
  • I knew the topic of the Dota API would come out and it's probably something I can figure out eventually. However in the link you posted, the first disclaimer is clearly "THE API CANNOT BE USED TO GET PRIVATE MATCHES". I'm not sure if I understand this correctly as they do provide a "account_id" variable. I'll look into it – T_O Apr 22 '14 at 14:45
  • 1
    By private matches he means private lobbies or for players that have their match history marked as private. Pubs can all be pulled and private lobbies that are ticketed. I'm more than happy to help. It sounds like a fun little project. – Aarmora Apr 22 '14 at 14:46
  • api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v001/… You can navigate directly to any match with this you just need an api key first. steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey This link should help you set it up. – Aarmora Apr 22 '14 at 14:47
  • 1
    I think it's just be a human. It requests a domain but it's more of a note. I think you could just put your name in there. It's more so they can track if someone is going overboard and spamming their api so they can cut them off. – Aarmora Apr 22 '14 at 14:51
  • 1
    @T_O Basic tutorial is here: dev.dota2.com/showthread.php?t=47115 – Decency Apr 22 '14 at 20:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.