get_player_histogram
Get a distribution of a selected stat across a player's matches. Filter by hero, game mode, patch, or win/loss to analyze performance patterns.
Instructions
Distribution of one stat for a player, e.g. wins per x-value. Common fields: kills, deaths, assists, gold_per_min, xp_per_min, last_hits, hero_damage, duration, lane_role, leaver_status, game_mode.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| win | No | 1 = wins only, 0 = losses only. | |
| date | No | Only matches from the last N days. | |
| sort | No | Sort results by this field, descending (e.g. 'start_time'). | |
| field | Yes | Stat field to histogram, e.g. 'kills', 'gold_per_min', 'duration'. | |
| limit | No | Max results to return. | |
| patch | No | Patch id filter (e.g. from get_constants patch). | |
| having | No | Min games played (used by hero-stat tools). | |
| offset | No | Skip this many results (pagination). | |
| region | No | Region id filter. | |
| hero_id | No | Only matches on this hero id. | |
| game_mode | No | Game mode id filter (e.g. 22 = Ranked All Pick). | |
| lane_role | No | Lane role: 1=Safe, 2=Mid, 3=Off, 4=Jungle. | |
| account_id | Yes | Steam32 account id (the number after /players/ in an OpenDota profile URL, or from search_players). | |
| is_radiant | No | 1 = Radiant side only, 0 = Dire only. | |
| lobby_type | No | Lobby type id filter (e.g. 7 = Ranked). | |
| significant | No | 0 (this server's default) includes ALL game modes including Turbo; 1 = only standard/ranked-style modes (OpenDota's own default, which hides Turbo). | |
| with_hero_id | No | Only matches with these heroes on the player's team. | |
| against_hero_id | No | Only matches against these heroes. | |
| excluded_account_id | No | Exclude matches where these account ids played. | |
| included_account_id | No | Only matches where these account ids played. |