get_heroes_played
Analyze a Dota 2 player's hero pool with per-hero win rates, games played, and last played dates. Use filters like lane role or specific hero to focus performance insights.
Instructions
Get detailed statistics for all heroes a player has played, with performance metrics.
Use this when users ask about HERO POOLS or HERO PERFORMANCE:
"What heroes does [player] play?"
"Show me [player]'s hero pool"
"Which heroes is [player] best at?"
"What's [player]'s most played hero?"
"How good is [player] at Rubick?"
"What heroes does [player] play in mid lane?"
"When did [player] last play Invoker?"
This returns detailed stats for EACH hero (win rate, games played, last played date). For simple win/loss totals without hero breakdown, use get_player_win_loss() instead.
Supports both IDs and natural language for flexible querying.
Args: player_name: The Dota 2 player name to search for limit: Maximum number of heroes to return (default: all heroes) offset: Skip first N heroes in results (for pagination) lane_role: Filter by lane (accepts "mid", "carry", "offlane", "pos 1-4", etc.) hero_id: Focus on specific hero only (accepts name or ID) included_account_id: Only include matches with these teammates (accepts names or IDs) 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, single or list) against_hero_id: Require these heroes on enemy team (accepts IDs or names, single or list) having: Minimum games played threshold to include a hero in results
Returns: List of hero statistics (sorted by games played, descending), each containing: - hero_id (str): Hero name (localized, e.g., "Rubick") - last_played (str): Date string (e.g., "December 09, 2024") - wins (int): Number of wins with this hero - games_played (int): Total games with this hero - win_rate (str): Win percentage as string (e.g., "65.3")
Common queries: - Most played heroes: get_heroes_played("kürlo") - Top 5 heroes: get_heroes_played("kürlo", limit=5) - Mid lane heroes: get_heroes_played("kürlo", lane_role="mid") - Heroes with 10+ games: get_heroes_played("kürlo", having=10) - Performance vs Pudge: get_heroes_played("kürlo", against_hero_id="Pudge") - Specific hero stats: get_heroes_played("kürlo", hero_id="Rubick")
Example: get_heroes_played("kürlo", lane_role="mid", having=5) -> [ {"hero_id": "Rubick", "last_played": "December 09, 2024", "wins": 42, "games_played": 80, "win_rate": "52.5"}, {"hero_id": "Invoker", "last_played": "December 05, 2024", "wins": 15, "games_played": 25, "win_rate": "60.0"}, ... ]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| having | 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 |
|---|---|---|---|
| result | Yes |