How-to use the new Champions League data with Sportmonks’ Football API
Contents

Overview of the new Champions League format

The 2024/25 season brings a fresh approach to the Champions League. The number of participating clubs will increase from 32 to 36, all competing in a single league. Instead of the usual group stage, each team will play eight matches against eight different opponents (four home and four away). This Swiss model ensures that every match holds significance, boosting the overall competitiveness of the tournament. You can find out all the important information about the new format in our article here.

How to implement the new format using Sportmonks’ Football API

Here’s a step-by-step guide to implementing the new Champions League format with Sportmonks’ Football API.

First, you’ll need to gather the tools.

Here’s what you’ll need:

API Token: First, obtain your Sportmonks API token. If you haven’t got one yet, simply head to MySportmonks and create one.

Code Editor: It is crucial to have a reliable code editor for crafting and refining your page’s code. We suggest using Visual Studio Code, though any editor you choose will suffice.

Postman (Optional): While not essential, having Postman installed can significantly assist in testing and debugging your API requests. Refer to our Postman Guide for a comprehensive guide on using the Sportmonks Football API with Postman.

With these tools, you can start using our Champions League data. Let’s get started!

Displaying the fixtures

To load the complete Champions League schedule, including all fixtures and knockout games, use the following endpoint:

GET Schedules by Season ID

This endpoint provides the entire season’s schedule, helping you display all upcoming matches in a visually appealing format. The is_placeholder property in the response indicates if the data is provisional, ensuring you have the most accurate information.

{
  "data": [
    {
      "id": 77471321,
      "sport_id": 1,
      "league_id": 2,
      "season_id": 23619,
      "type_id": 224,
      "name": "1st Qualifying Round",
      "sort_order": 1,
      "finished": true,
      "is_current": false,
      "starting_at": "2024-07-09",
      "ending_at": "2024-07-17",
      "games_in_current_week": false,
      "tie_breaker_rule_id": null,
      "rounds": [
        
      ],
      "aggregates": [
        {
          "id": 53670,
          "league_id": 2,
          "season_id": 23619,
          "stage_id": 77471321,
          "name": "Borac Banja Luka vs Egnatia Rrogozhinë",
          "fixture_ids": [
            19135214,
            19135215
          ],
          "result": "2-2",
          "detail": "After Penalties",
          "winner_participant_id": 63383,
          "fixtures": [
            {
              "id": 19135215,
              "sport_id": 1,
              "league_id": 2,
              "season_id": 23619,
              "stage_id": 77471321,
              "group_id": null,
              "aggregate_id": 53670,
              "round_id": null,
              "state_id": 8,
              "venue_id": 3467,
              "name": "Egnatia Rrogozhinë vs Borac Banja Luka",
              "starting_at": "2024-07-17 19:00:00",
              "result_info": "Egnatia Rrogozhinë won after penalties.",
              "leg": "2/2",
              "details": null,
              "length": 90,
              "placeholder": false,
              "has_odds": true,
              "has_premium_odds": true,
              "starting_at_timestamp": 1721242800,
              "participants": [
                {
                  "id": 63383,
                  "sport_id": 1,
                  "country_id": 2454,
                  "venue_id": 172067,
                  "gender": "male",
                  "name": "Egnatia Rrogozhinë",
                  "short_code": null,
                  "image_path": "https://cdn.sportmonks.com/images/soccer/teams/23/63383.png",
                  "founded": 1964,
                  "type": "domestic",
                  "placeholder": false,
                  "last_played_at": "2024-07-28 18:00:00",
                  "meta": {
                    "location": "home",
                    "winner": false,
                    "position": 2
                  }
                },
                {
                  "id": 3877,
                  "sport_id": 1,
                  "country_id": 507,
                  "venue_id": 309,
                  "gender": "male",
                  "name": "Borac Banja Luka",
                  "short_code": null,
                  "image_path": "https://cdn.sportmonks.com/images/soccer/teams/5/3877.png",
                  "founded": 1926,
                  "type": "domestic",
                  "placeholder": false,
                  "last_played_at": "2024-07-24 17:30:00",
                  "meta": {
                    "location": "away",
                    "winner": true,
                    "position": 1
                  }
                }
              ],
              "scores": [
                {
                  "id": 14617577,
                  "fixture_id": 19135215,
                  "type_id": 1525,
                  "participant_id": 63383,
                  "score": {
                    "goals": 2,
                    "participant": "home"
                  },
                  "description": "CURRENT"
                },
                {
                  "id": 14617576,
                  "fixture_id": 19135215,
                  "type_id": 1525,
                  "participant_id": 3877,
                  "score": {
                    "goals": 1,
                    "participant": "away"
                  },
                  "description": "CURRENT"
                },
                {
                  "id": 14617570,
                  "fixture_id": 19135215,
                  "type_id": 1,
                  "participant_id": 3877,
                  "score": {
                    "goals": 1,
                    "participant": "away"
                  },
                  "description": "1ST_HALF"
                },
                {
                  "id": 14617571,
                  "fixture_id": 19135215,
                  "type_id": 1,
                  "participant_id": 63383,
                  "score": {
                    "goals": 1,
                    "participant": "home"
                  },
                  "description": "1ST_HALF"
                },
                {
                  "id": 14617616,
                  "fixture_id": 19135215,
                  "type_id": 2,
                  "participant_id": 3877,
                  "score": {
                    "goals": 1,
                    "participant": "away"
                  },
                  "description": "2ND_HALF"
                },
                {
                  "id": 14617617,
                  "fixture_id": 19135215,
                  "type_id": 2,
                  "participant_id": 63383,
                  "score": {
                    "goals": 2,
                    "participant": "home"
                  },
                  "description": "2ND_HALF"
                },
                {
                  "id": 14617704,
                  "fixture_id": 19135215,
                  "type_id": 3,
                  "participant_id": 3877,
                  "score": {
                    "goals": 0,
                    "participant": "away"
                  },
                  "description": "ET"
                },
                {
                  "id": 14617705,
                  "fixture_id": 19135215,
                  "type_id": 3,
                  "participant_id": 63383,
                  "score": {
                    "goals": 0,
                    "participant": "home"
                  },
                  "description": "ET"
                },
                {
                  "id": 14617712,
                  "fixture_id": 19135215,
                  "type_id": 5,
                  "participant_id": 3877,
                  "score": {
                    "goals": 4,
                    "participant": "away"
                  },
                  "description": "PENALTY_SHOOTOUT"
                },
                {
                  "id": 14617713,
                  "fixture_id": 19135215,
                  "type_id": 5,
                  "participant_id": 63383,
                  "score": {
                    "goals": 1,
                    "participant": "home"
                  },
                  "description": "PENALTY_SHOOTOUT"
                }
              ]
            },

Showing the standings

For real-time standings and an overview of all teams’ rankings in the league phase, use the following endpoint:

GET Live Standings by League ID

This request returns the current standings, crucial for tracking team progress and league dynamics as the season unfolds.

Tip: If you use the include rule.type the labels for each position in the standings will be returned. This allows you to keep track of which team is onto the knock-out stages and which teams are out of the Champions League.

{
    "data": [
        {
            "id": 229315,
            "participant_id": 113,
            "sport_id": 1,
            "league_id": 2,
            "season_id": 23619,
            "stage_id": 77471317,
            "group_id": null,
            "round_id": null,
            "standing_rule_id": 117804,
            "position": 1,
            "result": "equal",
            "points": 0,
            "group": null,
            "participant": {
                "id": 113,
                "sport_id": 1,
                "country_id": 251,
                "venue_id": 1721,
                "gender": "male",
                "name": "Milan",
                "short_code": "MIL",
                "image_path": "https://cdn.sportmonks.com/images/soccer/teams/17/113.png",
                "founded": 1899,
                "type": "domestic",
                "placeholder": false,
                "last_played_at": "2024-07-27 22:00:00"
            },
        },
        {
            "id": 229316,
            "participant_id": 19,
            "sport_id": 1,
            "league_id": 2,
            "season_id": 23619,
            "stage_id": 77471317,
            "group_id": null,
            "round_id": null,
            "standing_rule_id": 117805,
            "position": 2,
            "result": "equal",
            "points": 0,
            "group": null,
            "participant": {
                "id": 19,
                "sport_id": 1,
                "country_id": 462,
                "venue_id": 204,
                "gender": "male",
                "name": "Arsenal",
                "short_code": "ARS",
                "image_path": "https://cdn.sportmonks.com/images/soccer/teams/19/19.png",
                "founded": 1886,
                "type": "domestic",
                "placeholder": false,
                "last_played_at": "2024-07-28 00:00:00"
            }
        },

Tracking the topscorers

Tracking top performers in goals, assists, and cards is made easy with the following endpoint:

GET Topscorers by Season ID

This endpoint provides detailed statistics on the top scorers, essential for highlighting standout players throughout the Champions League.

{
    "data": [
        {
            "id": 67101525,
            "season_id": 21638,
            "player_id": 997,
            "type_id": 208,
            "position": 1,
            "total": 8,
            "participant_id": 503,
            "player": {
                "id": 997,
                "sport_id": 1,
                "country_id": 462,
                "nationality_id": 462,
                "city_id": 51663,
                "position_id": 27,
                "detailed_position_id": 151,
                "type_id": 27,
                "common_name": "H. Kane",
                "firstname": "Harry",
                "lastname": "Kane",
                "name": "Harry Kane",
                "display_name": "Harry Kane",
                "image_path": "https://cdn.sportmonks.com/images/soccer/players/5/997.png",
                "height": 188,
                "weight": 86,
                "date_of_birth": "1993-07-28",
                "gender": "male"
            }
        },
        {
            "id": 67022950,
            "season_id": 21638,
            "player_id": 96611,
            "type_id": 208,
            "position": 2,
            "total": 8,
            "participant_id": 591,
            "player": {
                "id": 96611,
                "sport_id": 1,
                "country_id": 17,
                "nationality_id": 17,
                "city_id": 67223,
                "position_id": 27,
                "detailed_position_id": 151,
                "type_id": 27,
                "common_name": "K. Mbappé",
                "firstname": "Kylian",
                "lastname": "Mbappé Lottin",
                "name": "Kylian Mbappé Lottin",
                "display_name": "Kylian Mbappé",
                "image_path": "https://cdn.sportmonks.com/images/soccer/players/3/96611.png",
                "height": 178,
                "weight": 73,
                "date_of_birth": "1998-12-20",
                "gender": "male"
            }
        },

An overview

Adapting to the new Champions League format is straightforward with Sportmonks’ Football API. By leveraging our comprehensive data endpoints, you can build robust applications that keep fans engaged and informed. Explore the full potential of our API and don’t hesitate to reach out to our support team for any questions or assistance. Embrace the change and elevate your football applications today!

Ready to use this data?

The Champions League is the biggest competition in the world. So, you want to display this data correctly in your application.

Written by Wesley Van Rooij

Wesley van Rooij is a marketing and football expert with over 5 years of industry experience. His comprehensive knowledge of the Sportmonks Football API and a focused approach to APIs in the Sports Data industry allow him to offer insights and support to enthusiasts and businesses. His outstanding marketing and communication skills and technical writing expertise enable him to empathise with developers. He understands their needs and challenges to facilitate the development of cutting-edge football applications that stand out in the market.