https://github.com/booxood/node-dota2-api
Dota2 web api node.js version
https://github.com/booxood/node-dota2-api
api dota2 dota2-api javascript nodejs
Last synced: 8 months ago
JSON representation
Dota2 web api node.js version
- Host: GitHub
- URL: https://github.com/booxood/node-dota2-api
- Owner: booxood
- License: mit
- Created: 2014-11-09T12:24:46.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2022-01-22T16:05:51.000Z (over 4 years ago)
- Last Synced: 2025-09-14T15:44:24.978Z (9 months ago)
- Topics: api, dota2, dota2-api, javascript, nodejs
- Language: JavaScript
- Size: 26.4 KB
- Stars: 43
- Watchers: 5
- Forks: 11
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dota2 Web Api
[](https://travis-ci.org/booxood/node-dota2-api)
[](https://coveralls.io/r/booxood/node-dota2-api)
**IMPORTANT: API is based on promises from v0.2.0**
Dota2 web api node.js version.See detail [here](https://wiki.teamfortress.com/wiki/WebAPI#Dota_2)
## Install
```
npm install dota2-api
```
Example:
```javascript
const Dota2Api = require('dota2-api');
const da = Dota2Api.create('a key');
const options = {game_mode: 1};
da.getMatchHistory(options).then((result) => {
console.log(result);
}, (errorResponseStatusText) => {
console.log(errorResponseStatusText);
});
```
## API
**Methods relating to Dota 2 matches.**
### Dota2Api.create(key, [ID])
Create Dota2Api instance,require a key.(if no, see [here](http://steamcommunity.com/dev/apikey))
List of IDs:
- 570 Dota 2 (**default**)
- 816 Dota 2 internal test
- 205790 Dota 2 (beta) test
```javascript
const da = Dota2Api.create('a key', 570);
```
### Dota2Api.prototype.getLeagueListing([options])
Information about DotaTV-supported leagues.
Options:
- **leagueid (Optional) (int)** – The ID of the league to get the prize pool of.
### Dota2Api.prototype.getLiveLeagueGames()
A list of in-progress league matches, as well as details of that match as it unfolds.
### Dota2Api.prototype.getMatchDetails([options])
Information about a particular match.
Options:
- **match_id (string)** – Match id
### Dota2Api.prototype.getMatchHistory([options])
A list of matches, filterable by various parameters.
Options:
- **hero_id (Optional) (uint32)** – A list of hero IDs can be found via the GetHeroes method.
- **game_mode (Optional) (uint32)**
- 0 - None
- 1 - All Pick
- 2 - Captain's Mode
- 3 - Random Draft
- 4 - Single Draft
- 5 - All Random
- 6 - Intro
- 7 - Diretide
- 8 - Reverse Captain's Mode
- 9 - The Greeviling
- 10 - Tutorial
- 11 - Mid Only
- 12 - Least Played
- 13 - New Player Pool
- 14 - Compendium Matchmaking
- 16 - Captain's Draft
- **skill (Optional) (uint32)** – Skill bracket for the matches (Ignored if an account ID is specified).
- 0 - Any
- 1 - Normal
- 2 - High
- 3 - Very High
- **date_min (Optional) (uint32)** – Minimum date range for returned matches (unix timestamp, rounded to the nearest day).
- **date_max (Optional) (uint32)** – Maximum date range for returned matches (unix timestamp, rounded to the nearest day).
- **min_players (Optional) (string)** – Minimum amount of players in a match for the match to be returned.
- **account_id (Optional) (string)** – 32-bit account ID.
- **league_id (Optional) (string)** – Only return matches from this league. A list of league IDs can be found via the GetLeagueListing method.
- **start_at_match_id (Optional) (string)** - Start searching for matches equal to or older than this match ID.
- **matches_requested (Optional) (number)** – Amount of matches to include in results (default: 25).
- **tournament_games_only (Optional) (string)** – Whether to limit results to tournament matches. (0 = false, 1 = true)
### Dota2Api.prototype.getMatchHistoryBySequenceNum([options])
A list of matches ordered by their sequence num.
Options:
- **start_at_match_seq_num (Optional) (uint64)** – The match sequence number to start returning results from.
- **matches_requested (Optional) (uint32)** – The amount of matches to return.
### Dota2Api.prototype.getScheduledLeagueGames([options])
A list of scheduled league games coming up.
Options:
- **date_min (Optional) (uint32)** – Unix timestamp
- **date_max (Optional) (uint32)** – Unix timestamp
### Dota2Api.prototype.getTeamInfoByTeamID([options])
A list of all the teams set up in-game.
Options:
- **start_at_team_id (Optional) (uint64)** – The team id to start returning results from.
- **teams_requested (Optional) (uint32)** – The amount of teams to return.
### Dota2Api.prototype.getTournamentPlayerStats([options])
Stats about a particular player within a tournament.
Options:
- **account_id (string)** – 32-bit account ID.
- **league_id (Optional) (string)** – A list of league IDs can be found via the GetLeagueListing method. Will return status 8 - only supports tournament 65006 (The International) unless you provide 65006.
- **hero_id (Optional) (string)** – A list of hero IDs can be found via the GetHeroes method.
- **time_frame (Optional) (string)** – Only return stats between this time frame (parameter format not yet known).
### Dota2Api.prototype.getTopLiveGame([options])
Options:
- **partner (int32)** – Which partner's games to use.
**Methods relating to Dota 2.**
### Dota2Api.prototype.getGameItems([options])
Dota 2 In-game items
Options:
- **language (Optional) (string)** – The language to provide hero names in.
### Dota2Api.prototype.getItemIconPath([options])
Options:
- **iconname (string)** – The item icon name to get the CDN path of
- **icontype (Optional) (uint32)** – The type of image you want.
- 0 = normal
- 1 = large
- 2 = ingame
### Dota2Api.prototype.getRarities([options])
Dota 2 item rarity list.
Options:
- **language (Optional) (string)** – The language to provide hero names in.
### Dota2Api.prototype.getHeroes([options])
A list of heroes within Dota 2.
Options:
- **language (Optional) (string)** – The language to provide hero names in.
- **itemizedonly (Optional) (bool)** – Return a list of itemized heroes only.
### Dota2Api.prototype.getTournamentPrizePool([options])
The current prizepool for specific tournaments.
Options:
- **leagueid (Optional) (int)** – The ID of the league to get the prize pool of.
## TODO:
Implement this methods(https://wiki.teamfortress.com/wiki/WebAPI#Dota_2):
IEconDOTA2_
- GetEventStatsForAccount
IDOTA2MatchStats_
- GetRealtimeStats
IDOTA2Fantasy_
- GetFantasyPlayerStats
- GetPlayerOfficialInfo
IDOTA2StreamSystem_
- GetBroadcasterInfo
IDOTA2Teams_
- GetTeamInfo
IDOTA2AutomatedTourney_
- GetActiveTournamentList
IDOTA2Ticket_
- SetSteamAccountPurchased
- SteamAccountValidForEvent
## License
[The MIT License](https://github.com/booxood/node-dota2-api/blob/master/LICENSE)