DotaScore is live: the esports Dota 2 API for builders
Today we're launching DotaScore — a single REST API for live matches, fixtures, bookmaker odds, and post-match boxscores in Dota 2 esports.
Today we're launching DotaScore, the esports Dota 2 API we wished existed when we started building fantasy and analytics products: one bearer token, one base URL, every meaningful piece of data about competitive Dota 2.
What's in the box
- Live matches — currently-running tournament games with team IDs, scores, and live status
- Upcoming fixtures — scheduled pro matches across Premier Series, ESL, DreamLeague, BetBoom, and the Pro League circuit
- Bookmaker odds — moneyline, spreads, totals, and per-map markets refreshed continuously
- Post-match boxscores — picks/bans, teamfights, hero picks, KDA, GPM/XPM
- Heroes & items — full official datafeed for all 127 heroes and the entire item catalog
- Players & teams — pro rosters, MMR, country, recent results
- Leagues & tournaments — every active league with metadata
Pricing built for indie devs
We watched too many friends abandon Dota 2 side-projects because the existing data sources cost more than their personal cloud bill. So we set DotaScore's prices intentionally low:
| Plan | Price | Calls/mo |
|---|---|---|
| Free | ₱0 | 1 per endpoint (try every route) |
| Starter | ₱8,999 | 100,000 |
| Pro | ₱17,999 | 1,000,000 |
| Business | ₱39,999 | 10,000,000 |
The Free plan exists so you can curl every endpoint exactly once — confirm the shape of the JSON, decide if it fits your project, then upgrade only when you actually need volume.
A clean JSON envelope
Every match endpoint returns the same shape regardless of whether the match is upcoming, live, or finished:
{
"id": "1627307266",
"name": "Spirit vs Nigma Galaxy",
"league": { "id": "4203", "name": "Dota 2 - Premier Series" },
"begin_at": "2026-04-08T11:14:00+00:00",
"opponents": [...],
"results": [...],
"money_line": { "home": 1.45, "away": 2.85 }
}
No special-casing live vs scheduled. No splitting your client into three branches. Just one record type.
Get started
- Create a free account
- Generate an API key in your dashboard
- Read the API docs and start calling
Questions? Reply to your welcome email — we read every one.
— The DotaScore team