Gaming
OpenDota logo

OpenDota API

opendota.com

Dota 2 statistics - match details, hero stats, leaderboards, and pro player data.

Actions
6
Category
Gaming
Login
Not required
Output
JSON

Call the OpenDota API

Submit a task, then poll the job until it settles. This example runs act_opendota_hero_leaderboard_rankings.

curl -X POST https://api.anakin.io/v1/wire/task \
  -H "X-API-Key: $ANAKIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "act_opendota_hero_leaderboard_rankings",
    "params": {
      "hero_id": 102
    }
  }'

6 actions on opendota.com

Read

  • Hero Leaderboard Rankings

    act_opendota_hero_leaderboard_rankingsread1 credit / call

    Returns the top-ranked players by MMR for a given Dota 2 hero.

    hero_id
    integer · required
  • Hero Stats Catalog

    act_opendota_hero_stats_catalogread1 credit / call

    Returns aggregate pick rates, win rates, and base stats for all Dota 2 heroes.

  • Match Details

    act_opendota_match_detailread1 credit / call

    Returns full details for a Dota 2 match with players, teams, picks, bans, and outcome.

    match_id
    string · required
  • Pro Matches Listing

    act_opendota_pro_matches_listingread1 credit / call

    Returns recent professional Dota 2 matches with teams, league, scores, and series info.

  • Pro Players Directory

    act_opendota_pro_players_directoryread1 credit / call

    Returns professional Dota 2 players with their account, profile, and team affiliation.

  • Public Matches Listing

    act_opendota_public_matches_listingread1 credit / call

    Returns recent public Dota 2 matches filtered by minimum average rank tier.

    min_rank
    integer

OpenDota API questions

Is there an API for OpenDota?
OpenDota does not offer a public data API for this, but Anakin Wire provides 6 maintained endpoints for opendota.com. You call Anakin's REST API with an action ID and parameters and get structured JSON back; Anakin handles the browser, proxies, anti-bot, and parsing.
How do I scrape OpenDota data?
POST to https://api.anakin.io/v1/wire/task with your API key, the action ID, and its parameters, then poll GET /v1/wire/jobs/{id} until the job settles. There is nothing to install and no scraper to maintain — when opendota.com changes its markup, Anakin updates the action.
Do I need a OpenDota account?
No. Every OpenDota action listed here runs anonymously — no account and no credentials required.
What does the OpenDota API cost?
Usage-based credits, charged per call and refunded automatically when a job fails. New accounts start with 300 free credits and no card. See anakin.io/pricing for the current rates.

More Gaming APIs

All Gaming sites