Dota 2 API

Dota 2 API for Live Matches, Player Stats & Spider Graphs

Build Dota 2 dashboards, Discord bots, player profiles, fantasy tools, and esports apps with live schedules, match data, player stats, hero history, team rosters, and percentile-based radar scores through one fast REST API.

Built for: Discord bots · Match centers · Player profiles · Fantasy tools · Team dashboards · Betting research · Draft analysis
Live schedulePlayer rowsHero statsRadar percentiles
4nalog Dota 2 player

Dota 2 API sample

4nalog

HEROIC · mid · Puck

Role radar profile

Hover points for percentile scores

mid
FarmingDamageSurvivalObjectiveHeroTeamfight

Player match sample

/player-stats

KDA

7.33

GPM

642

XPM

781

LH@10

82

Hero DMG

28,640

Tower DMG

1,460

1win Essence

Game 1

4nalog

HEROIC · Puck

9/3/13642 GPM
L

Lelis

HEROIC · Clockwerk

3/5/19318 GPM
D

Davai Lama

Nigma Galaxy · Axe

6/4/12512 GPM

Authenticated endpoint behind this sample

/dota2/players/295547/radar?role=mid&window=90d

Dota data coverage

What Dota 2 Data Can You Access?

Concrete Dota 2 esports data developers can use for bots, dashboards, profile pages, fantasy pricing, analytics tools, and match centers.

Live Dota 2 matches and in-progress match status
Upcoming Dota 2 schedule and recent match results
Match games, score context, duration, and draft data
Player match stats: kills, deaths, assists, GPM, XPM, KDA, damage, tower damage, and LH@10
Dota 2 player radar / spider graph scores normalized into 0-100 percentiles
Team rosters, team match history, team stats, and team radar scores
Hero stats, hero history, leaderboards, tournaments, standings, and search
Availability metadata when a source does not publish enough rows for a field

5 min

live/upcoming Dota sync cadence

500

free API calls/month to test

$25

starter paid plan, no contract

Developer endpoints

Dota endpoints built for real product screens

Start with live matches, build a match center, then layer in player rows, leaderboards, team profiles, and percentile radar outputs when your app needs premium data displays.

GET/v1/dota2/matches/live

Active Dota 2 matches and live status for bots and match centers.

GET/v1/dota2/matches/upcoming

Upcoming schedule data for tournament calendars and Discord commands.

GET/v1/dota2/matches/{matchId}

Series-level match details, teams, score, tournament, and source context.

GET/v1/dota2/matches/{matchId}/games

Game-by-game rows with duration, side data, and compact OpenDota enrichment.

GET/v1/dota2/matches/{matchId}/player-stats

Player stat rows by match: KDA, GPM, XPM, damage, tower damage, heroes, and more.

GET/v1/dota2/players/{playerId}/radar?role=carry&window=90d

Percentile spider graph scores for player profiles and premium stat cards.

GET/v1/dota2/teams/{teamId}/radar

Team radar scores for farming, teamfighting, objective control, and draft diversity.

GET/v1/dota2/leaderboards/gpm

Metric leaderboards for GPM, XPM, KDA, damage, kill participation, LH@10, and more.

Fetch a Dota player spider graph

const response = await fetch(
  "https://api.citoapi.com/api/v1/dota2/players/{playerId}/radar?role=carry&window=90d",
  {
    headers: {
      "x-api-key": process.env.CITO_API_KEY
    }
  }
);

const radar = await response.json();
console.log(radar.data.scores);

Dota 2 data should not require an enterprise contract.

Start with a free key instead of waiting on sales calls or contract minimums.

Use authenticated REST endpoints while public demos stay sanitized and safe.

Show premium visuals like player radar graphs without building your own scoring layer first.

Use cases

Built for developers shipping Dota 2 products

Dota 2 Discord bots

Return live matches, upcoming schedules, match scores, and quick player stat cards from slash commands.

Player profile pages

Build premium player pages with heroes, match history, raw stat rows, and radar/spider graph percentiles.

Match centers

Show series context, game rows, draft data, score state, top players, and post-match stat tables.

Fantasy and pricing tools

Use KDA, GPM, XPM, damage, tower damage, kill participation, and percentile outputs as model inputs.

Team dashboards

Compare rosters, schedules, team radar scores, objective control, draft diversity, and teamfight profiles.

Analytics pipelines

Pull normalized REST JSON into your database without maintaining a fragile Dota esports scraper.

Compare the workflow

The builder-first Dota API layer

OpenDota and STRATZ are respected Dota data projects. Cito focuses on the app-builder workflow: simple REST, self-serve pricing, multi-esport coverage, and product-ready endpoints.

DIY scrapers

Fragile selectors, cron jobs, proxies, and no support when pages change.

Enterprise APIs

Strong data, but sales calls and pricing that can block indie projects.

Cito API

Free testing, paid plans from $25/month, REST JSON, and Dota spider graph outputs.

Plans

Start free. Upgrade when your Dota project is live.

Free

$0

500 requests/month for testing and prototypes.

Starter

$25/mo

For live Discord bots, profile pages, and small dashboards.

Pro

$50/mo

For higher-volume dashboards, bots, and webhook workflows.

Questions developers ask

Is there a Dota 2 API for developers?

Yes. Cito API provides Dota 2 esports endpoints for matches, live status, upcoming schedule, teams, rosters, players, match stats, hero stats, leaderboards, and radar scores.

Does Cito API include live Dota 2 matches?

Yes. The Dota 2 sync includes a 5-minute live/upcoming refresh for active match windows, upcoming schedules, recent results, and enriched stats where available.

Can I get Dota 2 player stats by match?

Yes. Match player stat endpoints expose player rows with kills, deaths, assists, GPM, XPM, KDA, last hits, LH@10, hero damage, tower damage, and other fields where the source publishes them.

Does the API support Dota 2 spider graphs or player radar scores?

Yes. Player radar endpoints return 0-100 percentile scores for role-specific spider graphs such as carry, mid, offlane, and support.

Is Cito API cheaper than enterprise esports APIs?

Yes. Cito API is built as a self-serve builder-first esports API with free testing and paid plans from $25/month.

Can I test the Dota 2 API for free?

Yes. You can create a free Cito API key and test Dota 2 endpoints with 500 requests/month before upgrading.

Start building with Dota 2 data today

Create a free key, test Dota endpoints, and upgrade only when your bot, dashboard, or player profile needs more volume.