Skip to main content

Dota 2 API wrapper and parser in Python

Project description

Join the chat at

Wrapper and parser in Python created for interacting and getting data easily from Valve’s Dota 2 API. It supports Python versions 2.6 to 2.7+, 3.2 to 3.5+ along with PyPy/PyPy3

This library parses some ID’s into the dictionary keys like hero_name and so on. See src.parse for details.

This also comes with a growing set of tests and some documentation for the API itself.

Look how easy it is…

>>> import dota2api
>>> api = dota2api.Initialise("API_KEY")
>>> hist = api.get_match_history(account_id=41231571)
>>> match = api.get_match_details(match_id=1000193456)
>>> match['radiant_win']

You can even store your API key as an environment variable instead of passing it through Initialise() to save some finger work.

$  export D2_API_KEY=83247983248793298732


Install via pip…

$ pip install dota2api

Or the old fashioned way…

$ git clone
$ cd dota2api
$ python install


Documentation is available at

Supported API calls

  • get_match_history
  • get_match_history_by_seq_num
  • get_match_details
  • get_player_summaries
  • get_league_listing
  • get_live_league_games
  • get_team_info_by_team_id
  • get_heroes
  • get_tournament_prize_pool
  • get_game_items
  • get_top_live_games


  • EconomySchema

Run the tests

Using nose and nose-cov:

$ nosetests --with-cov --cov-report html dota2api tests

To install them do the following:

$ pip install nose nose-cov

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (36.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page