get_player_win_loss
Retrieve a Dota 2 player's win/loss record with filters for hero, lane, teammates, and opponents. Get precise win and loss counts for any query.
Instructions
Get simple win/loss counts for a player with optional filters.
Use this when users ask about WIN RATES or WIN/LOSS RECORDS:
"What's [player]'s win rate?"
"How many games has [player] won?"
"What's [player]'s win rate with Rubick?"
"How does [player] perform in mid lane?"
"What's [player]'s win rate when playing with [teammate]?"
"How does [player] do against Pudge?"
Returns ONLY win and loss counts. For detailed hero statistics with dates and performance metrics, use get_heroes_played() instead. For aggregate statistics like GPM/XPM/KDA, use get_player_totals() instead.
Supports both IDs and natural language for flexible querying.
Args: player_name: The Dota 2 player name to search for limit: Number of matches to limit analysis to offset: Skip first N matches (for pagination) lane_role: Lane filter. Accepts: - Integer: 1 (Safe), 2 (Mid), 3 (Off), 4 (Jungle) - String: "mid", "safe lane", "offlane", "jungle", "carry", "pos 1", etc. hero_id: Hero filter. Accepts: - Integer: Hero ID (e.g., 86 for Rubick) - String: Hero name (e.g., "Rubick", "Anti-Mage") included_account_id: Filter by teammate. Accepts: - String: Player name (e.g., "hotpocalypse") - List[String]: Multiple player names (games with ANY of these players) excluded_account_id: Exclude matches with these players (accepts names or IDs) with_hero_id: Require these heroes on player's team (accepts IDs or names) against_hero_id: Require these heroes on enemy team. Accepts: - Integer/String: Single hero ID or name - List: Multiple hero IDs or names
Returns: Dictionary with exactly two fields: - win (int): Number of wins matching the filters - lose (int): Number of losses matching the filters
Common queries: - Overall record: get_player_win_loss("kürlo") - Hero-specific: get_player_win_loss("kürlo", hero_id="Rubick") - Lane-specific: get_player_win_loss("kürlo", lane_role="mid") - With teammate: get_player_win_loss("kürlo", included_account_id="hotpocalypse") - Vs counter: get_player_win_loss("kürlo", hero_id="Rubick", against_hero_id="Pudge")
Example: get_player_win_loss("kürlo", lane_role="mid", hero_id="Rubick") -> {"win": 42, "lose": 38}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| hero_id | No | ||
| lane_role | No | ||
| player_name | Yes | ||
| with_hero_id | No | ||
| against_hero_id | No | ||
| excluded_account_id | No | ||
| included_account_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||