Fixtures

The fixture endpoint provides information about games in particular leagues. For many customers, fixtures is the primary endpoint for their app or website. Because fixtures is one of our API’s most critical endpoints, we’re going to walk you through all six different ways of using the endpoint.

Note that you only have access to fixtures that are in the plan you are subscribed to.

The fixture endpoints can’t be used for live games. For live games, please use our livescores endpoint.

The endpoint is subdivided over six categories where you can request the endpoint:

All these endpoints, except get last updated, share the same possible includes and parameters. Please refer to our includes and filter tutorials on how to use them. Some of the most used filters are:

  • Leagues: filter on league ids.

  • Bookmakers*: filter on bookmaker ids.

  • Markets*: filter on market ids.

  • Status: filter on status.

You can only filter on the bookmakers & markets parameters when you've enriched your response with the odds include.

A total overview of the includes and parameters is available at our API reference guide. For this example, we’re going to show you how to use our different fixture endpoints. You’ll learn how to request fixtures using an id and using a specified date (range).

The end goal of this tutorial is to successfully request (multiple) fixture IDs, as well as request all fixtures between two dates for Celtic. Let’s get started then, shall we?

What is fixture data?

Well, I lied. Before we get started, we’ll first show you what kind of data the fixture endpoints get you.

See below for a response with all the data from one fixture.

Response
Field Description
Response
"data": [
{
"id": 16475287,
"league_id": 501,
"season_id": 17141,
"stage_id": 77447501,
"round_id": 194968,
"group_id": null,
"aggregate_id": null,
"venue_id": 8909,
"referee_id": 14859,
"localteam_id": 53,
"visitorteam_id": 338,
"winner_team_id": 53,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 59.94,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 15.5,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "67%",
"pressure": 1014,
"wind": {
"speed": "10.29 m/s",
"degree": 300
},
"coordinates": {
"lat": 55.87,
"lon": -4.26
},
"updated_at": "2020-08-02T17:15:04.814798Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-2-3-1",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 5,
"visitorteam_score": 1,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "2-1",
"ft_score": "5-1",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-02 15:30:00",
"date": "2020-08-02",
"time": "15:30:00",
"timestamp": 1596382200,
"timezone": "UTC"
},
"minute": 90,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 1467946,
"visitorteam_coach_id": 30082158
},
"standings": {
"localteam_position": 1,
"visitorteam_position": 12
},
"assistants": {
"first_assistant_id": 12118,
"second_assistant_id": 17249,
"fourth_official_id": 15815
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#007848",
"kit_colors": "#F0F0F0,#139343,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#F0F0F0"
},
"visitorteam": {
"color": "#0046A8",
"kit_colors": "#0046A8,#0046A8,#0046A8,#0046A8,#C40010,#0046A8,#0046A8"
}
"deleted": false,
"is_placeholder": false,
Field Description

Field

Description

data

Opens an array of data you've requested

id

A unique fixture id

league_id

The unique id of the league the fixture belongs to

season_id

The unique id of the season the fixture belongs to

stage_id

The unique id of the stage the fixture belongs to

round_id

The unique id of the round the fixture belongs to

group_id

The unique id of the group the fixture belongs to

aggregate_id

Indicates if the fixture has an aggregated score

venue_id

The unique id of the venue the fixture is played at

referee_id

The unique id of the referee that is in charge of the fixture

localteam_id

The unique id of the local team

visitorteam_id

The unique id of the visitor team

winnerteam_id

Contains the id of the team that won the fixture

weather_report

Opens an array of weather details. Possible values of the data in this array can be found in our statuses and definitions

commentaries

Indicates if this fixture has commentaries available

attendance

Give information about the visitor attendance of the fixture

pitch

Gives information about the pitch. Possible values can be found in our statuses and definitions

details

Optional additional information.

neutral_venue

Indicates if the fixture was played at a neutral fixture. This often happens in cup finals

formations

Opens an array containing the lineup formations of the teams. Possible values can be found in our statuses and definitions

scores

Opens an array containing the scores of the fixture

localteam_score

The amount of goals the local team has scored in this fixture

visitorteam_score

The amount of goals the visitor team has scored in this fixture

localteam_pen_score

The amount of penalty goals the local team has scored in this fixture (only available when the fixture goes into penalty shootout)

visitorteam_pen_score

The amount of penalty goals the visitor team has scored in this fixture (only available when the fixture goes into penalty shootout)

ht_score

The score at half time

ft_score

The score at full time (90 minutes)

et_score

The score in extra time (only available when the fixture goes into extra time)

ps_score

The score of the penalty shootout (only available when the fixture goes into penalty shootout)

time

Opens an array containing the time details of the fixture

status

Indicates in which phase the fixture is in. Possible values can be found in our statuses and definitions

starting_at

Opens an array containing the time details of the fixture

date_time

Gives the date and time the fixture starts

date

Gives the date on which the fixture is played

time

Gives the starting time of the fixture

timestamp

The timestamp notation of the match

timezone

Indicates in which timezone you've requested the data

minute

Indicates in which minute the fixture is in

second

Indicates in which second the fixture is in

added_time

Indicates how many added time is added

extra_minute

Extra minute is when a fixture goes to extra time. Extra_minute will count from 0 to 15 and from 15 to 30.

injury_time

In case of added time it will end up in injury_minute

coaches

Opens an array containing the unique id's of the coaches

localteam_coach_id

The unique id of the coach from the local team

visitorteam_coach_id

The unique id of the coach from the visitor team

standings

Opens an array containing the standings of the local- and visitorteam

localteam_position

Indicates in which positions the local team is before the fixture

visitorteam_position

Indicates in which positions the visitor team is before the fixture

assistants

Opens an array containing the unique id's of the assistant referees

first_assistant_id

The unique id of the first assistant

second_assistant_id

The unique id of the second assistant

fourth_official_id

The unique id of the fourth official

leg

Indicates in how many legs this fixture is played

colors

Opens an array containing information about the team colors

localteam

Opens an array containing information about the local team colors

color

The main color code of the local team

kit_colors

The kit color codes of the local team

visitorteam

Opens an array containing information about the visitor team colors

color

The main color code of the visitor team

kit_colors

The kit color codes of the local team

deleted

Indicates if the team was deleted. More information: Keep in Sync

is_placeholder

This property indicates if the resource is used to display dummy data. The false of this property will always be a boolean value.

It might seem overwhelming, but don’t worry! As you might have noticed in all of our previous tutorials, we've included a tab with the field descriptions.

A small recap: We can see the id of the fixture, which is 16475287. Every fixture has his own unique id. Next, we can see various other ids, such as league, season, local and visitor teams, and the winner’s id. Scroll down a bit more, and you’ll see the final score, total playing time and date of when the match was played, and both teams’ standings.

Request fixtures by date

We’re going to start by using the endpoint called fixtures by date.

We’ve used this endpoint multiple times in our previous tutorials. This is the best option if you want to request all the fixtures of a specific date. You will need to fill in the date in a YYYY-MM-DD format. The API will return all the fixtures of the specified date you requested.

https://soccer.sportmonks.com/api/v2.0/fixtures/date/{YYYY-MM-DD}?api_token={API_TOKEN}

So, let’s say we use the following default date, that is also used in Postman: 2020-08-02:

Request
Response
Request
https://soccer.sportmonks.com/api/v2.0/fixtures/date/2020-08-02?api_token={API_TOKEN}
Response
"data": [
{
"id": 16475287,
"league_id": 501,
"season_id": 17141,
"stage_id": 77447501,
"round_id": 194968,
"group_id": null,
"aggregate_id": null,
"venue_id": 8909,
"referee_id": 14859,
"localteam_id": 53,
"visitorteam_id": 338,
"winner_team_id": 53,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 59.94,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 15.5,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "67%",
"pressure": 1014,
"wind": {
"speed": "10.29 m/s",
"degree": 300
},
"coordinates": {
"lat": 55.87,
"lon": -4.26
},
"updated_at": "2020-08-02T17:15:04.814798Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-2-3-1",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 5,
"visitorteam_score": 1,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "2-1",
"ft_score": "5-1",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-02 15:30:00",
"date": "2020-08-02",
"time": "15:30:00",
"timestamp": 1596382200,
"timezone": "UTC"
},
"minute": 90,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 1467946,
"visitorteam_coach_id": 30082158
},
"standings": {
"localteam_position": 1,
"visitorteam_position": 12
},
"assistants": {
"first_assistant_id": 12118,
"second_assistant_id": 17249,
"fourth_official_id": 15815
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#007848",
"kit_colors": "#F0F0F0,#139343,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#F0F0F0"
},
"visitorteam": {
"color": "#0046A8",
"kit_colors": "#0046A8,#0046A8,#0046A8,#0046A8,#C40010,#0046A8,#0046A8"
}

Notice how it’s the same response as our fixture example above? Next up, we’ll show you how to get all the fixtures between two specified dates.

Request fixture by date range

Sometimes, you want to get all the fixtures for a certain date range, such as all the fixtures in a week. Our fixture by date range endpoint will do this for you. You can request fixtures between days, weeks, months, and even years. Once again, the date should be filled in in the YYYY-MM-DD format.

https://soccer.sportmonks.com/api/v2.0/fixtures/between/{startdate}/{enddate}?api_token={API_TOKEN}

Now, let’s say we want to have all the fixtures that are being played in the week of 2020-08-02 until 2020-08-10:

Request
Request
https://soccer.sportmonks.com/api/v2.0/fixtures/between/2020-08-02/2020-08-10?api_token={API_TOKEN}

The API will give you all the fixtures between the requested dates. We'll happily show you the API response, but it's not any different from the response of our previous request.

Request fixture by id

The fixture by id endpoint is perfect when you want to request information about a single fixture. This endpoint is often used for specific match pages. To make use of this endpoint, simply use the following URL:

https://soccer.sportmonks.com/api/v2.0/fixtures/{Fixture_ID}?api_token={API_TOKEN}

Now, we simply add in the fixture id from step 1:

Request
Response
Request
https://soccer.sportmonks.com/api/v2.0/fixtures/16475287?api_token={API_TOKEN}
Response
"data": [
{
"id": 16475287,
"league_id": 501,
"season_id": 17141,
"stage_id": 77447501,
"round_id": 194968,
"group_id": null,
"aggregate_id": null,
"venue_id": 8909,
"referee_id": 14859,
"localteam_id": 53,
"visitorteam_id": 338,
"winner_team_id": 53,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 59.94,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 15.5,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "67%",
"pressure": 1014,
"wind": {
"speed": "10.29 m/s",
"degree": 300
},
"coordinates": {
"lat": 55.87,
"lon": -4.26
},
"updated_at": "2020-08-02T17:15:04.814798Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-2-3-1",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 5,
"visitorteam_score": 1,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "2-1",
"ft_score": "5-1",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-02 15:30:00",
"date": "2020-08-02",
"time": "15:30:00",
"timestamp": 1596382200,
"timezone": "UTC"
},
"minute": 90,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 1467946,
"visitorteam_coach_id": 30082158
},
"standings": {
"localteam_position": 1,
"visitorteam_position": 12
},
"assistants": {
"first_assistant_id": 12118,
"second_assistant_id": 17249,
"fourth_official_id": 15815
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#007848",
"kit_colors": "#F0F0F0,#139343,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#F0F0F0"
},
"visitorteam": {
"color": "#0046A8",
"kit_colors": "#0046A8,#0046A8,#0046A8,#0046A8,#C40010,#0046A8,#0046A8"
}
"deleted": false
"is_placeholder": false,

Well, will you look at that? It’s the exact same response!

You can also retrieve fixtures by using ‘fixtures’ as an include on certain endpoints.

You can also request fixture by multiple ids, in case you want to request more than one. This is a different endpoint An actual request will look like this:

https://soccer.sportmonks.com/api/v2.0/fixtures/multi/16475287,16475288?api_token={API_TOKEN}

And that’s done too.

Note that you can request a maximum of 25 fixtures with this endpoint.

Request all fixtures of your favorite team!

As a football fan, you might be more interested in all the matches of your favorite team. We understand and got you covered with our endpoint: get fixtures by date range for team. This endpoint is basically a minor extension from fixtures by date range:

https://soccer.sportmonks.com/api/v2.0/fixtures/between/{startdate}/{enddate}/{teamID}?api_token={API_TOKEN}

So, let’s say we’re major Celtic fan (team id: 53):

Request
Response
Request
https://soccer.sportmonks.com/api/v2.0/fixtures/between/2020-08-02/2020-08-10/53?api_token={API_TOKEN}
Response
"data": [
{
"id": 16475287,
"league_id": 501,
"season_id": 17141,
"stage_id": 77447501,
"round_id": 194968,
"group_id": null,
"aggregate_id": null,
"venue_id": 8909,
"referee_id": 14859,
"localteam_id": 53,
"visitorteam_id": 338,
"winner_team_id": 53,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 59.94,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 15.5,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "67%",
"pressure": 1014,
"wind": {
"speed": "10.29 m/s",
"degree": 300
},
"coordinates": {
"lat": 55.87,
"lon": -4.26
},
"updated_at": "2020-08-02T17:15:04.814798Z"
},
"commentaries": false,
"attendance": null,
"pitch": null,
"details": null,
"neutral_venue": false,
"winning_odds_calculated": true,
"formations": {
"localteam_formation": "4-2-3-1",
"visitorteam_formation": "4-4-2"
},
"scores": {
"localteam_score": 5,
"visitorteam_score": 1,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "2-1",
"ft_score": "5-1",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-02 15:30:00",
"date": "2020-08-02",
"time": "15:30:00",
"timestamp": 1596382200,
"timezone": "UTC"
},
"minute": 90,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 1467946,
"visitorteam_coach_id": 30082158
},
"standings": {
"localteam_position": 1,
"visitorteam_position": 12
},
"assistants": {
"first_assistant_id": 12118,
"second_assistant_id": 17249,
"fourth_official_id": 15815
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#007848",
"kit_colors": "#F0F0F0,#139343,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#F0F0F0"
},
"visitorteam": {
"color": "#0046A8",
"kit_colors": "#0046A8,#0046A8,#0046A8,#0046A8,#C40010,#0046A8,#0046A8"
}
},
"deleted": false
"is_placeholder": false
},
{
"id": 16475294,
"league_id": 501,
"season_id": 17141,
"stage_id": 77447501,
"round_id": 194969,
"group_id": null,
"aggregate_id": null,
"venue_id": 8906,
"referee_id": 15815,
"localteam_id": 180,
"visitorteam_id": 53,
"winner_team_id": null,
"weather_report": {
"code": "clouds",
"type": "few clouds",
"icon": "https://cdn.sportmonks.com/images/weather/02d.png",
"temperature": {
"temp": 70.25,
"unit": "fahrenheit"
},
"temperature_celcius": {
"temp": 21.3,
"unit": "celcius"
},
"clouds": "20%",
"humidity": "53%",
"pressure": 1020,
"wind": {
"speed": "11.41 m/s",
"degree": 60
},
"coordinates": {
"lat": 55.61,
"lon": -4.5
},
"updated_at": "2020-08-09T17:15:05.093474Z"
},
"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": 1,
"visitorteam_score": 1,
"localteam_pen_score": null,
"visitorteam_pen_score": null,
"ht_score": "1-1",
"ft_score": "1-1",
"et_score": null,
"ps_score": null
},
"time": {
"status": "FT",
"starting_at": {
"date_time": "2020-08-09 15:30:00",
"date": "2020-08-09",
"time": "15:30:00",
"timestamp": 1596987000,
"timezone": "UTC"
},
"minute": 93,
"second": null,
"added_time": null,
"extra_minute": null,
"injury_time": null
},
"coaches": {
"localteam_coach_id": 37382888,
"visitorteam_coach_id": 1467946
},
"standings": {
"localteam_position": 8,
"visitorteam_position": 4
},
"assistants": {
"first_assistant_id": 14467,
"second_assistant_id": 18757,
"fourth_official_id": 14468
},
"leg": "1/1",
"colors": {
"localteam": {
"color": "#F0F0F0",
"kit_colors": "#F0F0F0,#3D55B6,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#0046A8"
},
"visitorteam": {
"color": "#007848",
"kit_colors": "#F0F0F0,#139343,#5B0623,#0A0A0A,#5C8FAE,#FFDF1B,#F0F0F0"
}

Just like that, we requested all the Celtic fixtures between the 2nd of August 2020 and the 10th of August of 2020. This endpoint is excellent for when you are building an application for your favorite team. Because you get to see how your team performed between two dates. If you know the dates for when the season began and when it ended, you can also request all the particular season’s fixtures.

Keep it, synced!

To help you keep your data in sync, we have implemented an endpoint that returns you all the games that have received an update within two hours. Fixtures that have updated lineups, events, or statistics are included. You will only receive updates for fixtures that have ended or haven’t started yet.

https://soccer.sportmonks.com/api/v2.0/fixtures/updates?api_token={API_TOKEN}

Something that’s closely linked to fixtures is our livescores endpoint. We will discuss this in the next chapter.