• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Abhishek Tanwar

I build web & mobile experiences

  • HOME
  • BLOG
  • CONTACT ME
  • DISCLAIMER & COPYRIGHTS
You are here: Home / Uncategorized / Steam/Dota2 WebAPI

Steam/Dota2 WebAPI

December 9, 2013 by Abhishek Tanwar

Hello All!

Over the past week, I have been working on putting around an app for iOS for Steam/Dota2 as it is not available as of now.

For that I have been searching the APIs that I can use and I have compiled a list of such APIs. For you all, I am going to share it!

Below is the list of APIs that I have registered as of now. I will keep updating the list.

There are some generic parameters and common parameters to these APIs – steam web api key and “format” for example.

I am going to show an example of calling one of the API. Lets take “GetNumberOfCurrentPlayers”.

Lets say I want the format default = JSON. I construct the URL and pass parameters like I do in HTTP GET method. The first parameter is your steam web api key – “key” and the appid is the second argument and I am specifying “Dota2” application Id. Don’t ask me now, how I know 570 is Dota2 AppId Smile

So below is what the URL will look like.

http://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1?key=steamwebapikey&appid=570

Default output of the above URL would like like:

{
    “response”: {
        “result”: 1,
        “player_count”: 363410
    }
}
Lets apply “xml” format to this. Updated URL would be something like:

http://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1?key=steamwebapikey&appid=570&format=xml 

The output of the above would be:

<response>
    <result>1</result>
    <player_count>363410</player_count>
</response>

API Name Description Input
ResolveVanityURL

http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/

Get SteamId from Vanity Name key
vanityurl
GetFriendList

http://api.steampowered.com/ISteamUser/GetFriendList/v1

Gets the friend list key
steamid
GetPlayerBans

http://api.steampowered.com/ISteamUser/GetPlayerBans/v1

Gets the players ban key
steamids
GetPlayerSummaries

http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/

User profile data  key
steamids
GetAppList

http://api.steampowered.com/ISteamApps/GetAppList/v2

Full list of every publicly facing program in the store/library key
GetUserGroupList

http://api.steampowered.com/ISteamUser/GetUserGroupList/v1

List of groups user subscribes to.  key
steamid
GetGlobalAchievementPercentagesForApp

http://api.steampowered.com/ISteamUserStats/
GetGlobalAchievementPercentagesForApp/v0002

Statistics showing how much of the player base have unlocked various achievements key
gameid
GetGlobalStatsForGame [Coming Soon] [Coming Soon]
GetNumberOfCurrentPlayers

http://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1?

Returns the current number of players for an app key
appid
GetPlayerAchievements

http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/

Get the players achievements [Coming Soon]
GetSchemaForGame Get schema for the game. [Coming Soon]
GetRecentlyPlayedGames

http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v1

Recently played games with the current steam user key
steamid
count
GetOwnedGames

http://api.steampowered.com/IPlayerService/GetOwnedGames/v1

List of currently owned games by the current steam user key
steamid
include_appinfo
include_played_free_games
appids_filter
GetSteamLevel

http://api.steampowered.com/IPlayerService/GetSteamLevel/v1

Get the steam level key
steamid
GetBadges

http://api.steampowered.com/IPlayerService/GetBadges

Get the badges earned by the steam user key
steamid
GetCommunityBadgeProgress

http://api.steampowered.com/IPlayerService/GetCommunityBadgeProgress/v1

Get the community Badge progress key
steamid
badgeid(optional)
GetServerInfo

http://api.steampowered.com/ISteamWebAPIUtil/GetServerInfo/v0001

Returns WebAPI server time & checks server status.  key
GetSupportedAPIList

http://api.steampowered.com/ISteamWebAPIUtil/GetSupportedAPIList/v0001

Lists all available WebAPI interfaces.  key
GetLeagueListing

http://api.steampowered.com/IDOTA2Match_570/GetLeagueListing/v1

Information about DotaTV-supported leagues key
GetLiveLeagueGames

http://api.steampowered.com/IDOTA2Match_570/GetLiveLeagueGames/v1/

A list of in-progress league matches, as well as details of that match as it unfolds key
GetMatchDetails

http://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v1

Information about a particular match match_id
GetMatchHistory

http://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/v1

A list of matches, filterable by various parameters player_name
hero_id
game_mode
skill,date_min
date_max
min_players
account_id
league_id
start_at_match_id
matches_requested
tournament_games_only
GetMatchHistoryBySequenceNum

http://api.steampowered.com/IDOTA2Match_570/GetMatchHistoryBySequenceNum/v1

A list of matches ordered by their sequence num start_at_match_seq_num
matches_requested
GetScheduledLeagueGames

http://api.steampowered.com/IDOTA2Match_570/GetScheduledLeagueGames/v1

A list of scheduled league games coming up key
GetTeamInfoByTeamID A list of all the teams set up in-game [Coming Soon]
GetTournamentPlayerStats Stats about a particular player within a tournament [Coming Soon]
GetRarities

http://api.steampowered.com/IEconDOTA2_570/GetRarities/v1

Dota 2 item rarity list key
GetHeroes

http://api.steampowered.com/IEconDOTA2_570/GetHeroes/v1

A list of heroes within Dota 2 key

 

Watch this space for more. I will be publishing a e-book covering all the input and output in details for each APIs for your reference and will be available on Amazon.com.

Any questions are welcome!

Share this:

  • Facebook
  • X

Like this:

Like Loading...

Filed Under: Uncategorized Tagged With: dota2, dota2 web api, Steam, web api

Reader Interactions

Comments

  1. Samuel Chávez says

    January 21, 2014 at 6:00 am

    Hi, thanks for this post. I’m wondering if you could actually retrieve player data like win rate, mos successful hero and so on. Do you have any idea if this is possible? I think that the guys at http://dotabuff.com/ have done it.

    • Abhishek says

      March 23, 2014 at 5:39 pm

      They actually maintain the database. If you are running a website you can setup and job to retrieve all the data periodically and store it and then you can calculate the stats.

      Imagine like doing it for 100. The same applies for all matches after you start gathering data.

  2. Help says

    August 4, 2014 at 4:52 pm

    Hello Abhishek My friend wants to open site like dota2lounge So from where he should start actually he asked me but i’m dunno about all this i found this topic on google coz it looks something similar.

    What things Need to make site like dotalounge if possible please help i searched on web some ppl says Need Dota2api/tf2api something Please if u can explain.

    • Abhishek says

      August 5, 2014 at 2:10 pm

      Hi there.

      There are two ways. As you already ready as per my post that steam exposes some APIS for DOTA2 which can help you get the data. For the same you will need a developer key. Using APIs you can get matches, details, and all the information that dotalounge presents but it will be too much calls.

      Rather, if you own a database, you can have it scheduled to get all registered users to be stored in your database using the same APIs of course but in background and based on your database, you can have whatever you want.

      -Abhishek

Primary Sidebar

  • Behance
  • Email
  • Facebook
  • GitHub
  • LinkedIn

Popular Posts

How To Integrate React in JSP Application
SaaS, PaaS, IaaS
XQuery highlighting in Notepad++
Standard Design Patterns – Applied to JAVA
XQDT Installation on Eclipse JUNO

Categories

  • Building APIs
  • Building Mobile Apps
  • Building Web Apps
  • Coding Challenges
  • Extensions
  • Fullstack
  • Patterns
  • Tips & Tricks
  • Uncategorized
  • VSCode

Tags

2022 vscode extensions Abstract Factory alienware amazing vscode extensions apple challenges coding coding-challenges Design Patterns dota2 dota2 items dynamic web service call dynamic webservice invocation enterprise integration express flex helpful vscode extensions how to implement mfa in nodejs increasing productivity using vscode integration pattern macro message channel message endpoint message pattern message router message translator messaging mfa offline action processing offline actions in struts pipes and filters PRG in struts react Steam struts System Emulator threads in struts utilities vscode vscode customization vscode extensions vscode productivity extensions xquery xquery 1.0 xquery design principles

Recent Posts

  • 15+ VSCode Extensions To Improve Your Productivity
  • Productivity and Quality Extensions for ReactJS in VSCode..
  • My goto VSCode plugins for 2022…
  • How to enable MFA for your application in Node.JS?
  • Structuring Express Application – How I do it?

Categories

  • Building APIs (8)
  • Building Mobile Apps (1)
  • Building Web Apps (7)
  • Coding Challenges (3)
  • Extensions (1)
  • Fullstack (6)
  • Patterns (8)
  • Tips & Tricks (41)
  • Uncategorized (43)
  • VSCode (2)

Tags

2022 vscode extensions Abstract Factory alienware amazing vscode extensions apple challenges coding coding-challenges Design Patterns dota2 dota2 items dynamic web service call dynamic webservice invocation enterprise integration express flex helpful vscode extensions how to implement mfa in nodejs increasing productivity using vscode integration pattern macro message channel message endpoint message pattern message router message translator messaging mfa offline action processing offline actions in struts pipes and filters PRG in struts react Steam struts System Emulator threads in struts utilities vscode vscode customization vscode extensions vscode productivity extensions xquery xquery 1.0 xquery design principles

Archives

  • August 2023 (1)
  • March 2022 (1)
  • February 2022 (1)
  • November 2020 (1)
  • April 2020 (2)
  • May 2019 (1)
  • April 2019 (1)
  • March 2019 (1)
  • December 2018 (1)
  • July 2018 (4)
  • June 2018 (3)
  • March 2018 (1)
  • May 2016 (1)
  • December 2015 (1)
  • May 2015 (1)
  • April 2015 (2)
  • March 2015 (1)
  • December 2014 (2)
  • November 2014 (2)
  • October 2014 (1)
  • August 2014 (2)
  • July 2014 (1)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (2)
  • January 2014 (1)
  • December 2013 (4)
  • November 2013 (4)
  • October 2013 (3)
  • September 2013 (4)
  • August 2013 (2)
  • July 2013 (5)
  • June 2013 (9)
  • May 2013 (6)
  • April 2013 (2)
  • March 2013 (2)
  • January 2013 (1)
  • November 2012 (2)
  • HOME
  • BLOG
  • CONTACT ME
  • DISCLAIMER & COPYRIGHTS

Copyright © 2025

%d