DotaScore
v1.0.0

API Reference

Every DotaScore endpoint, with parameters, response codes, and copy-pasteable examples. Base URL: https://api.dotascore.live

Authentication

Every request must include your API key as a bearer token. Generate one in your dashboard.

curl -H "Authorization: Bearer dks_your_key_here" \
  https://api.dotascore.live/dota2/matches/upcoming

Errors

All errors return a JSON body with a detail field.

CodeMeaning
200OK
401Missing or invalid API key
402Free trial used / monthly quota exceeded — upgrade your plan
429Rate limit exceeded (per-minute) — back off and retry after the Retry-After header
5xxServer error — please retry with exponential backoff

Matches

Live, upcoming, and past Dota 2 esports matches with PandaScore-style envelopes.

get/dota2/matches
Recent pro matches (reconciled)
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches
get/dota2/matches/{match_id}
Match detail by ID
Parameters
NameInTypeRequired
match_idpathintegeryes
formatquerystringno
enrich_liquipediaquerybooleanno
includequerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/{match_id}
get/dota2/matches/{match_id}/live_state
One-shot live-match state composite
Parameters
NameInTypeRequired
match_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/{match_id}/live_state
get/dota2/matches/{match_id}/widget
UI widget one-shot payload
Parameters
NameInTypeRequired
match_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/{match_id}/widget
get/dota2/matches/{match_id}/win_probability
Live / pre-match win probability
Parameters
NameInTypeRequired
match_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/{match_id}/win_probability
get/dota2/matches/feed
Grouped matches feed — live + upcoming by date
Parameters
NameInTypeRequired
days_backqueryintegerno
days_forwardqueryintegerno
include_oddsquerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/feed
get/dota2/matches/live/stream
Twitch streams for live matches
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/live/stream
get/dota2/matches/past
Past/finished matches
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
rawquerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/past
get/dota2/matches/running
Currently live matches
Parameters
NameInTypeRequired
rawquerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/running
get/dota2/matches/upcoming
Upcoming scheduled matches
Parameters
NameInTypeRequired
rawquerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/matches/upcoming

Bookmaker Odds

Pinnacle moneyline, spreads, totals, and per-map markets for upcoming matches.

get/dota2/odds
Dota 2 betting odds
Parameters
NameInTypeRequired
event_typequerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/odds
get/dota2/odds/movement
Price movement history for one event
Parameters
NameInTypeRequired
event_idqueryintegeryes
hoursqueryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/odds/movement
get/dota2/odds/raw
Raw Pinnacle odds payload
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/odds/raw

Teams

Pro teams, their player rosters, and recent match results.

get/dota2/teams
List pro teams
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams
get/dota2/teams/{team_id}
Team detail
Parameters
NameInTypeRequired
team_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/{team_id}
get/dota2/teams/{team_id}/matches
Team match history
Parameters
NameInTypeRequired
team_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/{team_id}/matches
get/dota2/teams/{team_id}/players
Team roster
Parameters
NameInTypeRequired
team_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/{team_id}/players
get/dota2/teams/detail/{slug}
Rich team detail: roster + extras
Parameters
NameInTypeRequired
slugpathstringyes
forcequerybooleanno
byquerystringno
fieldsquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/detail/{slug}
get/dota2/teams/form/{slug}
Recent team form with badge strip
Parameters
NameInTypeRequired
slugpathstringyes
since_daysqueryintegerno
limitqueryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/form/{slug}
get/dota2/teams/h2h/{a_slug}/vs/{b_slug}
Head-to-head between two teams
Parameters
NameInTypeRequired
a_slugpathstringyes
b_slugpathstringyes
since_daysqueryintegerno
recent_limitqueryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/h2h/{a_slug}/vs/{b_slug}
get/dota2/teams/liquipedia/{slug}
Liquipedia team roster live fetch
Parameters
NameInTypeRequired
slugpathstringyes
forcequerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/liquipedia/{slug}
get/dota2/teams/portal
Liquipedia active pro teams with rosters
Parameters
NameInTypeRequired
forcequerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/portal
get/dota2/teams/portal/{slug}
Team roster from store (fast)
Parameters
NameInTypeRequired
slugpathstringyes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/portal/{slug}
get/dota2/teams/portal/list
Liquipedia active teams list (no rosters)
Parameters
NameInTypeRequired
forcequerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/teams/portal/list

Players

Individual player profiles, MMR, and rankings.

get/dota2/players
List Pros
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
team_idquerystringno
countryquerystringno
positionquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players
get/dota2/players/{account_id}
Player Detail
Parameters
NameInTypeRequired
account_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/{account_id}
get/dota2/players/{account_id}/form
Rolling player form by account id
Parameters
NameInTypeRequired
account_idpathintegeryes
windowsquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/{account_id}/form
get/dota2/players/{account_id}/heroes
Player Hero Pool
Parameters
NameInTypeRequired
account_idpathintegeryes
limitqueryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/{account_id}/heroes
get/dota2/players/{account_id}/matches
Player Recent Matches
Parameters
NameInTypeRequired
account_idpathintegeryes
limitqueryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/{account_id}/matches
get/dota2/players/{slug}/ai-context
Bundled player context for AI-analysis prompts
Parameters
NameInTypeRequired
slugpathstringyes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/{slug}/ai-context
get/dota2/players/form/{handle}
Rolling player form (7/14/30d)
Parameters
NameInTypeRequired
handlepathstringyes
windowsquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/form/{handle}
get/dota2/players/transfers
Player Transfers Root
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/players/transfers

Leagues & Tournaments

Browse all active Dota 2 leagues and premium tournaments.

get/dota2/leagues
List leagues
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
sourcequerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues
get/dota2/leagues/{league_id}
League By Id
Parameters
NameInTypeRequired
league_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}
get/dota2/leagues/{league_id}/detail
League Detail
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail
get/dota2/leagues/{league_id}/detail/brackets
Tournament brackets
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/brackets
get/dota2/leagues/{league_id}/detail/broadcast
Tournament broadcasts
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/broadcast
get/dota2/leagues/{league_id}/detail/infobox
Tournament infobox
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/infobox
get/dota2/leagues/{league_id}/detail/matches
League Detail Matches
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/matches
get/dota2/leagues/{league_id}/detail/participants
Tournament participants
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/participants
get/dota2/leagues/{league_id}/detail/prize-pool
Tournament prize pool breakdown
Parameters
NameInTypeRequired
league_idpathintegeryes
liquipediaquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/detail/prize-pool
get/dota2/leagues/{league_id}/prize-pool
League Prize Pool
Parameters
NameInTypeRequired
league_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/prize-pool
get/dota2/leagues/{league_id}/state
Live tournament state in one hop
Parameters
NameInTypeRequired
league_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/leagues/{league_id}/state
get/dota2/liquipedia/tournament
Liquipedia Tournament By Slug
Parameters
NameInTypeRequired
slugquerystringyes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/liquipedia/tournament
get/dota2/tournaments
Tournaments
Parameters
NameInTypeRequired
pagequeryintegerno
per_pagequeryintegerno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/tournaments
get/dota2/tournaments/{slug}/qualifiers
Tournament Qualifiers
Parameters
NameInTypeRequired
slugpathstringyes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/tournaments/{slug}/qualifiers
get/dota2/tournaments/portal
Tournaments Portal
Parameters
NameInTypeRequired
sectionquerystringno
tierquerystringno
include_qualifiersquerybooleanno
include_show_matchesquerybooleanno
limitquerystringno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/tournaments/portal
get/dota2/tournaments/portal/grouped
Tournaments Portal Grouped
Parameters
NameInTypeRequired
tierquerystringno
include_show_matchesquerybooleanno
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/tournaments/portal/grouped

Heroes & Items

Reference data for all 127 heroes and the entire item catalog.

get/dota2/heroes
All heroes
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/heroes
get/dota2/heroes/{hero_id}
Hero
Parameters
NameInTypeRequired
hero_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/heroes/{hero_id}
get/dota2/heroes/icons
Heroes Icons
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/heroes/icons
get/dota2/heroes/meta
Heroes Meta
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/heroes/meta
get/dota2/items
All items
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/items
get/dota2/items/{item_id}
Item detail
Parameters
NameInTypeRequired
item_idpathintegeryes
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/items/{item_id}
get/dota2/patch
Current Patch
Parameters
NameInTypeRequired
authorizationheaderstringno
Show curl example
curl -H "Authorization: Bearer dks_your_key" \
  https://api.dotascore.live/dota2/patch