dotabuff.com APIdotabuff.com ↗
Access Dota 2 hero win rates, pick rates, lane stats, and meta trends from Dotabuff via a structured JSON API. Covers all heroes across 4 endpoints.
curl -X GET 'https://api.parse.bot/scraper/2681d69f-48c3-45f1-b935-d6053f4e33fa/get_heroes_overview?view=winning' \ -H 'X-API-Key: $PARSE_API_KEY'
Get an overview of heroes with statistics like win rate, pick rate, and ban rate. Supports multiple views including winning, played, facets, lanes, damage, and economy.
| Param | Type | Description |
|---|---|---|
| view | string | The view to fetch. Accepted values: facets, winning, played, lanes, damage, economy. |
{
"type": "object",
"fields": {
"view": "string indicating the selected view",
"heroes": "array of hero objects with hero_slug, hero_name, win_rate, pick_rate, and values",
"total_heroes": "integer count of heroes returned"
},
"sample": {
"data": {
"view": "winning",
"heroes": [
{
"values": [
"Spectre",
"55.03%",
"9.88%"
],
"win_rate": "55.03%",
"hero_name": "Spectre",
"hero_slug": "spectre",
"pick_rate": "9.88%",
"extra_stat": "4.09"
}
],
"total_heroes": 127
},
"status": "success"
}
}About the dotabuff.com API
The Dotabuff API exposes Dota 2 hero performance data across 4 endpoints, covering win rates, pick rates, ban rates, lane statistics, attribute breakdowns, and meta trend deltas. The get_heroes_overview endpoint supports six distinct views — including lanes, damage, and economy — while get_hero_details returns per-hero base stats, roles, and popular item win rates. Draft analysts, tier list tools, and coaching platforms can pull structured data without maintaining their own scrapers.
Hero Overview and Views
The get_heroes_overview endpoint accepts an optional view parameter with six accepted values: winning, played, facets, lanes, damage, and economy. Each view returns an array of hero objects with hero_slug, hero_name, win_rate, pick_rate, and a values field whose contents vary by view. The response also includes a total_heroes count. Omitting the view parameter returns the default overview.
Per-Hero Detail
get_hero_details takes a hero_slug string (e.g., axe, storm-spirit, outworld-destroyer) and returns the hero's display name, role array, base attribute stats with growth values for strength, agility, and intelligence, and a popular_items array. Each item entry includes name, matches, and win_rate, making it useful for identifying high-confidence item builds at scale.
Lane Statistics
get_lane_stats accepts a lane parameter — mid, off, safe, jungle, or roaming — and returns per-hero metrics for that lane: presence, win_rate, kda, gpm, and xpm. This allows direct lane-specific comparisons across all heroes, which is more granular than the aggregate views in get_heroes_overview.
Meta Trends
get_meta_trends takes no inputs and returns a ranked list of heroes ordered by the magnitude of recent change. Each entry in the trends array carries a win_rate object with start, current, and change fields, plus an equivalent pick_rate object. The total_trends integer confirms how many heroes are tracked in the current period.
- Build a hero tier list ranked by current win rate using
get_heroes_overviewwith thewinningview - Identify meta shifts by tracking
win_rate.changeandpick_rate.changefromget_meta_trends - Populate a draft assistant with role data and popular items from
get_hero_details - Compare lane-specific GPM and XPM across all heroes for a given lane using
get_lane_stats - Generate patch impact reports by comparing current vs. start win rates from the trends endpoint
- Display per-hero attribute growth (strength, agility, intelligence) in a hero reference app
- Rank heroes by presence in a specific lane to surface off-meta picks with positive win rates
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Dotabuff have an official developer API?+
What does the `view` parameter in `get_heroes_overview` actually change in the response?+
values field on each hero object. For example, lanes surfaces lane-oriented breakdowns, while economy returns economy-related metrics. The hero_slug, hero_name, win_rate, and pick_rate fields are present across all views; only the values payload shifts.Does `get_hero_details` return skill builds or ability data?+
get_hero_details covers base attributes (strength, agility, intelligence with growth), roles, and popular items with match counts and win rates. It does not include skill build recommendations or ability descriptions. You can fork this API on Parse and revise it to add an endpoint targeting ability and skill-order data.Are player-level or match-level statistics available through this API?+
How current is the data returned by `get_meta_trends`?+
start and current values so you can see the window being compared, but the API does not expose a specific timestamp for when the underlying figures were last updated.