How-to build a schedule page
Welcome to the how-to build a season fixture schedule guide. This is a follow-up on the rounds, groups and stages tutorial. Rounds, groups and stages are, in fact, the building blocks of a season schedule. Now, in this how-to guide, we will use those building blocks to create a season fixture schedule. This schedule will show all the fixtures yet to come. We’ll show you how to create a season fixture schedule for the English Premier League (league id: 8) and one for the Champions League (league id: 2).
Step 1: Assemble the tools
You’re going to need the following tools:
Sportmonks API token
Code editor (Visual studio used in examples)
Postman (optional)
Step 2: Request the rounds of the English Premier League
We chose the English Premier League because it’s a domestic league without any different stages or groups, but it does have multiple rounds across their season. That’s why we’re going to request the rounds of the English Premier League season 20/21 (season id: 17420). We’ll use the following URL:
https://soccer.sportmonks.com/api/v2.0/seasons/17420?api_token={API_TOKEN}&include=rounds
{
"data": {
"id": 17420,
"name": "2020/2021",
"league_id": 8,
"is_current_season": true,
"current_round_id": 201970,
"current_stage_id": 77448322,
"rounds": {
"data": [
{
"id": 201963,
"name": 1,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-09-12",
"end": "2020-09-14"
},
{
"id": 201964,
"name": 2,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-09-19",
"end": "2020-09-21"
},
{
"id": 201965,
"name": 3,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-09-26",
"end": "2020-09-28"
},
{
"id": 201966,
"name": 4,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-10-03",
"end": "2020-10-04"
},
{
"id": 201967,
"name": 5,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-10-17",
"end": "2020-10-19"
},
{
"id": 201968,
"name": 6,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-10-23",
"end": "2020-10-26"
},
{
"id": 201969,
"name": 7,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-10-30",
"end": "2020-11-02"
},
{
"id": 201970,
"name": 8,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-11-06",
"end": "2020-11-08"
},
{
"id": 201971,
"name": 9,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-11-21",
"end": "2020-11-23"
},
{
"id": 201972,
"name": 10,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-11-27",
"end": "2020-11-30"
Now that we have all the English Premier League rounds, we want to check which fixture ids are associated with each round. Here are several examples of correct requests:
https://soccer.sportmonks.com/api/v2.0/seasons/17420?api_token={API_TOKEN}&include=rounds.fixtures
{
"data": {
"id": 17420,
"name": "2020/2021",
"league_id": 8,
"is_current_season": true,
"current_round_id": 201970,
"current_stage_id": 77448322,
"rounds": {
"data": [
{
"id": 201963,
"name": 1,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-09-12",
"end": "2020-09-14",
"fixtures": {
"data": [
{
"id": 16924595,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"round_id": 201963,
"group_id": null,
"aggregate_id": null,
"venue_id": 200,
"referee_id": null,
"localteam_id": 27,
"visitorteam_id": 14,
"winner_team_id": null,
"weather_report": {
"code": "rain",
"type": "light rain",
"icon": "https://cdn.sportmonks.com/images/weather/10n.png",
"temperature": {
"temp": 54.34,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 12.4,
"unit": "celcius"
},
"clouds": "100%",
"humidity": "95%",
"pressure": 1012,
"wind": {
"speed": "3 m/s",
"degree": 257
},
"coordinates": {
"lat": 53.8,
"lon": -2.23
},
"updated_at": "2020-09-11T21:45:05.220485Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": false,
"formations": {
"localteam_formation": null,
"visitorteam_formation": null
},
"scores": {
"localteam_score": 0,
"visitorteam_score": 0,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": null,
"ft_score": null,
"et_score": null,
"ps_score": null
},
"time": {
"status": "POSTP",
"starting_at": {
"date_time": "2020-09-12 00:00:00",
"date": "2020-09-12",
"time": "00:00:00",
"timestamp": 1599868800,
"timezone": "UTC"
},
"minute": null,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 455461,
"visitorteam_coach_id": 524307
},
"standings": {
"localteam_position": 4,
"visitorteam_position": 13
},
"assistants": {
"first_assistant_id": null,
"second_assistant_id": null,
"fourth_official_id": null
},
"leg": "1/1",
"colors": null,
"deleted": false
},
https://soccer.sportmonks.com/api/v2.0/seasons/17420?api_token={API_TOKEN}&include=fixtures.localTeam,fixtures.visitorTeam
{
"data": {
"id": 17420,
"name": "2020/2021",
"league_id": 8,
"is_current_season": true,
"current_round_id": 201970,
"current_stage_id": 77448322,
"fixtures": {
"data": [
{
"id": 16924595,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"round_id": 201963,
"group_id": null,
"aggregate_id": null,
"venue_id": 200,
"referee_id": null,
"localteam_id": 27,
"visitorteam_id": 14,
"winner_team_id": null,
"weather_report": {
"code": "rain",
"type": "light rain",
"icon": "https://cdn.sportmonks.com/images/weather/10n.png",
"temperature": {
"temp": 54.34,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 12.4,
"unit": "celcius"
},
"clouds": "100%",
"humidity": "95%",
"pressure": 1012,
"wind": {
"speed": "3 m/s",
"degree": 257
},
"coordinates": {
"lat": 53.8,
"lon": -2.23
},
"updated_at": "2020-09-11T21:45:05.220485Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": false,
"formations": {
"localteam_formation": null,
"visitorteam_formation": null
},
"scores": {
"localteam_score": 0,
"visitorteam_score": 0,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": null,
"ft_score": null,
"et_score": null,
"ps_score": null
},
"time": {
"status": "POSTP",
"starting_at": {
"date_time": "2020-09-12 00:00:00",
"date": "2020-09-12",
"time": "00:00:00",
"timestamp": 1599868800,
"timezone": "UTC"
},
"minute": null,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 455461,
"visitorteam_coach_id": 524307
},
"standings": {
"localteam_position": 4,
"visitorteam_position": 13
},
"assistants": {
"first_assistant_id": null,
"second_assistant_id": null,
"fourth_official_id": null
},
"leg": "1/1",
"colors": null,
"deleted": false,
"localTeam": {
"data": {
"id": 27,
"legacy_id": 387,
"name": "Burnley",
"short_code": "BUR",
"twitter": "@BurnleyOfficial",
"country_id": 462,
"national_team": false,
"founded": 1882,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/27/27.png",
"venue_id": 200,
"current_season_id": 17420
}
},
"visitorTeam": {
"data": {
"id": 14,
"legacy_id": 375,
"name": "Manchester United",
"short_code": "MUN",
"twitter": "@ManUtd",
"country_id": 462,
"national_team": false,
"founded": 1878,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/14/14.png",
"venue_id": 206,
"current_season_id": 17420
}
}
https://soccer.sportmonks.com/api/v2.0/rounds/201970?api_token={API_TOKEN}&include=fixtures.localTeam,fixtures.visitorTeam
{
"data": {
"id": 201970,
"name": 8,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"start": "2020-11-06",
"end": "2020-11-08",
"fixtures": {
"data": [
{
"id": 16924666,
"league_id": 8,
"season_id": 17420,
"stage_id": 77448322,
"round_id": 201970,
"group_id": null,
"aggregate_id": null,
"venue_id": 480,
"referee_id": 15241,
"localteam_id": 78,
"visitorteam_id": 27,
"winner_team_id": null,
"weather_report": {
"code": "clear",
"type": "clear sky",
"icon": "https://cdn.sportmonks.com/images/weather/01n.png",
"temperature": {
"temp": 47.01,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 8.3,
"unit": "celcius"
},
"clouds": "0%",
"humidity": "81%",
"pressure": 1023,
"wind": {
"speed": "6.93 m/s",
"degree": 80
},
"coordinates": {
"lat": 50.86,
"lon": -0.08
},
"updated_at": "2020-11-06T19:15:05.909812Z"
},
"commentaries": true,
"attendance": 0,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "5-3-2",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 0,
"visitorteam_score": 0,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "0-0",
"ft_score": "0-0",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-11-06 17:30:00",
"date": "2020-11-06",
"time": "17:30:00",
"timestamp": 1604683800,
"timezone": "UTC"
},
"minute": 93,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 452683,
"visitorteam_coach_id": 455461
},
"standings": {
"localteam_position": 16,
"visitorteam_position": 20
},
"assistants": {
"first_assistant_id": 12090,
"second_assistant_id": 14665,
"fourth_official_id": 13561
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#002B87",
"kit_colors": "#002B87,#F0F0F0,#F0F0F0,#F0F0F0,#F0F0F0,#FFDF1B,#F0F0F0"
},
"visitorteam": {
"color": "#FBED32",
"kit_colors": "#FBED32,#FBED32,#262626,#262626,#C40010,#0046A8,#940014"
}
},
"deleted": false,
"localTeam": {
"data": {
"id": 78,
"legacy_id": 409,
"name": "Brighton & Hove Albion",
"short_code": "BRH",
"twitter": "@OfficialBHAFC",
"country_id": 462,
"national_team": false,
"founded": 1901,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/14/78.png",
"venue_id": 480,
"current_season_id": 17420
}
},
"visitorTeam": {
"data": {
"id": 27,
"legacy_id": 387,
"name": "Burnley",
"short_code": "BUR",
"twitter": "@BurnleyOfficial",
"country_id": 462,
"national_team": false,
"founded": 1882,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/27/27.png",
"venue_id": 200,
"current_season_id": 17420
}
}
Request 3 is used when you want to request the fixtures of a specific round id.
In this example, the EPL only has one stage, but other leagues may have multiple stages. In that case, we suggest you use the following request:
https://soccer.sportmonks.com/api/v2.0/seasons/17420?api_token={API_TOKEN}&include=stages.rounds.fixtures.localTeam,stages.rounds.fixtures.visitorTeam
Your request may be too big, if that's the case, pagination will kick in. You can refer to our Pagination tutorial for more information
Our Football API 2.0 has now given you the data of every round of the English Premier League and every fixture per round. This is the data you need to create the seasonal fixture schedule of the English Premier League.
In step 3, we’re going to show you how you can do the same for the Champions League, which will be significantly harder because the Champions League works with rounds, groups and stages.
Step 3: Request the Champions League stages
Let's take a look at the Champions League season 20/21 (season id: 17299). We start from a top position. We first request all the stages and can then work-out all the fixtures per stage and group.
https://soccer.sportmonks.com/api/v2.0/seasons/17299?api_token={API_TOKEN}&include=stages
{
"data": {
"id": 17299,
"name": "2020/2021",
"league_id": 2,
"is_current_season": true,
"current_round_id": 211704,
"current_stage_id": 77448760,
"stages": {
"data": [
{
"id": 77447933,
"name": "Final",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 11,
"has_standings": false
},
{
"id": 77447934,
"name": "Semi-finals",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 10,
"has_standings": false
},
{
"id": 77447935,
"name": "Quarter-finals",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 9,
"has_standings": false
},
{
"id": 77447936,
"name": "8th Finals",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 8,
"has_standings": false
},
{
"id": 77448760,
"name": "Group Stage",
"type": "Group Stage",
"league_id": 2,
"season_id": 17299,
"sort_order": 7,
"has_standings": true
},
{
"id": 77447937,
"name": "Play-offs",
"type": "Qualifying",
"league_id": 2,
"season_id": 17299,
"sort_order": 6,
"has_standings": false
},
{
"id": 77447938,
"name": "3rd Qualifying Round",
"type": "Qualifying",
"league_id": 2,
"season_id": 17299,
"sort_order": 5,
"has_standings": false
},
{
"id": 77447939,
"name": "2nd Qualifying Round",
"type": "Qualifying",
"league_id": 2,
"season_id": 17299,
"sort_order": 4,
"has_standings": false
},
{
"id": 77447940,
"name": "1st Qualifying Round",
"type": "Qualifying",
"league_id": 2,
"season_id": 17299,
"sort_order": 3,
"has_standings": false
},
{
"id": 77447941,
"name": "Preliminary Round - Final",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 2,
"has_standings": false
},
{
"id": 77447942,
"name": "Preliminary Round - Semi-finals",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 1,
"has_standings": false
}
]
}
},
We can see that the Champions League has the following stages:
Preliminary round - Semi-finals
Preliminary round - Final
1st Qualifying round
2nd Qualifying round
3rd Qualifying round
Play-offs
Group Stage
8th Finals
Quarter-finals
Semi-finals
Final
Requesting the fixtures
While, yes, we can use the nested include.fixtures
again. This would result in a huge, hard to read response. You can see for yourself with the following request that will give you an overview of everything about the Champions League:
https://soccer.sportmonks.com/api/v2.0/seasons/17299?api_token={API_TOKEN}&include=stages.rounds.fixtures.localTeam,stages.rounds.fixtures.visitorTeam
Instead, we will use the get stage by id endpoint with fixtures as include:
https://soccer.sportmonks.com/api/v2.0/stages/77447942?api_token={API_TOKEN}&include=fixtures.localTeam,fixtures.visitorTeam
{
"data": {
"id": 77447942,
"name": "Preliminary Round - Semi-finals",
"type": "Knock Out",
"league_id": 2,
"season_id": 17299,
"sort_order": 1,
"has_standings": false,
"fixtures": {
"data": [
{
"id": 16744816,
"league_id": 2,
"season_id": 17299,
"stage_id": 77447942,
"round_id": null,
"group_id": null,
"aggregate_id": null,
"venue_id": 6276,
"referee_id": 32453,
"localteam_id": 5444,
"visitorteam_id": 260,
"winner_team_id": 260,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 85.82,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 29.9,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "38%",
"pressure": 1019,
"wind": {
"speed": "6.93 m/s",
"degree": 60
},
"coordinates": {
"lat": 46.38,
"lon": 6.24
},
"updated_at": "2020-08-08T14:45:08.788657Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-3-3",
"visitorteam_formation": "4-2-3-1"
},
"scores": {
"localteam_score": 0,
"visitorteam_score": 2,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "0-0",
"ft_score": "0-2",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-08 13:00:00",
"date": "2020-08-08",
"time": "13:00:00",
"timestamp": 1596891600,
"timezone": "UTC"
},
"minute": 90,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 4598949,
"visitorteam_coach_id": 524279
},
"standings": {
"localteam_position": 2,
"visitorteam_position": 1
},
"assistants": {
"first_assistant_id": 19343,
"second_assistant_id": 14520,
"fourth_official_id": 36286
},
"leg": "1/1",
"colors": null,
"deleted": false,
"localTeam": {
"data": {
"id": 5444,
"legacy_id": null,
"name": "Tre Fiori",
"short_code": null,
"twitter": null,
"country_id": 3347,
"national_team": false,
"founded": 1949,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/4/5444.png",
"venue_id": 3598,
"current_season_id": 16007
}
},
"visitorTeam": {
"data": {
"id": 260,
"legacy_id": 1929,
"name": "Linfield",
"short_code": null,
"twitter": null,
"country_id": 491,
"national_team": false,
"founded": 1886,
"logo_path": "https://cdn.sportmonks.com/images//soccer/teams/4/260.png",
"venue_id": 8014,
"current_season_id": 17602
}
}
This will request all the fixtures of the preliminary round - semi-finals (stage id #77447942). You can repeat this step for all the other stages, except for the group stages.
Because there are eight groups (A-H), we want to subdivide this stage (stage id #77448760) into their respective groups. We use the nested include groups.fixtures
:
https://soccer.sportmonks.com/api/v2.0/stages/77448760?api_token={API_TOKEN}&include=groups.fixtures
{
"data": {
"id": 77448760,
"name": "Group Stage",
"type": "Group Stage",
"league_id": 2,
"season_id": 17299,
"sort_order": 7,
"has_standings": true,
"groups": {
"data": [
{
"id": 244365,
"name": "Group A",
"league_id": 2,
"season_id": 17299,
"round_id": 211704,
"round_name": 3,
"stage_id": 77448760,
"stage_name": "Group Stage",
"resource": "group",
"standings": {
"data": [
{
"position": 2,
"team_id": 7980,
"team_name": "Atlético Madrid",
"round_id": 211704,
"round_name": 3,
"group_id": 244365,
"group_name": "Group A",
"overall": {
"games_played": 3,
"won": 1,
"draw": 1,
"lost": 1,
"goals_scored": 4,
"goals_against": 7
},
"home": {
"games_played": 1,
"won": 1,
"draw": 0,
"lost": 0,
"goals_scored": 3,
"goals_against": 2
},
"away": {
"games_played": 2,
"won": 0,
"draw": 1,
"lost": 1,
"goals_scored": 1,
"goals_against": 5
},
"total": {
"goal_difference": "-3",
"points": 4
},
"result": "8th Finals",
"points": 4,
"recent_form": "LWD",
"status": null
},
{
"position": 1,
"team_id": 503,
"team_name": "Bayern München",
"round_id": 211704,
"round_name": 3,
"group_id": 244365,
"group_name": "Group A",
"overall": {
"games_played": 3,
"won": 3,
"draw": 0,
"lost": 0,
"goals_scored": 12,
"goals_against": 3
},
"home": {
"games_played": 1,
"won": 1,
"draw": 0,
"lost": 0,
"goals_scored": 4,
"goals_against": 0
},
"away": {
"games_played": 2,
"won": 2,
"draw": 0,
"lost": 0,
"goals_scored": 8,
"goals_against": 3
},
"total": {
"goal_difference": "9",
"points": 9
},
"result": "8th Finals",
"points": 9,
"recent_form": "WWW",
"status": null
},
{
"position": 3,
"team_id": 490,
"team_name": "Lokomotiv Moskva",
"round_id": 211704,
"round_name": 3,
"group_id": 244365,
"group_name": "Group A",
"overall": {
"games_played": 3,
"won": 0,
"draw": 2,
"lost": 1,
"goals_scored": 4,
"goals_against": 5
},
"home": {
"games_played": 2,
"won": 0,
"draw": 1,
"lost": 1,
"goals_scored": 2,
"goals_against": 3
},
"away": {
"games_played": 1,
"won": 0,
"draw": 1,
"lost": 0,
"goals_scored": 2,
"goals_against": 2
},
"total": {
"goal_difference": "-1",
"points": 2
},
"result": "UEFA Europa League",
"points": 2,
"recent_form": "DLD",
"status": null
},
{
"position": 4,
"team_id": 49,
"team_name": "Salzburg",
"round_id": 211704,
"round_name": 3,
"group_id": 244365,
"group_name": "Group A",
"overall": {
"games_played": 3,
"won": 0,
"draw": 1,
"lost": 2,
"goals_scored": 6,
"goals_against": 11
},
"home": {
"games_played": 2,
"won": 0,
"draw": 1,
"lost": 1,
"goals_scored": 4,
"goals_against": 8
},
"away": {
"games_played": 1,
"won": 0,
"draw": 0,
"lost": 1,
"goals_scored": 2,
"goals_against": 3
},
"total": {
"goal_difference": "-5",
"points": 1
},
"result": null,
"points": 1,
"recent_form": "DLL",
"status": null
}
]
},
"fixtures": {
"data": [
{
"id": 17361012,
"league_id": 2,
"season_id": 17299,
"stage_id": 77448760,
"round_id": 211702,
"group_id": 244365,
"aggregate_id": null,
"venue_id": 3876,
"referee_id": 17308,
"localteam_id": 49,
"visitorteam_id": 490,
"winner_team_id": null,
"weather_report": null,
"commentaries": true,
"attendance": 3000,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-4-2",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 2,
"visitorteam_score": 2,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "1-1",
"ft_score": "2-2",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-10-21 16:55:00",
"date": "2020-10-21",
"time": "16:55:00",
"timestamp": 1603299300,
"timezone": "UTC"
},
"minute": 94,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 524552,
"visitorteam_coach_id": 1068613
},
"standings": {
"localteam_position": 4,
"visitorteam_position": 3
},
"assistants": {
"first_assistant_id": 11658,
"second_assistant_id": 12150,
"fourth_official_id": 15769
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#C40010",
"kit_colors": "#C40010,#C40010,#C40010,#C40010,#C40010,#0046A8,#C40010"
},
"visitorteam": {
"color": "#F0F0F0",
"kit_colors": "#F0F0F0,#F0F0F0,#F0F0F0,#F0F0F0,#C40010,#0046A8,#F0F0F0"
}
},
This request will give you the standings too for each respective group and all the fixtures of that group.
Knock-out stages
The Champions League also have a lot of knock out fixtures. The team who has the better result over two matches will go to the next stage. But how do you know what the overall result is?
You can use the aggregate
include on fixtures level. This will show you the overall result between fixtures. Let's take a look at an example: Juventus vs Porto (second leg).
https://soccer.sportmonks.com/api/v2.0/fixtures/17687749?api_token={API_TOKEN}&include=aggregate
"aggregate": {
"data": {
"id": 23873,
"league_id": 2,
"season_id": 17299,
"stage_id": 77447936,
"localteam": "Juventus",
"localteam_id": 625,
"visitorteam": "Porto",
"visitorteam_id": 652,
"result": "4 - 4",
"winner": 652,
"detail": "After Extra-Time (away goals)"
}
}
As you can see in the response, the overall result was 4-4 and the winner of this match is FC Porto(id:652)
. When you include aggregate.fixtures
it will also include the information about the first fixture.
Last updated