Public API endpoints for tournament data, pick/bans, and leaderboard integration.
Query flags for showing tournament brackets in broadcast setups.
Hides the nav, footer, buttons and page background so the bracket renders transparent for overlaying in broadcast software. Click anywhere to exit.
/tournament/[id]/brackets?stream-mode=1Shows only the bracket whose name matches. Matching is exact and case-insensitive, ignoring leading/trailing spaces; other brackets are hidden.
/tournament/[id]/brackets?bracket-name=Bracket%202 Combine with streamer mode using &:
/tournament/[id]/brackets?stream-mode=1&bracket-name=Bracket%202Returns all admin-created tournaments.
Append ?format=json or ?format=xml to control response format (default: JSON).
[
{
"id": "string",
"name": "string",
"description": "string | null",
"date": "string | null",
"playersPerTeam": "number",
"subsPerTeam": "number",
"registerByDate": "string | null",
"rules": "string | null",
"brackets": "array",
"createdBy": "string | null",
"isAdminCreated": "boolean",
"createdAt": "string",
"updatedAt": "string"
}
]Returns a tournament by its ID.
Append ?format=json or ?format=xml to control response format (default: JSON).
{
"id": "string",
"name": "string",
"description": "string | null",
"date": "string | null",
"playersPerTeam": "number",
"brackets": [
{
"id": "string",
"name": "string",
"rounds": [
{
"id": "string",
"name": "string",
"format": "string | null",
"notes": "string | null",
"scorePrefix": "string | null",
"linkedBracketId": "string | null",
"advance": "winner | loser | null",
"matches": [
{
"id": "string",
"teams": [
{
"id": "string",
"name": "string",
"score": "number"
},
{
"id": "string",
"name": "string",
"score": "number"
}
]
}
]
}
]
}
],
"createdAt": "string"
}Returns 404 with {"error":"not found"} if the tournament does not exist.
Returns all accepted (approved) teams registered for a tournament.
Append ?format=json or ?format=xml to control response format (default: JSON).
[
{
"id": "string",
"name": "string",
"captainId": "string",
"createdAt": "string",
"members": [
{
"id": "string",
"userId": "string | null",
"discordId": "string | null",
"embarkid": "string | null",
"isSub": "boolean",
"joinedAt": "string | null"
}
]
}
]Returns 404 with {"error":"not found"} if the tournament does not exist.
Returns bracket data as a flat table — one row per round with columns for each team and their score. Designed for importing into broadcast tools like vMix via the XML format.
Append ?format=json or ?format=xml to control response format (default: JSON).
[
{
"Round": "Bracket Name - Round Name",
"T1": "Team Name",
"T1Score": "0",
"T2": "Team Name",
"T2Score": "0",
"T3": "Team Name",
"T3Score": "0",
"T4": "Team Name",
"T4Score": "0"
}
]Returns 404 with {"error":"not found"} if the tournament does not exist.
Returns the pick/ban (veto) state for a match series.
Append ?format=json or ?format=xml to control response format (default: JSON).
{
"title": "string",
"status": "pending | active | completed",
"stage": "string",
"turnTimer": "string",
"teams": [
"string",
"string"
],
"picks": [
{
"map": "string",
"image": "string | null",
"variant": "string | null",
"by": "string | null"
}
],
"bans": [
{
"map": "string",
"image": "string | null",
"by": "string | null"
}
],
"available": [
{
"name": "string",
"image": "string"
}
],
"decider": "{ name: 'string', image: 'string' } | null"
}Returns 404 with {"error":"Match not found"} if the match does not exist.
Competitive rankings are sourced from the independent leaderboard API.
api.the-finals-leaderboard.com