Dota 2 schedule API
Free key · paid plans from $25/mo

Dota 2 schedule API for upcoming matches, live state, and tournament calendars.

Pull upcoming Dota 2 matches, start times, teams, tournaments, and match status for calendars, Discord bots, fantasy lock screens, and match centers.

No sales call. No contract. Start with 500 free requests/month, then upgrade when you need production volume.

Upcoming matchesTournament contextTeam rowsLive fallbacks
Dota 2 API Coverage
LILive matches
Ready
Endpoint/matches/liveProduct FitMatch centers
PLPlayer stats
Ready
Endpoint/players/{id}/statsProduct FitProfiles
HEHero pools
Ready
Endpoint/players/{id}/heroesProduct FitScouting
TETeam rosters
Ready
Endpoint/teams/{id}/rosterProduct FitTeam pages
PRPrize pools
Ready
Endpoint/tournaments/{id}Product FitEvent pages

Need match times?

Use schedule endpoints for upcoming matches, calendars, bots, and fantasy lock screens.

Get a free API key

Schedule data

Dota 2 schedules without scraping tournament pages

Give users the next match, the tournament, the start time, and the teams from one REST call.

Upcoming Dota 2 matches with team and tournament context
Live, upcoming, and recent fallbacks for empty match days
Start times your app can turn into countdowns and calendar rows
Match IDs that connect schedule cards to match detail pages
Team names, short names, scores, status, and source context where available
Bot-friendly JSON for /dota-schedule and /dota-live commands

Schedule endpoints

Endpoints for Dota 2 calendars and match lists

Start with upcoming matches, then hydrate cards with match details when a user clicks through.

GET/api/v1/dota2/matches/upcoming

Upcoming Dota 2 matches for calendars and bots.

GET/api/v1/dota2/matches/live

Current live matches when a match is active.

GET/api/v1/dota2/matches/recent

Recently completed matches for fallback rows.

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

Full match context for a scheduled match.

GET/api/v1/dota2/tournaments/{tournamentId}/matches

Tournament-specific schedule pages.

GET/api/v1/dota2/search?q=liquid

Find teams or events before filtering schedules.

Schedule use cases

What developers build with Dota schedule data

Match calendars

Show upcoming Dota matches with tournament names, teams, and start times.

Discord bots

Return the next matches from slash commands without scraping event pages.

Fantasy locks

Close lineup edits before the first match in a slate starts.

Match centers

Turn each schedule row into a clickable match detail page.

Daily emails

Send a morning digest of today’s Dota matches.

Team pages

Show a team’s next match beside roster and recent form.

Start free

Test schedule rows for free.

Create a free key and wire upcoming, live, and recent endpoints into your calendar or bot before upgrading.

Self-serve

Start testing without a sales call, demo meeting, or enterprise contract.

Builder-first

Endpoints for bots, fantasy tools, dashboards, match centers, and player pages.

Normalized

REST JSON fields shaped for product screens, not just raw source dumps.

Dota 2 Schedule API FAQ

Can I get upcoming Dota 2 matches?

Yes. Use /api/v1/dota2/matches/upcoming for upcoming pro Dota 2 matches with team and tournament context.

What should I show when no match is live?

Use upcoming matches first, then recent results as the fallback so the page still has useful data.

Can I filter by tournament?

Use tournament match endpoints when your page is scoped to one event.

Is this good for Discord bots?

Yes. Schedule endpoints return compact JSON that maps cleanly to bot embeds.

Schedule API

Make the next Dota match obvious.

Use Cito for upcoming matches, live state, recent results, and match IDs that connect to full detail pages.

Start Free