Skip to main content
๐Ÿ›ก๏ธ Esports Odds API

Dota 2 Odds API

A real-time Dota 2 odds API covering The International, the Majors, PGL, DreamLeague and 240+ tournaments worldwide. Map-level odds and MOBA-specific markets from 265+ bookmakers.

265+
Bookmakers
9+
Tournaments
~1s
Live Scores
99.9%
Uptime

Dota 2 Tournaments Covered

From tier-1 events to regional qualifiers, we cover Dota 2 across the competitive calendar.

The InternationalDota MajorsPGL WallachiaDreamLeagueESL OneBetBoom DachaFISSURE UniverseRiyadh MastersDPC Regional Leagues

Plus 240 more events

Betting Markets & Features

Comprehensive Dota 2 betting data coverage

๐Ÿ“ˆ Betting Markets

  • Match Winner (Moneyline)
  • Map / Game Handicap
  • Total Maps (Over/Under)
  • Correct Series Score
  • First Blood
  • First Tower / Turret
  • First Baron / Roshan
  • Total Kills Over/Under
  • Map 1 / Map 2 Winner
  • Race to 10 Kills

โœ“ API Features

  • Real-time esports odds from 265+ bookmakers
  • Live in-play odds with ~1 second updates
  • Live scores & match status over WebSocket
  • Pre-match & live coverage in one API
  • Map & period-level scores (ft / ot / ap keys)
  • Historical esports odds data available

Top Dota 2 Bookmakers

Get odds from the most popular sportsbooks covering Dota 2

Bet365

GG.BET

Thunderpick

Rivalry

Betway

1xBet

Stake

Unibet

Betano

View All 265+ Bookmakersโ†’

Get Dota 2 Odds in Minutes

Simple REST API with JSON responses. Live scores stream over WebSocket.

Get Dota 2 Events & OddsPython
import requests

API_KEY = "your_api_key"

# Get upcoming Dota 2 events
events = requests.get(
    "https://api.odds-api.io/v3/events",
    params={"apiKey": API_KEY, "sport": "esports"}
).json()

# Get odds for an event
odds = requests.get(
    "https://api.odds-api.io/v3/odds",
    params={
        "apiKey": API_KEY,
        "eventId": events[0]["id"],
        "bookmakers": "Bet365,GG.BET,Thunderpick"
    }
).json()

print(f"Found {len(events)} esports events")
print(f"Odds: {odds}")
Live scores over WebSocketWebSocket
// Subscribe to live Dota 2 scores & status
const ws = new WebSocket(
  "wss://api.odds-api.io/v3/ws?apiKey=YOUR_KEY&channels=odds,scores,status"
);

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  // { "type": "score", "id": "58231904", "status": "live",
  //   "scores": { "home": 2, "away": 1,
  //               "periods": { "p1": { "home": 1, "away": 0 } } } }
  console.log(msg.type, msg.scores);
};

Popular Use Cases for Dota 2 Odds API

Esports Betting AppsOdds Comparison SitesArbitrage DetectionTrading AlgorithmsEsports AnalyticsDiscord & Telegram Bots

Dota 2 Odds API FAQ

Common questions about our Dota 2 odds API

Which Dota 2 tournaments does the API cover?

We cover Dota 2 from tier-1 events down to regional qualifiers, including The International, the Majors, PGL and DreamLeague. After the 2026 esports expansion we serve 550+ upcoming esports matches across 15 titles, up 8x from before.

Is the Dota 2 odds data live and in-play?

Yes. The API delivers pre-match and live in-play Dota 2 odds, with live odds refreshing in roughly one second. Live scores and match status (added, live, settled, cancelled) also stream over WebSocket on the scores and status channels.

Which Dota 2 markets are available?

Match winner, map/game handicap, total maps, correct series score, first blood, first tower, first Roshan, total kills and per-map winners are all covered where the bookmaker prices them.

How do I get started with the Dota 2 odds API?

Sign up for a free API key (no credit card required), then call /v3/events?sport=esports to list Dota 2 matches and /v3/odds for prices. You can be pulling live Dota 2 odds in under five minutes.

Explore Other Esports Titles

Access odds across 15 esports titles through Odds-API.io

Start Using Dota 2 Odds API Today

Join 10,000+ developers using Odds-API.io for real-time esports betting data

โœ“No credit card requiredโœ“5,000 requests/hour