GET Brackets by Season ID

The Tournament Brackets endpoint provides a structured view of knockout stage tournament brackets, making it easy to display elimination rounds, progression paths, and matchup hierarchies in your application.

circle-info

Available for: Knockout stages only (stages with type_id: 224) with placeholder and match numbers available.

Use Cases: World Cup

Tournament brackets organise knockout fixtures into a tree structure, showing how winners advance through rounds until a champion is crowned. This endpoint automatically structures the data with fixture progression paths (edges) that define how teams move through the bracket.

When to use this endpoint

Use the brackets endpoint when you need to:

  • Display a complete knockout bracket visualisation

  • Show tournament progression from Round of 32 โ†’ Round of 16 โ†’ Quarter-finals โ†’ Semi-finals โ†’ 3rd Place โ†’ Final

  • Track which teams advance to which matches based on match outcomes

  • Build interactive bracket interfaces with automatic progression logic

circle-info

Knockout Stages Only

This endpoint only returns data for knockout stages (elimination rounds). Group stage fixtures should be accessed via the standard fixtures endpoint.

Endpoint

GET https://api.sportmonks.com/v3/football/seasons/{season_id}/brackets

Parameters

Parameter
Type
Required
Description

season_id

integer

Yes

The season ID (e.g., 26618 for World Cup 2026)

api_token

string

Yes

Your API authentication token

include

string

No

Related data to include (see Includes section)

Example Request

Response Structure

The response contains two main components: stages (fixtures organised by knockout round) and edges (progression paths between fixtures).

Response Fields

Stages Array

Field
Type
Description

stage_id

integer

Unique stage identifier

stage_name

string

Name of the knockout round (e.g., "Semi-finals", "Final")

fixtures

array

All fixtures in this knockout round

Fixture Object

Field
Type
Description

id

integer

Unique fixture ID

stage_id

integer

Stage this fixture belongs to

name

string

Fixture name (shows teams/progression)

starting_at

string

Match kickoff time (UTC)

details

string

Match number identifier (e.g., "Match 73")

placeholder

boolean

true if teams are not yet determined

state_id

integer

Match state (1=Not Started, 5=Finished, etc.)

venue_id

integer

Stadium identifier

leg

string

"1/1" for single-leg knockout matches

result_info

string/null

Result description (e.g., "Won after penalties")

Edges Array

The edges array defines progression paths between fixtures:

Field
Type
Description

id

integer

Unique edge identifier

season_id

integer

Season identifier

child_fixture_id

integer

Fixture that receives the advancing team

child_slot

string

Position in child fixture ("home" or "away")

parent_fixture_id

integer

Fixture that determines the advancing team

parent_outcome

string

Which team advances ("winner" or "loser")

circle-info

Understanding Edges

Edges create the bracket tree structure. Each edge says: "The winner/loser of Match X goes to the home/away slot of Match Y."

For example, the Final receives the winners of both Semi-finals, whilst the 3rd Place Final receives the losers of both Semi-finals.

Understanding bracket structure

Stages organisation

Stages are returned in the order they appear in the response (not sorted by chronological order):

Placeholder Fixtures

Before teams are determined, fixtures have placeholder: true and descriptive names:

After matches are played and teams advance:

Always check placeholder before displaying team information.

Progression Paths via Edges

Edges define how teams move through the bracket:

Example: Final receives winners from both Semi-finals

Example: 3rd Place Final receives losers from both Semi-finals

Includes

Add includes to get complete fixture data with participants, scores, and match details:

Available Includes

sport round stage group aggregate league seasoncoaches tvStations venue state weatherReport lineups events timeline comments trends statistics periods participants oddspremiumOddsarrow-up-right inplayOdds prematchNews postmatchNews metadata sidelinedpredictions referees formations ballCoordinates scores xGFixture pressure expectedLineups

Example with full includes

Bracket visualisation

The brackets endpoint returns data that can be visualised as a tournament tree:

Frontend Examples

Common use cases

1. Display complete tournament bracket

Fetch all knockout matches organised by stage:

2. Find Where a Team Advances

Use edges to determine the next match for a winner:

3. Build bracket tree structure

Organise matches into a hierarchical tree:

4. Filter by stage

Display only specific knockout rounds:

5. Check Match Status

Identify which matches have been played:

Best Practices

Caching strategy

  • Cache bracket structure for 1 hour when no matches are live

  • Reduce to 5 minutes during live knockout matches

  • Cache permanently once tournament is complete {% endhint %}

Check placeholder status

Always verify fixture.placeholder before displaying team names. Placeholder fixtures indicate matches where participants aren't yet determined. {% endhint %}

Optimise includes

Only request includes you'll display. For a simple bracket view, stages.fixtures.participants and stages.fixtures.state are sufficient. Add stages.fixtures.scores for live updates. {% endhint %}

Minimal bracket view:

Full match details:

Live updates:

Error Handling

No knockout stages

If a season has no knockout stages, the response will have empty arrays:

Solution: Verify the season has knockout stages before requesting brackets.

Missing edges

If edges data is incomplete, bracket progression cannot be determined:

Solution: Contact support if edges are missing for a tournament that has defined progression rules.

Rate limits

The brackets endpoint counts against the Fixture entity rate limit:

  • Standard limit: 3,000 requests per hour

  • Monitor: Check x-ratelimit-remaining header

  • Best practice: Cache bracket data to reduce API calls


circle-info

New Feature

The Tournament Brackets endpoint is a new addition to Sportmonks API v3. Feedback and suggestions are welcome at [email protected].

Last updated

Was this helpful?