Live now!

Progress of current post

Harness the Power of Sportmonks’ Football API with C#

Developed by Microsoft almost two and a half decades ago, C# is a versatile and robust, powerful programming language that allows programmers to build dynamic web applications, web services, desktop, and mobile applications.

Time to read 20 min
Published 27 October 2024
Last updated 10 March 2025
Wesley Van Rooij
Harness the Power of Sportmonks’ Football API with C#
Contents

Without much technological jargon, in simple terms, C# was designed to be simple, modern, elegant, and general-purpose.

In this guide, we’ll explore how to harness the capabilities of Sportmonks’ Football API, which has a coverage of more than 2,300 leagues, among them the big five, the Premier League, Serie A, Bundesliga, La Liga, Ligue 1, using this constantly evolving and preferred language of choice, C#.

Influenced by a host of other popular programming languages such as Pascal and C++, C# was designed and developed by two employees of Microsoft Corporation, Anders Hejlsberg and Mads Torgersen, in the year 2000.

C#’s extensive documentation and community makes it a popular choice for rookies and seasoned programmers alike. In addition, numerous tools, such as the well-known IDE, Visual Studio, and its spin-off Visual Studio Code, which we shall deploy in this guide, are available for free.

Just like we have done in the past with Python, PHP, Java, and GO, in this blog we will focus on harnessing the power of Sportmonks API with C#.

Why Choose Sportmonks’ Football API?

Sportmonks’ Football API offers a comprehensive set of endpoints with quality data at pocket-friendly prices, which you can easily integrate with minimal effort. We provide more than 60 endpoints, covering leagues, teams, matches, players, and much more.

Our well-thought-out flexible API allows you to interact with these endpoints to retrieve up-to-date information for as many as 2,200 leagues, eye-catching data for mind-blowing mobile apps, and football-related services for professionals and fans alike.

Our unbeatable coverage for the Premier League, Serie A, Ligue 1, UEFA Champions League, and continental football competitions such as the European Championship has attracted as many as 30,000 users.

We will go through a number of subtopics to help you navigate conveniently.

What can you build with C#?

As mentioned earlier, C# is easy to learn and thanks to its strong online community, plenty of resources are available to get you into the comfort seat no matter what your skillset is.

With C#, you can build cloud, network applications, web services, mobile applications and games, just to mention a few. Did you know one of the most popular Q&A communities, Stack Overflow, was developed with C#? Renowned technology giants such as Google, Adobe, HP and Dell have leveraged C#’s versatility for building hardware specific software and cloud services.

By harnessing the power of C#, developers can quickly and efficiently integrate Sportmonks’ Football API into their projects to query more than 65 endpoints, including a boatload of new stats which were recently added to our API.

In the following chapters, we’ll guide you through installing Visual Studio Code, making a basic API request, and retrieving information from Sportmonks’ Football API. In each chapter, we will feature practical examples and code snippets to illustrate key concepts and help you harness the power of Sportmonks’ Football API with C#.

Chapter 1: Setting up your environment

Successfully using Sportmonks’ Football API with C# requires installing an environment where we can write and compile C#.

1.1 Installing an IDE for C#.

Visual Studio Code (VSC) is a cross-platform IDE and an ideal solution for today’s exercise as it is available on Mac, Windows, and Linux. You may download a free version of VSC here.

Visual_Studio_Code_IDE

However, you will need to install a C# Dev Kit to get started on Visual Studio Code. As an alternative, you can download Monodevelop, which is also a cross-platform IDE. 

For today’s exercise, we will be using VSC to ensure a level playing field since it is easy to install and configure on a host of platforms.

1.2 Getting Started with Sportmonks’ Football API and C#

Now that you have Visual Studio Code installed, it’s time to sink our teeth into the task at hand.

Just like many other HTTP endpoints, Sportmonks’ Football API returns JavaScript Object Notation (JSON) data. You saw plenty of this in our previous blog post using Kotlin, Google’s preferred language for Android.

We will get started with a familiar exercise before we get our hands dirty with all kinds of mind-blowing stats and data from our Football API, which has an extensive coverage of 2,300 leagues.

1.3 Obtaining an API Token

To use the API, sign up for an account. Your account automatically comes with the Danish Super Liga and Scottish Premier League plans. These are free forever.

However, for today’s exercise, you can take advantage of the 14-day free trial on any of the other plans.

Head over to the Create an API Token on your dashboard. Once you create your API token, which is required for authentication and accessing the data endpoints, you must keep it private.

Creat API Token_Sportmonks

If your API token becomes compromised at any time, you can easily delete and create a new one. With your API key ready and Visual Studio Code installed, you’re ready to start making requests to Sportmonks’ Football API.

Chapter 2. Retrieving League Details using C#

In this exercise we will retrieve league details using the league’s endpoint and your API Token. You can easily place this url https://api.sportmonks.com/v3/football/leagues?api_token=API_TOKEN on your browser, before running the code on Visual Studio Code.

using System; 
using System.Net.Http; 
using System.Threading.Tasks; 

class Program 
{ 
    static async Task Main(string[] args) 
    { 
        // Define the base URL of the API 

        string url = "https://api.sportmonks.com/v3/football/leagues?api_token=API_Token"; //replace with your API Token.

        // Create an instance of HttpClient 

        using (HttpClient client = new HttpClient()) 
        { 
            try 
            { 
                // Send a GET request to the API 

                HttpResponseMessage response = await client.GetAsync(url); 

                // Ensure the request was successful 

                response.EnsureSuccessStatusCode(); 

                // Read the response content as a string 

               string responseBody = await response.Content.ReadAsStringAsync(); 
               
// Output the response 

                Console.WriteLine(responseBody); 
            } 
            catch (HttpRequestException e) 
            { 
                // Output any error messages 
                Console.WriteLine($"Request error: {e.Message}"); 
            } 

        } 

    } 

} 
   {"data":[{"id":2,"sport_id":1,"country_id":41,"name":"Champions League","active":true,"short_code":"UEFA CL","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/2.png","type":"league","sub_type":"cup_international","last_played_at":"2024-10-23 19:00:00","category":1,"has_jerseys":false},{"id":5,"sport_id":1,"country_id":41,"name":"Europa League","active":true,"short_code":"UEFA EL","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/5\/5.png","type":"league","sub_type":"cup_international","last_played_at":"2024-10-24 19:00:00","category":1,"has_jerseys":false},{"id":8,"sport_id":1,"country_id":462,"name":"Premier League","active":true,"short_code":"UK PL","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/8\/8.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-27 16:30:00","category":1,"has_jerseys":false},{"id":9,"sport_id":1,"country_id":462,"name":"Championship","active":true,"short_code":"UK Champ","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/9\/9.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-27 15:00:00","category":2,"has_jerseys":false},{"id":12,"sport_id":1,"country_id":462,"name":"League One","active":true,"short_code":"UK L1","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/12\/12.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-28 20:00:00","category":2,"has_jerseys":false},{"id":14,"sport_id":1,"country_id":462,"name":"League Two","active":true,"short_code":"UK L2","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/14\/14.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 14:00:00","category":2,"has_jerseys":false},{"id":17,"sport_id":1,"country_id":462,"name":"National League","active":true,"short_code":"UK NL","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/17\/17.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 16:30:00","category":3,"has_jerseys":false},{"id":20,"sport_id":1,"country_id":462,"name":"Vanarama National League North","active":true,"short_code":"UK NLN","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/20\/20.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 14:00:00","category":4,"has_jerseys":false},{"id":23,"sport_id":1,"country_id":462,"name":"Community Shield","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/23\/23.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-08-10 14:00:00","category":2,"has_jerseys":false},{"id":24,"sport_id":1,"country_id":462,"name":"FA Cup","active":true,"short_code":"UK FA Cup","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/24\/24.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-15 18:45:00","category":2,"has_jerseys":false},{"id":27,"sport_id":1,"country_id":462,"name":"Carabao Cup","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/27\/27.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-01 18:45:00","category":2,"has_jerseys":false},{"id":30,"sport_id":1,"country_id":462,"name":"Fa Trophy","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/30\/30.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-26 14:00:00","category":2,"has_jerseys":false},{"id":32,"sport_id":1,"country_id":462,"name":"Premier League Cup","active":true,"short_code":"ENG DL2","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/0\/32.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-25 18:00:00","category":3,"has_jerseys":false},{"id":35,"sport_id":1,"country_id":462,"name":"Premier League U21","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/3\/35.png","type":"league","sub_type":"domestic","last_played_at":"2016-05-12 10:30:00","category":3,"has_jerseys":false},{"id":38,"sport_id":1,"country_id":462,"name":"Premier League International Cup","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/6\/38.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-28 19:00:00","category":3,"has_jerseys":false},{"id":39,"sport_id":1,"country_id":462,"name":"EFL Trophy","active":true,"short_code":"UK EFLT","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/7\/39.png","type":"league","sub_type":"domestic_cup","last_played_at":"2024-10-08 18:45:00","category":2,"has_jerseys":false},{"id":42,"sport_id":1,"country_id":462,"name":"Premier League U18","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/10\/42.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 12:00:00","category":3,"has_jerseys":false},{"id":44,"sport_id":1,"country_id":462,"name":"Wsl 2 Women","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/12\/44.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-20 13:00:00","category":3,"has_jerseys":false},{"id":45,"sport_id":1,"country_id":462,"name":"Women's Super League","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/13\/45.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-20 17:45:00","category":3,"has_jerseys":false},{"id":48,"sport_id":1,"country_id":462,"name":"Professional Development League","active":true,"short_code":"UK U23 DL","image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/16\/48.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-28 19:00:00","category":4,"has_jerseys":false},{"id":51,"sport_id":1,"country_id":462,"name":"Non League Premier: Isthmian","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/19\/51.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 14:00:00","category":4,"has_jerseys":false},{"id":53,"sport_id":1,"country_id":462,"name":"Non League Div One: Isthmian North","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/21\/53.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-23 18:45:00","category":4,"has_jerseys":false},{"id":54,"sport_id":1,"country_id":462,"name":"Non League Div One: Southern Central","active":true,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/22\/54.png","type":"league","sub_type":"domestic","last_played_at":"2024-10-26 14:00:00","category":4,"has_jerseys":false},{"id":57,"sport_id":1,"country_id":462,"name":"Non League Div One: Northern North","active":false,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/25\/57.png","type":"league","sub_type":"domestic","last_played_at":"2020-12-26 21:00:12","category":4,"has_jerseys":false},{"id":60,"sport_id":1,"country_id":462,"name":"Non League Div One: Isthmian South","active":false,"short_code":null,"image_path":"https:\/\/cdn.sportmonks.com\/images\/soccer\/leagues\/28\/60.png","type":"league","sub_type":"domestic","last_played_at":"2020-11-04 09:00:27","category":4,"has_jerseys":false}],"pagination":{"count":25,"per_page":25,"current_page":1,"next_page":"https:\/\/api.sportmonks.com\/v3\/football\/leagues?page=2","has_more":true},"subscription":[{"meta":{"trial_ends_at":"2024-10-16 14:50:45","ends_at":null,"current_timestamp":1730197289},"plans":[{"plan":"Enterprise plan (loyal)","sport":"Football","category":"Advanced"},{"plan":"Enterprise Plan","sport":"Cricket","category":"Standard"},{"plan":"Formula One","sport":"Formula One","category":"Standard"}],"add_ons":[{"add_on":"All-in News API","sport":"Football","category":"News"},{"add_on":"pressure index add-on","sport":"Football","category":"Default"},{"add_on":"Enterprise Plan Predictions","sport":"Football","category":"Predictions"},{"add_on":"xG Advanced","sport":"Football","category":"Expected"}],"widgets":[{"widget":"Sportmonks Widgets","sport":"Football"}]}],"rate_limit":{"resets_in_seconds":3600,"remaining":2999,"requested_entity":"League"},"timezone":"UTC"}

Explanation.

An httpClient.GetAsync(apiUrl) sends a GET request to the specified URL of the API. The function returns the expected http.Response in JSON, which is displayed on the terminal of your IDE, in this case Visual Studio Code.

The response, which may be difficult to comprehend, contains the server’s response to the request which was made via the url.

Chapter 3. Formatting our JSON Response.

In this chapter, we will add another step by formatting the result to make it easily readable using deserialization. To do so, we will have to install Newton.Json via the package manager.

3.1 Installing Newton.Json Package

Follow the instructions on this page to have the package installed on your edition of Visual Studio Code.

nuget-command-addpackage

Depending on your setup, at the time of this writing, you may be required to install .Net SDK to enable use of Nuget on your edition of Visual Studio Code.

Search for the package Newton.Json after Nuget has been added to your project.

nuget-command-addpackage-

3.2 Formatting the League Results.

Just as you have seen from the JSON response in Chapter 2, each league object typically contains details such as the league ID, name, country, and short code, just to mention a few. Armed with this knowledge, we will create a class to represent the league objects; this will enable us to print selected data items.

Using the same url, here is the modified piece of code.

using System; 
using System.Net.Http; 
using System.Threading.Tasks; 
using Newtonsoft.Json; 
using System.Collections.Generic; 

namespace LeagueData 
{ 
    public class Program 
    { 
        public static async Task Main(string[] args) 
        { 
            string url = "https://api.sportmonks.com/v3/football/leagues?api_token=API_Token"; // Replace with your API token 
            try 
            { 
                using (HttpClient client = new HttpClient()) 
                { 
                    HttpResponseMessage response = await client.GetAsync(url); 
                    response.EnsureSuccessStatusCode();

                    string jsonResponse = await response.Content.ReadAsStringAsync(); 
                    // Deserialize the JSON into a Root object 
     var  deserialized = JsonConvert.DeserializeObject
ID: 2
Sport ID: 1
Country ID: 41
Name: Champions League
Active: True
Short Code: UEFA CL
Sub Type: cup_international
Category: 1
Has Jerseys: False

ID: 5
Sport ID: 1
Country ID: 41
Name: Europa League
Active: True
Short Code: UEFA EL
Sub Type: cup_international
Category: 1
Has Jerseys: False

ID: 8
Sport ID: 1
Country ID: 462
Name: Premier League
Active: True
Short Code: UK PL
Sub Type: domestic
Category: 1
Has Jerseys: False

ID: 9
Sport ID: 1
Country ID: 462
Name: Championship
Active: True
Short Code: UK Champ
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 12
Sport ID: 1
Country ID: 462
Name: League One
Active: True
Short Code: UK L1
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 14
Sport ID: 1
Country ID: 462
Name: League Two
Active: True
Short Code: UK L2
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 17
Sport ID: 1
Country ID: 462
Name: National League
Active: True
Short Code: UK NL
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 20
Sport ID: 1
Country ID: 462
Name: Vanarama National League North
Active: True
Short Code: UK NLN
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 23
Sport ID: 1
Country ID: 462
Name: Community Shield
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 24
Sport ID: 1
Country ID: 462
Name: FA Cup
Active: True
Short Code: UK FA Cup
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 27
Sport ID: 1
Country ID: 462
Name: Carabao Cup
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 30
Sport ID: 1
Country ID: 462
Name: Fa Trophy
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 32
Sport ID: 1
Country ID: 462
Name: Premier League Cup
Active: True
Short Code: ENG DL2
Sub Type: domestic_cup
Category: 3
Has Jerseys: False

ID: 35
Sport ID: 1
Country ID: 462
Name: Premier League U21
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 38
Sport ID: 1
Country ID: 462
Name: Premier League International Cup
Active: True
Short Code:
Sub Type: domestic_cup
Category: 3
Has Jerseys: False

ID: 39
Sport ID: 1
Country ID: 462
Name: EFL Trophy
Active: True
Short Code: UK EFLT
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 42
Sport ID: 1
Country ID: 462
Name: Premier League U18
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 44
Sport ID: 1
Country ID: 462
Name: Wsl 2 Women
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 45
Sport ID: 1
Country ID: 462
Name: Women's Super League
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 48
Sport ID: 1
Country ID: 462
Name: Professional Development League
Active: True
Short Code: UK U23 DL
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 51
Sport ID: 1
Country ID: 462
Name: Non League Premier: Isthmian
Active: True
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 53
Sport ID: 1
Country ID: 462
Name: Non League Div One: Isthmian North
Active: True
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 54
Sport ID: 1
Country ID: 462
Name: Non League Div One: Southern Central
Active: True
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 57
Sport ID: 1
Country ID: 462
Name: Non League Div One: Northern North
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 60
Sport ID: 1
Country ID: 462
Name: Non League Div One: Isthmian South
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

Do note that the result displayed could appear slightly different from yours as it depends on your current plan.

Explanation

A Root class is added to match the structure of the JSON response, with a data property that holds a list of League objects. Then we performed Deserialization. The JSON response is deserialized into the Root object: var deserialized = JsonConvert.DeserializeObject(jsonResponse);.

The data property of the Root object contains the list of League objects, which we iterate over using a loop to print the details in a readable format.

Chapter 3.3 GET LEAGUE FROM SPECIFIC COUNTRY

Using the same piece of code, we can easily retrieve league details using a particular country ID. We will use the country ID: 462, which represents the UK.

All we have to do is replace our URL with https://api.sportmonks.com/v3/football/leagues/countries/462?api_token=API_Token.

using System;  
using System.Net.Http;  
using System.Threading.Tasks;  
using Newtonsoft.Json;  
using System.Collections.Generic;  
 
namespace UK_LeagueData  
{ 
    public class Program  
    {  
        public static async Task Main(string[] args)  
        {  
            string url = "https://api.sportmonks.com/v3/football/leagues/countries/462?api_token=API_TOKEN"; // Replace with your API token  
            try  
            {  
               using (HttpClient client = new HttpClient())  
                {  
                    HttpResponseMessage response = await client.GetAsync(url); 

                    response.EnsureSuccessStatusCode();  

                    string jsonResponse = await response.Content.ReadAsStringAsync();  

                    // Deserialize the JSON into a Root object  

         var  deserialized = JsonConvert.DeserializeObject (jsonResponse);  
        // Iterate through the list and print out details for each league in the UK 

     foreach (var league in deserialized.data) 
        {  
          Console.WriteLine($"ID: {league.id}"); 
 
          Console.WriteLine($"Sport ID: {league.sport_id}"); 
 
          Console.WriteLine($"Country ID: {league.country_id}");  

          Console.WriteLine($"Name: {league.name}"); 
 
          Console.WriteLine($"Active: {league.active}");   

          Console.WriteLine($"Short Code: {league.short_code}");   

          Console.WriteLine($"Sub Type: {league.sub_type}");  

          Console.WriteLine($"Category: {league.category}");  

          Console.WriteLine($"Has Jerseys: {league.has_jerseys}");  

          Console.WriteLine(); // Add a line break for readability  

                    }  
                } 
            }  
            catch (Exception ex)  
            {  
                Console.WriteLine($"An error occurred: {ex.Message}");  
            }  

        }  
        public class League  
        {  
        // Define your data type based on the JSON structure  

            public int id { get; set; }  

            public int sport_id { get; set; }  

            public int country_id { get; set; }  

            public string name { get; set; }  

            public bool active { get; set; }     

            public string short_code { get; set; }  

            public string sub_type { get; set; }  

            public int category { get; set; }  

            public bool has_jerseys { get; set; }  
        }  
       // Define a wrapper class to match the JSON structure  

        public class Root  
        {  
            public List  data { get; set; }  
        }  
    }  
} 
ID: 8
Sport ID: 1
Country ID: 462
Name: Premier League
Active: True
Short Code: UK PL
Sub Type: domestic
Category: 1
Has Jerseys: False

ID: 9
Sport ID: 1
Country ID: 462
Name: Championship
Active: True
Short Code: UK Champ
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 12
Sport ID: 1
Country ID: 462
Name: League One
Active: True
Short Code: UK L1
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 14
Sport ID: 1
Country ID: 462
Name: League Two
Active: True
Short Code: UK L2
Sub Type: domestic
Category: 2
Has Jerseys: False

ID: 17
Sport ID: 1
Country ID: 462
Name: National League
Active: True
Short Code: UK NL
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 20
Sport ID: 1
Country ID: 462
Name: Vanarama National League North
Active: True
Short Code: UK NLN
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 23
Sport ID: 1
Country ID: 462
Name: Community Shield
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 24
Sport ID: 1
Country ID: 462
Name: FA Cup
Active: True
Short Code: UK FA Cup
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 27
Sport ID: 1
Country ID: 462
Name: Carabao Cup
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 30
Sport ID: 1
Country ID: 462
Name: Fa Trophy
Active: True
Short Code:
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 32
Sport ID: 1
Country ID: 462
Name: Premier League Cup
Active: True
Short Code: ENG DL2
Sub Type: domestic_cup
Category: 3
Has Jerseys: False

ID: 35
Sport ID: 1
Country ID: 462
Name: Premier League U21
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 38
Sport ID: 1
Country ID: 462
Name: Premier League International Cup
Active: True
Short Code: 
Sub Type: domestic_cup
Category: 3
Has Jerseys: False

ID: 39
Sport ID: 1
Country ID: 462
Name: EFL Trophy
Active: True
Short Code: UK EFLT
Sub Type: domestic_cup
Category: 2
Has Jerseys: False

ID: 42
Sport ID: 1
Country ID: 462
Name: Premier League U18
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 44
Sport ID: 1
Country ID: 462
Name: Wsl 2 Women
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 45
Sport ID: 1
Country ID: 462
Name: Women's Super League
Active: True
Short Code:
Sub Type: domestic
Category: 3
Has Jerseys: False

ID: 48
Sport ID: 1
Country ID: 462
Name: Professional Development League
Active: True
Short Code: UK U23 DL
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 51
Sport ID: 1
Country ID: 462
Name: Non League Premier: Isthmian
Active: True
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 53
Sport ID: 1
Country ID: 462
Name: Non League Div One: Isthmian North
Active: True
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 54
Sport ID: 1
Country ID: 462
Name: Non League Div One: Southern Central
Active: True
Short Code: 
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 57
Sport ID: 1
Country ID: 462
Name: Non League Div One: Northern North
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 60
Sport ID: 1
Country ID: 462
Name: Non League Div One: Isthmian South
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 63
Sport ID: 1
Country ID: 462
Name: Non League Div One: Northern South
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

ID: 66
Sport ID: 1
Country ID: 462
Name: Non League Div One: Southern S & W
Active: False
Short Code:
Sub Type: domestic
Category: 4
Has Jerseys: False

Chapter 4. Retrieving Fixtures Between Dates from a League

In this chapter, we will retrieve fixtures from a specific league in a period. For this, we will make changes to our piece of code and make use of the Premier League ID from the result seen in Chapter 3.3.

Here’s our new url: https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token=API_TOKEN&filters=fixtureLeagues:8

If you are using a free plan, you may not be able to retrieve the results. However, you may switch your ID to 271 or 501, which are for the Danish Superliga and Scottish Premiership, respectively.

You may also make changes to the date while keeping the format YY/MM/DD.

using System; 
using System.Collections.Generic; 
using System.Net.Http; 
using System.Threading.Tasks; 
using Newtonsoft.Json; 

namespace FixtureRetrievalExample 
{ 
    public class Program 
    { 
       public static async Task Main(string[] args) 
        { 
            string apiUrl = "https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token=API_TOKEN&filters=fixtureLeagues:8"; 
            try 
            { 
                using (HttpClient client = new HttpClient()) 
                { 
                    HttpResponseMessage response = await client.GetAsync(apiUrl); 

                    response.EnsureSuccessStatusCode();  

                    string jsonResponse = await response.Content.ReadAsStringAsync(); 

                    // Deserialize the JSON into a list of Fixture objects 

                    var fixtureResponse = JsonConvert.DeserializeObject (jsonResponse); 

            // Display fixture details 

   if (fixtureResponse != null) 
       { 
         foreach (var fixture in fixtureResponse.Data) 
              { 
                 Console.WriteLine($"Match: {fixture.Name}"); 

                  Console.WriteLine($"Date: {fixture.StartingAt}"); 

                  Console.WriteLine($"Result: {fixture.ResultInfo}"); 

                  Console.WriteLine($"Venue ID: {fixture.VenueId}"); 

                  Console.WriteLine("----------"); 
              } 

            } 

          } 

       } 
            catch (Exception ex) 
            { 
                Console.WriteLine($"An error occurred: {ex.Message}"); 
            } 
        } 
    } 
    // Wrapper class to represent the response structure 
    public class FixtureApiResponse 
    { 
        [JsonProperty("data")] 
        public List  Data { get; set; } 
    } 
    // Fixture class with properties matching the JSON structure 
    public class Fixture 
    { 
        public int Id { get; set; } 

        [JsonProperty("sport_id")] 

        public int SportId { get; set; }      

        [JsonProperty("league_id")] 

        public int LeagueId { get; set; } 

        [JsonProperty("season_id")] 

        public int SeasonId { get; set; } 

        [JsonProperty("stage_id")] 

        public long StageId { get; set; } 

        [JsonProperty("group_id")] 

        public int? GroupId { get; set; } 

        [JsonProperty("aggregate_id")] 

        public int? AggregateId { get; set; } 

        [JsonProperty("round_id")] 

        public int RoundId { get; set; } 

        
        [JsonProperty("state_id")] 

        public int StateId { get; set; }         

        [JsonProperty("venue_id")] 

        public int VenueId { get; set; } 

        public string Name { get; set; } 

        [JsonProperty("starting_at")] 

        public string StartingAt { get; set; } 

        [JsonProperty("result_info")] 

        public string ResultInfo { get; set; } 

        public string Leg { get; set; } 

        public string Details { get; set; } 

        public int Length { get; set; } 

        public bool Placeholder { get; set; }          

        [JsonProperty("has_odds")] 

        public bool HasOdds { get; set; } 

        [JsonProperty("has_premium_odds")] 

        public bool HasPremiumOdds { get; set; }          

        [JsonProperty("starting_at_timestamp")] 

        public long StartingAtTimestamp { get; set; } 
    } 
} 
Match: Leicester City vs Nottingham Forest
Date: 2024-10-25 19:00:00
Result: Nottingham Forest won after full-time.
Venue ID: 117
----------
Match: Aston Villa vs AFC Bournemouth
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue ID: 5
----------
Match: Brentford vs Ipswich Town
Date: 2024-10-26 14:00:00
Result: Brentford won after full-time.
Venue ID: 338817
----------
Match: Brighton & Hove Albion vs Wolverhampton Wanderers
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue ID: 282066
----------
Match: Manchester City vs Southampton
Date: 2024-10-26 14:00:00
Result: Manchester City won after full-time.
Venue ID: 151
----------
Match: Everton vs Fulham
Date: 2024-10-26 16:30:00
Result: Game ended in draw.
Venue ID: 12
----------
Match: Chelsea vs Newcastle United
Date: 2024-10-27 14:00:00
Result: Chelsea won after full-time.
Venue ID: 321614
----------
Match: Crystal Palace vs Tottenham Hotspur
Date: 2024-10-27 14:00:00
Result: Crystal Palace won after full-time.
Venue ID: 201
----------
Match: West Ham United vs Manchester United
Date: 2024-10-27 14:00:00
Result: West Ham United won after full-time.
Venue ID: 214
----------
Match: Arsenal vs Liverpool
Date: 2024-10-27 16:30:00
Result: Game ended in draw.
Venue ID: 204
----------

Chapter 4.1 Including Venue Names.

In our previous blogpost, leveraging sportmonks football API in Kotlin, we edited a piece of code to execute two separate endpoints in an attempt to retrieve league standings with club names.

However, in this blog, we will use a different approach to demonstrate the flexibility of our API. In this section, we shall combine ‘Filters’ with ‘Includes’, two powerful tools that make Sportmonks’ Football API stand out. These tools allow us to write a more elegant piece of code that runs efficiently, considering an improved speed.

Here is our url: https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token={apiToken}&filters=fixtureLeagues:8&include=venue 

Here is the new piece of code.

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace FixturesWithVenueNames
{
    public class Program
    {
        private static string apiToken = "API_Token";

        public static async Task Main(string[] args)
        {
            string fixturesApiUrl = $"https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token={apiToken}&filters=fixtureLeagues:8&include=venue";

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.GetAsync(fixturesApiUrl);
                    response.EnsureSuccessStatusCode();

                    string jsonResponse = await response.Content.ReadAsStringAsync();

                    var fixtureResponse = JsonConvert.DeserializeObject(jsonResponse);

                    if (fixtureResponse != null)
                    {
                        foreach (var fixture in fixtureResponse.Data)
                        {

                            Console.WriteLine($"Match: {fixture.Name}");
                            Console.WriteLine($"Date: {fixture.StartingAt}");
                            Console.WriteLine($"Result: {fixture.ResultInfo}");
                            Console.WriteLine($"Venue Name: {fixture.Venue.Name}");
                            Console.WriteLine("----------");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
        }
    }

    // Wrapper class for fixture response 
    public class FixtureApiResponse
    {
        [JsonProperty("data")]
        public ListData { get; set; }
    }

    // Fixture class for fixture details 
    public class Fixture
    {
        public int Id { get; set; }
        [JsonProperty("sport_id")]
        public int SportId { get; set; }
        [JsonProperty("league_id")]
        public int LeagueId { get; set; }
        [JsonProperty("season_id")]
        public int SeasonId { get; set; }
        [JsonProperty("stage_id")]
        public long StageId { get; set; }
        [JsonProperty("group_id")]
        public int? GroupId { get; set; }
        [JsonProperty("aggregate_id")]
        public int? AggregateId { get; set; }
        [JsonProperty("round_id")]
        public int RoundId { get; set; }
        [JsonProperty("state_id")]
        public int StateId { get; set; }
        [JsonProperty("venue")]
        public Venue Venue { get; set; }
        public string Name { get; set; }
        [JsonProperty("starting_at")]
        public string StartingAt { get; set; }
        [JsonProperty("result_info")]
        public string ResultInfo { get; set; }
        public string Leg { get; set; }
        public string Details { get; set; }
        public int Length { get; set; }
        public bool Placeholder { get; set; }
        [JsonProperty("has_odds")]
        public bool HasOdds { get; set; }
        [JsonProperty("has_premium_odds")]
        public bool HasPremiumOdds { get; set; }
        [JsonProperty("starting_at_timestamp")]
        public long StartingAtTimestamp { get; set; }
    }

    // Venue class for venue details 
    public class Venue
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}
Match: Leicester City vs Nottingham Forest
Date: 2024-10-25 19:00:00
Result: Nottingham Forest won after full-time.
Venue Name: King Power Stadium
----------
Match: Aston Villa vs AFC Bournemouth
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue Name: Villa Park
----------
Match: Brentford vs Ipswich Town
Date: 2024-10-26 14:00:00
Result: Brentford won after full-time.
Venue Name: Brentford Community Stadium
----------
Match: Brighton & Hove Albion vs Wolverhampton Wanderers
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue Name: Broadfield Stadium
----------
Match: Manchester City vs Southampton
Date: 2024-10-26 14:00:00
Result: Manchester City won after full-time.
Venue Name: Etihad Stadium
----------
Match: Everton vs Fulham
Date: 2024-10-26 16:30:00
Result: Game ended in draw.
Venue Name: Goodison Park
----------
Match: Chelsea vs Newcastle United
Date: 2024-10-27 14:00:00
Result: Chelsea won after full-time.
Venue Name: Stamford Bridge
----------
Match: Crystal Palace vs Tottenham Hotspur
Date: 2024-10-27 14:00:00
Result: Crystal Palace won after full-time.
Venue Name: Selhurst Park
----------
Match: West Ham United vs Manchester United
Date: 2024-10-27 14:00:00
Result: West Ham United won after full-time.
Venue Name: London Stadium
----------
Match: Arsenal vs Liverpool
Date: 2024-10-27 16:30:00
Result: Game ended in draw.
Venue Name: Emirates Stadium
----------

The improved piece of code sends a GET request to retrieve fixtures within a date range. It then applies a filter that narrows the results down to only fixtures from the Premier League before including the venues where each game was played.

CHAPTER 5. Retrieve TV stations.

We will take one step further in this final chapter by displaying all TV stations where a particular fixture will be shown. This comes in handy if you are building a media app where you wish to let your users know where they can legally watch each game.

Here is the url to have TV Stations displayed.

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace FixturesVenuesTVStations
{
    public class Program
    {
        private static string apiToken = "API_Token";

        public static async Task Main(string[] args)
        {
            string fixturesApiUrl = $"https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token={apiToken}&include=venue;tvstations.tvstation;tvstations.country&filters=fixtureLeagues:8";

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.GetAsync(fixturesApiUrl);
                    response.EnsureSuccessStatusCode();

                    string jsonResponse = await response.Content.ReadAsStringAsync();
                   
 var fixtureResponse = JsonConvert.DeserializeObject
(jsonResponse);

                    if (fixtureResponse != null)
                    {
                        foreach (var fixture in fixtureResponse.Data)
                        {
                            Console.WriteLine($"Match: {fixture.Name}");
                            Console.WriteLine($"Match ID: {fixture.Id}");
                            Console.WriteLine($"Date: {fixture.StartingAt}");
                            Console.WriteLine($"Result: {fixture.ResultInfo}");
                            Console.WriteLine($"Venue Name: {fixture.Venue.Name}");
                            Console.WriteLine("TV Stations:");
                            foreach (var tvStation in fixture.TvStations) {
                                Console.WriteLine($"{tvStation.TVStation.Name} ({tvStation.Country.Name})"); // Display TV stations
                            }
                            Console.WriteLine("----------");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
        }
    }

    // Wrapper class for fixture response 
    public class FixtureApiResponse
    {
        [JsonProperty("data")]
        public ListData { get; set; }
    }

    // Fixture class for fixture details 
    public class Fixture
    {
        public int Id { get; set; }
        [JsonProperty("sport_id")]
        public int SportId { get; set; }
        [JsonProperty("league_id")]
        public int LeagueId { get; set; }
        [JsonProperty("season_id")]
        public int SeasonId { get; set; }
        [JsonProperty("stage_id")]
        public long StageId { get; set; }
        [JsonProperty("group_id")]
        public int? GroupId { get; set; }
        [JsonProperty("aggregate_id")]
        public int? AggregateId { get; set; }
        [JsonProperty("round_id")]
        public int RoundId { get; set; }
        [JsonProperty("state_id")]
        public int StateId { get; set; }
        [JsonProperty("venue")]
        public Venue Venue { get; set; }
        public string Name { get; set; }
        [JsonProperty("starting_at")]
        public string StartingAt { get; set; }
        [JsonProperty("result_info")]
        public string ResultInfo { get; set; }
        public string Leg { get; set; }
        public string Details { get; set; }
        public int Length { get; set; }
        public bool Placeholder { get; set; }
        [JsonProperty("has_odds")]
        public bool HasOdds { get; set; }
        [JsonProperty("has_premium_odds")]
        public bool HasPremiumOdds { get; set; }
        [JsonProperty("starting_at_timestamp")]
        public long StartingAtTimestamp { get; set; }
        [JsonProperty("tvstations")]
        public List TvStations { get; set; }
    }

    // Venue class for venue details 
    public class Venue
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    // Fixture TV Station class containing the TV station
    public class FixtureTVStation
    {
        [JsonProperty("tvstation")]
        public TVStation TVStation { get; set; }
        [JsonProperty("country")]
        public Country Country { get; set; }
    }

    // TV Station class for TV station details 
    public class TVStation
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    // Country class for country details 
    public class Country
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}
 
SuperSport Premier League ROA (Malawi)
SuperSport Premier League ROA (Tanzania)
SuperSport Premier League ROA (Eritrea)
SuperSport Premier League ROA (Ethiopia)
SuperSport Premier League ROA (Sudan)
SuperSport Premier League ROA (Niger)
SuperSport Premier League ROA (Rwanda)
SuperSport Premier League ROA (Chad)
SuperSport Premier League ROA (São Tomé and Príncipe)
SuperSport Premier League ROA (South Sudan)
SuperSport Premier League ROA (Botswana)
SuperSport Premier League ROA (Equatorial Guinea)
SuperSport Premier League ROA (Mauritius)
SuperSport Premier League ROA (Comoros)
SuperSport Premier League ROA (Lesotho)
SuperSport Premier League ROA (Djibouti)
SuperSport Premier League ROA (Seychelles)
DStv Now (Ivory Coast)
DStv Now (Mali)
DStv Now (Senegal)
DStv Now (Ghana)
DStv Now (Cameroon)
DStv Now (Burkina Faso)
DStv Now (Nigeria)
DStv Now (Liberia)
DStv Now (Burundi)
DStv Now (Angola)
DStv Now (Kenya)
DStv Now (Madagascar)
DStv Now (Guinea)
DStv Now (Guinea-Bissau)
DStv Now (Zimbabwe)
DStv Now (Mauritania)
DStv Now (Gambia)
DStv Now (Togo)
DStv Now (Gabon)
DStv Now (Uganda)
DStv Now (Sierra Leone)
DStv Now (Namibia)
DStv Now (Mozambique)
DStv Now (Swaziland)
DStv Now (Malawi)
DStv Now (Tanzania)
DStv Now (Eritrea)
DStv Now (Ethiopia)
DStv Now (Sudan)
DStv Now (Niger)
DStv Now (Chad)
DStv Now (South Sudan)
DStv Now (Botswana)
DStv Now (Equatorial Guinea)
DStv Now (Mauritius)
DStv Now (Lesotho)
DStv Now (Djibouti)
DStv Now (Seychelles)
Moja TV (Bosnia and Herzegovina)
Astro Go (Malaysia)
Play Diema Xtra (Bulgaria)
QQ Sports Live (China)
Migu (China)
Sky Sport NOW (New Zealand)
Sky Sport NOW (Fiji)
Sky Sport NOW (Solomon Islands)
Sky Sport NOW (Vanuatu)
Sky Sport NOW (Samoa)
Sky Sport NOW (Tonga)
Sky Sport NOW (Niue)
Sky Sport NOW (Tuvalu)
JioTV (India)
Vidio (Indonesia)
BBC Radio 5 Live (England)
SuperSport Premier League Nigeria (Nigeria)
StarHub TV+ (Singapore)
DStv App (South Africa)
SiriusXM FC (United States)
Movistar Futbol (Spain)
TV3 MAX (Denmark)
TV3 MAX (Faroe Islands)
Sky Sport Uno (Italy)
Diema Sport 2 (Bulgaria)
Optus Sport (Australia)
V Sport Premium (Sweden)
V Sport Premium (Finland)
SKY Go Italia (Italy)
NOW TV (Italy)
Viaplay Norway (Norway)
GO TV Anywhere (Malta)
iQiyi (China)
iQiyi (Macau)
beIN SPORTS CONNECT Arabia (Palestine)
Peacock (United States)
TOD (Iraq)
TOD (Turkey)
TOD (Algeria)
TOD (Egypt)
TOD (Morocco)
TOD (Tunisia)
TOD (Mauritania)
TOD (United Arab Emirates)
TOD (Syria)
TOD (Oman)
TOD (Somalia)
TOD (Libya)
TOD (Kuwait)
TOD (Saudi Arabia)
TOD (Lebanon)
TOD (Palestine)
TOD (Qatar)
TOD (Jordan)
TOD (Chad)
TOD (South Sudan)
TOD (Yemen)
TOD (Bahrain)
TOD (Djibouti)
True Premier Football HD 1 (Thailand)
True Premier Football HD 2 (Thailand)
Skylink (Czech Republic)
Skylink (Slovakia)
221 Hub Premier 1 (Singapore)
Digi Online (Romania)
Orange TV Go (Romania)
Viaplay Netherlands (Netherlands)
Sport 24 Extra (International)
TV2 Play (Hungary)
NOW (England)
Zapping (Brazil)
Claro TV+ (Brazil)
Vivo Play (Brazil)
Sky+ (Brazil)
SKY Go Italia (Italy)
Elisa Viihde Viaplay (Finland)
beIN CONNECT Turkey (Turkey)
----------
Match: Chelsea vs Newcastle United
Match ID: 19134527
Date: 2024-10-27 14:00:00
Result: Chelsea won after full-time.
Venue Name: Stamford Bridge
TV Stations:
DAZN (Spain)
Play Sports (Belgium)
Play Sports 1 (Belgium)
Arena Sport 1 (Croatia)
Arena Sport 1 (Slovenia)
Viaplay Denmark (Denmark)
Sky Go (Germany)
Viaplay Sweden (Sweden)
Viaplay Poland (Poland)
Sky Ultra HD (Republic of Ireland)
Sky Ultra HD (England)
Sky Sports Premier League (Republic of Ireland)
Sky Sports Premier League (England)
SKY GO Extra (Republic of Ireland)
SKY GO Extra (England)
Sky Sports Main Event (Republic of Ireland)
Sky Sports Main Event (England)
Optus Sport (Australia)
Canal+ Foot (France)
Canal+ Foot (Switzerland)
Canal+ Foot (Andorra)
beIN SPORTS CONNECT (Iraq)
beIN SPORTS CONNECT (Iran)
beIN SPORTS CONNECT (Algeria)
beIN SPORTS CONNECT (Egypt)
beIN SPORTS CONNECT (Morocco)
beIN SPORTS CONNECT (Tunisia)
beIN SPORTS CONNECT (Mauritania)
beIN SPORTS CONNECT (United Arab Emirates)
beIN SPORTS CONNECT (Syria)
beIN SPORTS CONNECT (Oman)
beIN SPORTS CONNECT (Somalia)
beIN SPORTS CONNECT (Libya)
beIN SPORTS CONNECT (Kuwait)
beIN SPORTS CONNECT (Saudi Arabia)
beIN SPORTS CONNECT (Lebanon)
beIN SPORTS CONNECT (Palestine)
beIN SPORTS CONNECT (Sudan)
beIN SPORTS CONNECT (Qatar)
beIN SPORTS CONNECT (Jordan)
beIN SPORTS CONNECT (Chad)
beIN SPORTS CONNECT (South Sudan)
beIN SPORTS CONNECT (Yemen)
beIN SPORTS CONNECT (Bahrain)
beIN SPORTS CONNECT (Djibouti)
SuperSport MáXimo 3 (International)
SuperSport MaXimo 1 (Ivory Coast)
SuperSport MaXimo 1 (Mali)
SuperSport MaXimo 1 (South Africa)
SuperSport MaXimo 1 (Senegal)
SuperSport MaXimo 1 (Ghana)
SuperSport MaXimo 1 (Cameroon)
SuperSport MaXimo 1 (Burkina Faso)
SuperSport MaXimo 1 (Nigeria)
SuperSport MaXimo 1 (Liberia)
SuperSport MaXimo 1 (Burundi)
SuperSport MaXimo 1 (Angola)
SuperSport MaXimo 1 (Kenya)
SuperSport MaXimo 1 (Central African Republic)
SuperSport MaXimo 1 (Madagascar)
SuperSport MaXimo 1 (Guinea)
SuperSport MaXimo 1 (Guinea-Bissau)
SuperSport MaXimo 1 (Zimbabwe)
SuperSport MaXimo 1 (Mauritania)
SuperSport MaXimo 1 (Gambia)
SuperSport MaXimo 1 (Zambia)
SuperSport MaXimo 1 (Togo)
SuperSport MaXimo 1 (Gabon)
SuperSport MaXimo 1 (Uganda)
SuperSport MaXimo 1 (Mayotte)
SuperSport MaXimo 1 (Sierra Leone)
SuperSport MaXimo 1 (Namibia)
SuperSport MaXimo 1 (Mozambique)
SuperSport MaXimo 1 (Somalia)
SuperSport MaXimo 1 (Benin)
SuperSport MaXimo 1 (Swaziland)
SuperSport MaXimo 1 (Malawi)
SuperSport MaXimo 1 (Tanzania)
SuperSport MaXimo 1 (Eritrea)
SuperSport MaXimo 1 (Ethiopia)
SuperSport MaXimo 1 (Sudan)
SuperSport MaXimo 1 (Niger)
SuperSport MaXimo 1 (Rwanda)
SuperSport MaXimo 1 (Chad)
SuperSport MaXimo 1 (São Tomé and Príncipe)
SuperSport MaXimo 1 (South Sudan)
SuperSport MaXimo 1 (Botswana)
SuperSport MaXimo 1 (Equatorial Guinea)
SuperSport MaXimo 1 (Mauritius)
SuperSport MaXimo 1 (Comoros)
SuperSport MaXimo 1 (Lesotho)
SuperSport MaXimo 1 (Djibouti)
SuperSport MaXimo 1 (Seychelles)
DStv Now (Ivory Coast)
DStv Now (Mali)
DStv Now (Senegal)
DStv Now (Ghana)
DStv Now (Cameroon)
DStv Now (Burkina Faso)
DStv Now (Nigeria)
DStv Now (Liberia)
DStv Now (Burundi)
DStv Now (Angola)
DStv Now (Kenya)
DStv Now (Madagascar)
DStv Now (Guinea)
DStv Now (Guinea-Bissau)
DStv Now (Zimbabwe)
DStv Now (Mauritania)
DStv Now (Gambia)
DStv Now (Togo)
DStv Now (Gabon)
DStv Now (Uganda)
DStv Now (Sierra Leone)
DStv Now (Namibia)
DStv Now (Mozambique)
DStv Now (Swaziland)
DStv Now (Malawi)
DStv Now (Tanzania)
DStv Now (Eritrea)
DStv Now (Ethiopia)
DStv Now (Sudan)
DStv Now (Niger)
DStv Now (Chad)
DStv Now (South Sudan)
DStv Now (Botswana)
DStv Now (Equatorial Guinea)
DStv Now (Mauritius)
DStv Now (Lesotho)
DStv Now (Djibouti)
DStv Now (Seychelles)
Moja TV (Bosnia and Herzegovina)
Astro Go (Malaysia)
Play Diema Xtra (Bulgaria)
QQ Sports Live (China)
Migu (China)
Sky Sport NOW (New Zealand)
Sky Sport NOW (Fiji)
Sky Sport NOW (Solomon Islands)
Sky Sport NOW (Vanuatu)
Sky Sport NOW (Samoa)
Sky Sport NOW (Tonga)
Sky Sport NOW (Niue)
Sky Sport NOW (Tuvalu)
Sky Sport 7 beIN Sports (New Zealand)
Sky Sport 7 beIN Sports (International)
JioTV (India)
Vidio (Indonesia)
ArtMotion (Kosovo)
StarHub TV+ (Singapore)
DStv App (South Africa)
SiriusXM FC (United States)
Sport 2 (Israel)
Movistar Futbol (Spain)
Sky Sport Uno (Italy)
Diema Sport 2 (Bulgaria)
Optus Sport (Australia)
Play Sports 2 (Belgium)
SKY Go Italia (Italy)
NOW TV (Italy)
Viaplay Norway (Norway)
GO TV Anywhere (Malta)
iQiyi (China)
iQiyi (Macau)
beIN SPORTS CONNECT Arabia (Palestine)
NBC Sports App (United States)
USA Network (United States)
nbcsports.com (United States)
TOD (Iraq)
TOD (Turkey)
TOD (Algeria)
TOD (Egypt)
TOD (Morocco)
TOD (Tunisia)
TOD (Mauritania)
TOD (United Arab Emirates)
TOD (Syria)
TOD (Oman)
TOD (Somalia)
TOD (Libya)
TOD (Kuwait)
TOD (Saudi Arabia)
TOD (Lebanon)
TOD (Palestine)
TOD (Qatar)
TOD (Jordan)
TOD (Chad)
TOD (South Sudan)
TOD (Yemen)
TOD (Bahrain)
TOD (Djibouti)
DAZN 2 (Spain)
Skylink (Czech Republic)
Skylink (Slovakia)
Digi Online (Romania)
Orange TV Go (Romania)
Viaplay Netherlands (Netherlands)
Sport 24 Extra (International)
TV2 Play (Hungary)
NOW (England)
SKY Go Italia (Italy)
Elisa Viihde Viaplay (Finland)
Viaplay Iceland (Iceland)
beIN CONNECT Turkey (Turkey)
Digiturk Play (Turkey)
----------
Match: Crystal Palace vs Tottenham Hotspur
Match ID: 19134528
Date: 2024-10-27 14:00:00
Result: Crystal Palace won after full-time.
Venue Name: Selhurst Park
TV Stations:
DAZN (Spain)
Play Sports (Belgium)
Viaplay Denmark (Denmark)
Viaplay Sweden (Sweden)
Viaplay Poland (Poland)
Optus Sport (Australia)
beIN SPORTS CONNECT (Iraq)
beIN SPORTS CONNECT (Iran)
beIN SPORTS CONNECT (Algeria)
beIN SPORTS CONNECT (Egypt)
beIN SPORTS CONNECT (Morocco)
beIN SPORTS CONNECT (Tunisia)
beIN SPORTS CONNECT (Mauritania)
beIN SPORTS CONNECT (United Arab Emirates)
beIN SPORTS CONNECT (Syria)
beIN SPORTS CONNECT (Oman)
beIN SPORTS CONNECT (Somalia)
beIN SPORTS CONNECT (Libya)
beIN SPORTS CONNECT (Kuwait)
beIN SPORTS CONNECT (Saudi Arabia)
beIN SPORTS CONNECT (Lebanon)
beIN SPORTS CONNECT (Palestine)
beIN SPORTS CONNECT (Sudan)
beIN SPORTS CONNECT (Qatar)
beIN SPORTS CONNECT (Jordan)
beIN SPORTS CONNECT (Chad)
beIN SPORTS CONNECT (South Sudan)
beIN SPORTS CONNECT (Yemen)
beIN SPORTS CONNECT (Bahrain)
beIN SPORTS CONNECT (Djibouti)
DStv Now (Mali)
DStv Now (Senegal)
DStv Now (Ghana)
DStv Now (Cameroon)
DStv Now (Burkina Faso)
DStv Now (Nigeria)
DStv Now (Liberia)
DStv Now (Burundi)
DStv Now (Angola)
DStv Now (Kenya)
DStv Now (Madagascar)
DStv Now (Guinea)
DStv Now (Guinea-Bissau)
DStv Now (Zimbabwe)
DStv Now (Mauritania)
DStv Now (Gambia)
DStv Now (Togo)
DStv Now (Gabon)
DStv Now (Uganda)
DStv Now (Sierra Leone)
DStv Now (Namibia)
DStv Now (Mozambique)
DStv Now (Swaziland)
DStv Now (Malawi)
DStv Now (Tanzania)
DStv Now (Eritrea)
DStv Now (Ethiopia)
DStv Now (Sudan)
DStv Now (Niger)
DStv Now (Chad)
DStv Now (South Sudan)
DStv Now (Botswana)
DStv Now (Equatorial Guinea)
DStv Now (Mauritius)
DStv Now (Lesotho)
DStv Now (Djibouti)
DStv Now (Seychelles)
Moja TV (Bosnia and Herzegovina)
Astro Go (Malaysia)
QQ Sports Live (China)
Migu (China)
Sky Sport NOW (New Zealand)
Sky Sport NOW (Fiji)
Sky Sport NOW (Solomon Islands)
Sky Sport NOW (Vanuatu)
Sky Sport NOW (Samoa)
Sky Sport NOW (Tonga)
Sky Sport NOW (Niue)
Sky Sport NOW (Tuvalu)
JioTV (India)
Vidio (Indonesia)
StarHub TV+ (Singapore)
DStv App (South Africa)
Viaplay Norway (Norway)
Viaplay Netherlands (Netherlands)
SKY Go Italia (Italy)
Elisa Viihde Viaplay (Finland)
beIN CONNECT Turkey (Turkey)
----------
Match: West Ham United vs Manchester United
Match ID: 19134532
Date: 2024-10-27 14:00:00
Result: West Ham United won after full-time.
Venue Name: London Stadium
TV Stations:
DAZN (Spain)
Play Sports (Belgium)
Play Sports 3 (Belgium)
Sky Go (Germany)
Viaplay Poland (Poland)
Sky Sports Premier League (Austria)
Optus Sport (Australia)
beIN SPORTS CONNECT (Iraq)
beIN SPORTS CONNECT (Iran)
beIN SPORTS CONNECT (Algeria)
beIN SPORTS CONNECT (Egypt)
beIN SPORTS CONNECT (Morocco)
beIN SPORTS CONNECT (Tunisia)
beIN SPORTS CONNECT (Mauritania)
beIN SPORTS CONNECT (United Arab Emirates)
beIN SPORTS CONNECT (Syria)
beIN SPORTS CONNECT (Oman)
beIN SPORTS CONNECT (Somalia)
beIN SPORTS CONNECT (Libya)
beIN SPORTS CONNECT (Kuwait)
beIN SPORTS CONNECT (Saudi Arabia)
beIN SPORTS CONNECT (Lebanon)
beIN SPORTS CONNECT (Palestine)
beIN SPORTS CONNECT (Sudan)
beIN SPORTS CONNECT (Qatar)
beIN SPORTS CONNECT (Jordan)
beIN SPORTS CONNECT (Chad)
beIN SPORTS CONNECT (South Sudan)
beIN SPORTS CONNECT (Yemen)
beIN SPORTS CONNECT (Bahrain)
beIN SPORTS CONNECT (Djibouti)
SuperSport MaXimo 2 (Mali)
SuperSport MaXimo 2 (South Africa)
SuperSport MaXimo 2 (Senegal)
SuperSport MaXimo 2 (Ghana)
SuperSport MaXimo 2 (Cameroon)
SuperSport MaXimo 2 (Burkina Faso)
SuperSport MaXimo 2 (Nigeria)
SuperSport MaXimo 2 (Liberia)
SuperSport MaXimo 2 (Burundi)
SuperSport MaXimo 2 (Angola)
SuperSport MaXimo 2 (Kenya)
SuperSport MaXimo 2 (Central African Republic)
SuperSport MaXimo 2 (Madagascar)
SuperSport MaXimo 2 (Guinea)
SuperSport MaXimo 2 (Guinea-Bissau)
SuperSport MaXimo 2 (Zimbabwe)
SuperSport MaXimo 2 (Mauritania)
SuperSport MaXimo 2 (Gambia)
SuperSport MaXimo 2 (Zambia)
SuperSport MaXimo 2 (Togo)
SuperSport MaXimo 2 (Gabon)
SuperSport MaXimo 2 (Uganda)
SuperSport MaXimo 2 (Mayotte)
SuperSport MaXimo 2 (Sierra Leone)
SuperSport MaXimo 2 (Namibia)
SuperSport MaXimo 2 (Mozambique)
SuperSport MaXimo 2 (Somalia)
SuperSport MaXimo 2 (Benin)
SuperSport MaXimo 2 (Swaziland)
SuperSport MaXimo 2 (Malawi)
SuperSport MaXimo 2 (Tanzania)
SuperSport MaXimo 2 (Eritrea)
SuperSport MaXimo 2 (Ethiopia)
SuperSport MaXimo 2 (Sudan)
SuperSport MaXimo 2 (Niger)
SuperSport MaXimo 2 (Rwanda)
SuperSport MaXimo 2 (Chad)
SuperSport MaXimo 2 (Botswana)
SuperSport MaXimo 2 (Equatorial Guinea)
SuperSport MaXimo 2 (Mauritius)
SuperSport MaXimo 2 (Comoros)
SuperSport MaXimo 2 (Lesotho)
SuperSport MaXimo 2 (Djibouti)
SuperSport MaXimo 2 (Seychelles)
SuperSport Premier League ROA (Mali)
SuperSport Premier League ROA (Senegal)
SuperSport Premier League ROA (Ghana)
SuperSport Premier League ROA (Cameroon)
SuperSport Premier League ROA (Burkina Faso)
SuperSport Premier League ROA (Liberia)
SuperSport Premier League ROA (Burundi)
SuperSport Premier League ROA (Angola)
SuperSport Premier League ROA (Kenya)
SuperSport Premier League ROA (Madagascar)
SuperSport Premier League ROA (Guinea)
SuperSport Premier League ROA (Guinea-Bissau)
SuperSport Premier League ROA (Zimbabwe)
SuperSport Premier League ROA (Mauritania)
SuperSport Premier League ROA (Gambia)
SuperSport Premier League ROA (Zambia)
SuperSport Premier League ROA (Togo)
SuperSport Premier League ROA (Gabon)
SuperSport Premier League ROA (Uganda)
SuperSport Premier League ROA (Mayotte)
SuperSport Premier League ROA (Sierra Leone)
SuperSport Premier League ROA (Namibia)
SuperSport Premier League ROA (Mozambique)
SuperSport Premier League ROA (Somalia)
SuperSport Premier League ROA (Benin)
SuperSport Premier League ROA (Swaziland)
SuperSport Premier League ROA (Malawi)
SuperSport Premier League ROA (Tanzania)
SuperSport Premier League ROA (Eritrea)
SuperSport Premier League ROA (Ethiopia)
SuperSport Premier League ROA (Sudan)
SuperSport Premier League ROA (Niger)
SuperSport Premier League ROA (Rwanda)
SuperSport Premier League ROA (Chad)
SuperSport Premier League ROA (Botswana)
SuperSport Premier League ROA (Equatorial Guinea)
SuperSport Premier League ROA (Mauritius)
SuperSport Premier League ROA (Comoros)
SuperSport Premier League ROA (Lesotho)
SuperSport Premier League ROA (Djibouti)
SuperSport Premier League ROA (Seychelles)
DStv Now (Mali)
DStv Now (Senegal)
DStv Now (Ghana)
DStv Now (Cameroon)
DStv Now (Burkina Faso)
DStv Now (Nigeria)
DStv Now (Liberia)
DStv Now (Burundi)
DStv Now (Angola)
DStv Now (Kenya)
DStv Now (Madagascar)
DStv Now (Guinea)
DStv Now (Guinea-Bissau)
DStv Now (Zimbabwe)
DStv Now (Mauritania)
DStv Now (Gambia)
DStv Now (Togo)
DStv Now (Gabon)
DStv Now (Uganda)
DStv Now (Sierra Leone)
DStv Now (Namibia)
DStv Now (Mozambique)
DStv Now (Swaziland)
DStv Now (Malawi)
DStv Now (Tanzania)
DStv Now (Eritrea)
DStv Now (Ethiopia)
DStv Now (Sudan)
DStv Now (Niger)
DStv Now (Chad)
DStv Now (South Sudan)
DStv Now (Botswana)
DStv Now (Equatorial Guinea)
DStv Now (Mauritius)
DStv Now (Lesotho)
DStv Now (Djibouti)
DStv Now (Seychelles)
Moja TV (Bosnia and Herzegovina)
Astro Go (Malaysia)
Play Diema Xtra (Bulgaria)
QQ Sports Live (China)
Migu (China)
Sky Sport NOW (New Zealand)
Sky Sport NOW (Fiji)
Sky Sport NOW (Solomon Islands)
Sky Sport NOW (Vanuatu)
Sky Sport NOW (Samoa)
Sky Sport NOW (Tonga)
Sky Sport NOW (Niue)
Sky Sport NOW (Tuvalu)
JioTV (India)
Vidio (Indonesia)
BBC Radio 5 Live (England)
ArtMotion (Kosovo)
SuperSport Premier League Nigeria (Nigeria)
StarHub TV+ (Singapore)
DStv App (South Africa)
Canal+ Sport 360 (France)
Viaplay Norway (Norway)
Viaplay Netherlands (Netherlands)
Zapping (Brazil)
Claro TV+ (Brazil)
Vivo Play (Brazil)
Sky+ (Brazil)
SKY Go Italia (Italy)
Elisa Viihde Viaplay (Finland)
Arena 2 Premium (Serbia)
Arena 2 Premium (Montenegro)
Arena 2 Premium (Macedonia)
beIN CONNECT Turkey (Turkey)
----------
Match: Arsenal vs Liverpool
Match ID: 19134523
Date: 2024-10-27 16:30:00
Result: Game ended in draw.
Venue Name: Emirates Stadium
TV Stations:
DAZN (Spain)
Play Sports (Belgium)
Play Sports 1 (Belgium)
Arena Sport 1 (Croatia)
Arena Sport 1 (Slovenia)
Viaplay Denmark (Denmark)
Sky Go (Germany)
Viaplay Sweden (Sweden)
Viaplay Poland (Poland)
Sky Ultra HD (Republic of Ireland)
Sky Ultra HD (England)
Sky Sports Premier League (Germany)
Sky Sports Premier League (Switzerland)
Sky Sports Premier League (Austria)
Sky Sports Premier League (Republic of Ireland)
Sky Sports Premier League (England)
SKY GO Extra (Republic of Ireland)
SKY GO Extra (England)
Sky Sports Main Event (Germany)
Sky Sports Main Event (Switzerland)
Sky Sports Main Event (Austria)
Sky Sports Main Event (Republic of Ireland)
Sky Sports Main Event (England)
Optus Sport (Australia)
Canal+ Foot (France)
Canal+ Foot (Switzerland)
Canal+ Foot (Andorra)
Canal+ Foot (Togo)
beIN SPORTS CONNECT (Iraq)
beIN SPORTS CONNECT (Iran)
beIN SPORTS CONNECT (Algeria)
beIN SPORTS CONNECT (Egypt)
beIN SPORTS CONNECT (Morocco)
beIN SPORTS CONNECT (Tunisia)
beIN SPORTS CONNECT (Mauritania)
beIN SPORTS CONNECT (United Arab Emirates)
beIN SPORTS CONNECT (Syria)
beIN SPORTS CONNECT (Oman)
beIN SPORTS CONNECT (Somalia)
beIN SPORTS CONNECT (Libya)
beIN SPORTS CONNECT (Kuwait)
beIN SPORTS CONNECT (Saudi Arabia)
beIN SPORTS CONNECT (Lebanon)
beIN SPORTS CONNECT (Palestine)
beIN SPORTS CONNECT (Sudan)
beIN SPORTS CONNECT (Qatar)
beIN SPORTS CONNECT (Jordan)
beIN SPORTS CONNECT (Chad)
beIN SPORTS CONNECT (South Sudan)
beIN SPORTS CONNECT (Yemen)
beIN SPORTS CONNECT (Bahrain)
beIN SPORTS CONNECT (Djibouti)
SuperSport MaXimo 2 (Ivory Coast)
SuperSport MaXimo 2 (Mali)
SuperSport MaXimo 2 (South Africa)
SuperSport MaXimo 2 (Senegal)
SuperSport MaXimo 2 (Ghana)
SuperSport MaXimo 2 (Cameroon)
SuperSport MaXimo 2 (Burkina Faso)
SuperSport MaXimo 2 (Nigeria)
SuperSport MaXimo 2 (Liberia)
SuperSport MaXimo 2 (Burundi)
SuperSport MaXimo 2 (Angola)
SuperSport MaXimo 2 (Kenya)
SuperSport MaXimo 2 (Central African Republic)
SuperSport MaXimo 2 (Madagascar)
SuperSport MaXimo 2 (Guinea)
SuperSport MaXimo 2 (Guinea-Bissau)
SuperSport MaXimo 2 (Zimbabwe)
SuperSport MaXimo 2 (Mauritania)
SuperSport MaXimo 2 (Gambia)
SuperSport MaXimo 2 (Zambia)
SuperSport MaXimo 2 (Togo)
SuperSport MaXimo 2 (Gabon)
SuperSport MaXimo 2 (Uganda)
SuperSport MaXimo 2 (Mayotte)
SuperSport MaXimo 2 (Sierra Leone)
SuperSport MaXimo 2 (Namibia)
SuperSport MaXimo 2 (Mozambique)
SuperSport MaXimo 2 (Somalia)
SuperSport MaXimo 2 (Benin)
SuperSport MaXimo 2 (Swaziland)
SuperSport MaXimo 2 (Malawi)
SuperSport MaXimo 2 (Tanzania)
SuperSport MaXimo 2 (Eritrea)
SuperSport MaXimo 2 (Ethiopia)
SuperSport MaXimo 2 (Sudan)
SuperSport MaXimo 2 (Niger)
SuperSport MaXimo 2 (Rwanda)
SuperSport MaXimo 2 (Chad)
SuperSport MaXimo 2 (São Tomé and Príncipe)
SuperSport MaXimo 2 (South Sudan)
SuperSport MaXimo 2 (Botswana)
SuperSport MaXimo 2 (Equatorial Guinea)
SuperSport MaXimo 2 (Mauritius)
SuperSport MaXimo 2 (Comoros)
SuperSport MaXimo 2 (Lesotho)
SuperSport MaXimo 2 (Djibouti)
SuperSport MaXimo 2 (Seychelles)
SuperSport Premier League ROA (Ivory Coast)
SuperSport Premier League ROA (Mali)
SuperSport Premier League ROA (Senegal)
SuperSport Premier League ROA (Ghana)
SuperSport Premier League ROA (Cameroon)
SuperSport Premier League ROA (Burkina Faso)
SuperSport Premier League ROA (Nigeria)
SuperSport Premier League ROA (Liberia)
SuperSport Premier League ROA (Burundi)
SuperSport Premier League ROA (Angola)
SuperSport Premier League ROA (Kenya)
SuperSport Premier League ROA (Central African Republic)
SuperSport Premier League ROA (Madagascar)
SuperSport Premier League ROA (Guinea)
SuperSport Premier League ROA (Guinea-Bissau)
SuperSport Premier League ROA (Zimbabwe)
SuperSport Premier League ROA (Mauritania)
SuperSport Premier League ROA (Gambia)
SuperSport Premier League ROA (Zambia)
SuperSport Premier League ROA (Togo)
SuperSport Premier League ROA (Gabon)
SuperSport Premier League ROA (Uganda)
SuperSport Premier League ROA (Mayotte)
SuperSport Premier League ROA (Sierra Leone)
SuperSport Premier League ROA (Namibia)
SuperSport Premier League ROA (Mozambique)
SuperSport Premier League ROA (Somalia)
SuperSport Premier League ROA (Benin)
SuperSport Premier League ROA (Swaziland)
SuperSport Premier League ROA (Malawi)
SuperSport Premier League ROA (Tanzania)
SuperSport Premier League ROA (Eritrea)
SuperSport Premier League ROA (Ethiopia)
SuperSport Premier League ROA (Sudan)
SuperSport Premier League ROA (Niger)
SuperSport Premier League ROA (Rwanda)
SuperSport Premier League ROA (Chad)
SuperSport Premier League ROA (São Tomé and Príncipe)
SuperSport Premier League ROA (South Sudan)
SuperSport Premier League ROA (Botswana)
SuperSport Premier League ROA (Equatorial Guinea)
SuperSport Premier League ROA (Mauritius)
SuperSport Premier League ROA (Comoros)
SuperSport Premier League ROA (Lesotho)
SuperSport Premier League ROA (Djibouti)
SuperSport Premier League ROA (Seychelles)
SuperSport MaXimo 1 (Ivory Coast)
SuperSport MaXimo 1 (Mali)
SuperSport MaXimo 1 (South Africa)
SuperSport MaXimo 1 (Senegal)
SuperSport MaXimo 1 (Ghana)
SuperSport MaXimo 1 (Cameroon)
SuperSport MaXimo 1 (Burkina Faso)
SuperSport MaXimo 1 (Nigeria)
SuperSport MaXimo 1 (Liberia)
SuperSport MaXimo 1 (Burundi)
SuperSport MaXimo 1 (Angola)
SuperSport MaXimo 1 (Kenya)
SuperSport MaXimo 1 (Central African Republic)
SuperSport MaXimo 1 (Madagascar)
SuperSport MaXimo 1 (Guinea)
SuperSport MaXimo 1 (Guinea-Bissau)
SuperSport MaXimo 1 (Zimbabwe)
SuperSport MaXimo 1 (Mauritania)
SuperSport MaXimo 1 (Gambia)
SuperSport MaXimo 1 (Zambia)
SuperSport MaXimo 1 (Togo)
SuperSport MaXimo 1 (Gabon)
SuperSport MaXimo 1 (Uganda)
SuperSport MaXimo 1 (Mayotte)
SuperSport MaXimo 1 (Sierra Leone)
SuperSport MaXimo 1 (Namibia)
SuperSport MaXimo 1 (Mozambique)
SuperSport MaXimo 1 (Somalia)
SuperSport MaXimo 1 (Benin)
SuperSport MaXimo 1 (Swaziland)
SuperSport MaXimo 1 (Malawi)
SuperSport MaXimo 1 (Tanzania)
SuperSport MaXimo 1 (Eritrea)
SuperSport MaXimo 1 (Ethiopia)
SuperSport MaXimo 1 (Sudan)
SuperSport MaXimo 1 (Niger)
SuperSport MaXimo 1 (Rwanda)
SuperSport MaXimo 1 (Chad)
SuperSport MaXimo 1 (São Tomé and Príncipe)
SuperSport MaXimo 1 (South Sudan)
SuperSport MaXimo 1 (Botswana)
SuperSport MaXimo 1 (Equatorial Guinea)
SuperSport MaXimo 1 (Mauritius)
SuperSport MaXimo 1 (Comoros)
SuperSport MaXimo 1 (Lesotho)
SuperSport MaXimo 1 (Djibouti)
SuperSport MaXimo 1 (Seychelles)
Supersport Grandstand ROA (Mali)
Supersport Grandstand ROA (Senegal)
Supersport Grandstand ROA (Ghana)
Supersport Grandstand ROA (Cameroon)
Supersport Grandstand ROA (Burkina Faso)
Supersport Grandstand ROA (Liberia)
Supersport Grandstand ROA (Burundi)
Supersport Grandstand ROA (Angola)
Supersport Grandstand ROA (Kenya)
Supersport Grandstand ROA (Central African Republic)
Supersport Grandstand ROA (Madagascar)
Supersport Grandstand ROA (Guinea)
Supersport Grandstand ROA (Guinea-Bissau)
Supersport Grandstand ROA (Zimbabwe)
Supersport Grandstand ROA (Mauritania)
Supersport Grandstand ROA (Gambia)
Supersport Grandstand ROA (Zambia)
Supersport Grandstand ROA (Togo)
Supersport Grandstand ROA (Gabon)
Supersport Grandstand ROA (Uganda)
Supersport Grandstand ROA (Mayotte)
Supersport Grandstand ROA (Sierra Leone)
Supersport Grandstand ROA (Namibia)
Supersport Grandstand ROA (Mozambique)
Supersport Grandstand ROA (Somalia)
Supersport Grandstand ROA (Benin)
Supersport Grandstand ROA (Swaziland)
Supersport Grandstand ROA (Malawi)
Supersport Grandstand ROA (Tanzania)
Supersport Grandstand ROA (Eritrea)
Supersport Grandstand ROA (Ethiopia)
Supersport Grandstand ROA (Sudan)
Supersport Grandstand ROA (Niger)
Supersport Grandstand ROA (Rwanda)
Supersport Grandstand ROA (Chad)
Supersport Grandstand ROA (Botswana)
Supersport Grandstand ROA (Equatorial Guinea)
Supersport Grandstand ROA (Mauritius)
Supersport Grandstand ROA (Comoros)
Supersport Grandstand ROA (Lesotho)
Supersport Grandstand ROA (Djibouti)
Supersport Grandstand ROA (Seychelles)
DStv Now (Ivory Coast)
DStv Now (Mali)
DStv Now (Senegal)
DStv Now (Ghana)
DStv Now (Cameroon)
DStv Now (Burkina Faso)
DStv Now (Nigeria)
DStv Now (Liberia)
DStv Now (Burundi)
DStv Now (Angola)
DStv Now (Kenya)
DStv Now (Madagascar)
DStv Now (Guinea)
DStv Now (Guinea-Bissau)
DStv Now (Zimbabwe)
DStv Now (Mauritania)
DStv Now (Gambia)
DStv Now (Togo)
DStv Now (Gabon)
DStv Now (Uganda)
DStv Now (Sierra Leone)
DStv Now (Namibia)
DStv Now (Mozambique)
DStv Now (Swaziland)
DStv Now (Malawi)
DStv Now (Tanzania)
DStv Now (Eritrea)
DStv Now (Ethiopia)
DStv Now (Sudan)
DStv Now (Niger)
DStv Now (Chad)
DStv Now (South Sudan)
DStv Now (Botswana)
DStv Now (Equatorial Guinea)
DStv Now (Mauritius)
DStv Now (Lesotho)
DStv Now (Djibouti)
DStv Now (Seychelles)
Moja TV (Bosnia and Herzegovina)
Astro Go (Malaysia)
Play Diema Xtra (Bulgaria)
QQ Sports Live (China)
Migu (China)
Sky Sport NOW (New Zealand)
Sky Sport NOW (Fiji)
Sky Sport NOW (Solomon Islands)
Sky Sport NOW (Vanuatu)
Sky Sport NOW (Samoa)
Sky Sport NOW (Tonga)
Sky Sport NOW (Niue)
Sky Sport NOW (Tuvalu)
Free (France)
JioTV (India)
Vidio (Indonesia)
BBC Radio 5 Live (England)
ArtMotion (Kosovo)
SuperSport Premier League Nigeria (Nigeria)
StarHub TV+ (Singapore)
DStv App (South Africa)
Supersport Grandstand (South Africa)
SiriusXM FC (United States)
Sport 1 (Israel)
Movistar Futbol (Spain)
Amazon Prime Video (Mexico)
Diema Sport 2 (Bulgaria)
RTL+ (Germany)
RTL+ (Switzerland)
RTL+ (Austria)
See (Denmark)
See (Faroe Islands)
Optus Sport (Australia)
V Sport Premium (Sweden)
V Sport Premium (Finland)
Play Sports 2 (Belgium)
SKY Go Italia (Italy)
NOW TV (Italy)
Viaplay Norway (Norway)
Fox Sports Premium (Mexico)
GO TV Anywhere (Malta)
iQiyi (China)
iQiyi (Macau)
beIN SPORTS CONNECT Arabia (Palestine)
Peacock (United States)
TOD (Iraq)
TOD (Turkey)
TOD (Algeria)
TOD (Egypt)
TOD (Morocco)
TOD (Tunisia)
TOD (Mauritania)
TOD (United Arab Emirates)
TOD (Syria)
TOD (Oman)
TOD (Somalia)
TOD (Libya)
TOD (Kuwait)
TOD (Saudi Arabia)
TOD (Lebanon)
TOD (Palestine)
TOD (Qatar)
TOD (Jordan)
TOD (Chad)
TOD (South Sudan)
TOD (Yemen)
TOD (Bahrain)
TOD (Djibouti)
K+ SPORT 1 (Vietnam)
True Premier Football HD 1 (Thailand)
True Premier Football HD 2 (Thailand)
Skylink (Czech Republic)
Skylink (Slovakia)
Digi Online (Romania)
Orange TV Go (Romania)
Viaplay Netherlands (Netherlands)
Setanta Sports 1 (Georgia)
Setanta Sports 1 (Belarus)
Setanta Sports 1 (Latvia)
Setanta Sports 1 (Armenia)
Setanta Sports 1 (Lithuania)
Setanta Sports 1 (Moldova)
Setanta Sports 1 (Estonia)
Setanta Sports 1 (Uzbekistan)
Setanta Sports 1 (Kazakhstan)
Setanta Sports 1 (Azerbaijan)
Setanta Sports 1 (Turkmenistan)
Setanta Sports 1 (International)
Sport 24 Extra (International)
TV2 Play (Hungary)
NOW (England)
Canal+ France (France)
Zapping (Brazil)
Claro TV+ (Brazil)
Vivo Play (Brazil)
Sky+ (Brazil)
Elisa Viihde Viaplay (Finland)
beIN CONNECT Turkey (Turkey)
----------

As you can see from the response, all TV Stations legally permitted to broadcast each match is displayed.

Chapter 5.1: Using a Filter on TV Stations

Let’s assume you have a great Web analyst on your team who has been able to identify where the bulk of your traffic comes from. Perhaps you have more visitors from the United Kingdom and wish to display only TV stations in the UK. Our football API allows you to filter the results from the previous exercise to achieve this. Kindly note the country ID for the UK is 462, which you will find at the end of our url

Here is the url to have only TV Stations in the UK displayed.

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace FixturesVenuesTVStationsUK
{
    public class Program
    {
        private static string apiToken = "API_Token";

        public static async Task Main(string[] args)
        {
            string fixturesApiUrl = $"https://api.sportmonks.com/v3/football/fixtures/between/2024-10-25/2024-10-28?api_token={apiToken}&include=venue;tvstations.tvstation;tvstations.country&filters=fixtureLeagues:8;fixturetvstationcountries:462";

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.GetAsync(fixturesApiUrl);
                    response.EnsureSuccessStatusCode();

                    string jsonResponse = await response.Content.ReadAsStringAsync();
                    var fixtureResponse = JsonConvert.DeserializeObject(jsonResponse);

                    if (fixtureResponse != null)
                    {
                        foreach (var fixture in fixtureResponse.Data)
                        {
                            Console.WriteLine($"Match: {fixture.Name}");
                            Console.WriteLine($"Match ID: {fixture.Id}");
                            Console.WriteLine($"Date: {fixture.StartingAt}");
                            Console.WriteLine($"Result: {fixture.ResultInfo}");
                            Console.WriteLine($"Venue Name: {fixture.Venue.Name}");
                            Console.WriteLine("TV Stations:");
                            foreach (var tvStation in fixture.TvStations) {
                                Console.WriteLine(tvStation.TVStation.Name); // Display TV stations
                            }
                            Console.WriteLine("----------");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
        }
    }

    // Wrapper class for fixture response 
    public class FixtureApiResponse
    {
        [JsonProperty("data")]
        public List Data { get; set; }
    }

    // Fixture class for fixture details 
    public class Fixture
    {
        public int Id { get; set; }
        [JsonProperty("sport_id")]
        public int SportId { get; set; }
        [JsonProperty("league_id")]
        public int LeagueId { get; set; }
        [JsonProperty("season_id")]
        public int SeasonId { get; set; }
        [JsonProperty("stage_id")]
        public long StageId { get; set; }
        [JsonProperty("group_id")]
        public int? GroupId { get; set; }
        [JsonProperty("aggregate_id")]
        public int? AggregateId { get; set; }
        [JsonProperty("round_id")]
        public int RoundId { get; set; }
        [JsonProperty("state_id")]
        public int StateId { get; set; }
        [JsonProperty("venue")]
        public Venue Venue { get; set; }
        public string Name { get; set; }
        [JsonProperty("starting_at")]
        public string StartingAt { get; set; }
        [JsonProperty("result_info")]
        public string ResultInfo { get; set; }
        public string Leg { get; set; }
        public string Details { get; set; }
        public int Length { get; set; }
        public bool Placeholder { get; set; }
        [JsonProperty("has_odds")]
        public bool HasOdds { get; set; }
        [JsonProperty("has_premium_odds")]
        public bool HasPremiumOdds { get; set; }
        [JsonProperty("starting_at_timestamp")]
        public long StartingAtTimestamp { get; set; }
        [JsonProperty("tvstations")]
        public ListTvStations { get; set; }
    }

    // Venue class for venue details 
    public class Venue
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    // Fixture TV Station class containing the TV station
    public class FixtureTVStation
    {
        [JsonProperty("tvstation")]
        public TVStation TVStation { get; set; }
    }

    // TV Station class for TV station details 
    public class TVStation
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

Match: Leicester City vs Nottingham Forest
Match ID: 19134530
Date: 2024-10-25 19:00:00
Result: Nottingham Forest won after full-time.
Venue Name: King Power Stadium
TV Stations:
Sky Ultra HD
Sky Sports Premier League
SKY GO Extra
Sky Sports Main Event
TalkSport Radio UK
NOW
----------
Match: Aston Villa vs AFC Bournemouth
Match ID: 19134524
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue Name: Villa Park
TV Stations:
BBC Radio 5 Live
----------
Match: Brentford vs Ipswich Town
Match ID: 19134525
Date: 2024-10-26 14:00:00
Result: Brentford won after full-time.
Venue Name: Brentford Community Stadium
TV Stations:
----------
Match: Brighton & Hove Albion vs Wolverhampton Wanderers
Match ID: 19134526
Date: 2024-10-26 14:00:00
Result: Game ended in draw.
Venue Name: Broadfield Stadium
TV Stations:
----------
Match: Manchester City vs Southampton
Match ID: 19134531
Date: 2024-10-26 14:00:00
Result: Manchester City won after full-time.
Venue Name: Etihad Stadium
TV Stations:
----------
Match: Everton vs Fulham
Match ID: 19134529
Date: 2024-10-26 16:30:00
Result: Game ended in draw.
Venue Name: Goodison Park
TV Stations:
Sky Ultra HD
Sky Sports Premier League
SKY GO Extra
Sky Sports Main Event
BBC Radio 5 Live
NOW
----------
Match: Chelsea vs Newcastle United
Match ID: 19134527
Date: 2024-10-27 14:00:00
Result: Chelsea won after full-time.
Venue Name: Stamford Bridge
TV Stations:
Sky Ultra HD
Sky Sports Premier League
SKY GO Extra
Sky Sports Main Event
NOW
----------
Match: Crystal Palace vs Tottenham Hotspur
Match ID: 19134528
Date: 2024-10-27 14:00:00
Result: Crystal Palace won after full-time.
Venue Name: Selhurst Park
TV Stations:
----------
Match: West Ham United vs Manchester United
Match ID: 19134532
Date: 2024-10-27 14:00:00
Result: West Ham United won after full-time.
Venue Name: London Stadium
TV Stations:
BBC Radio 5 Live
----------
Match: Arsenal vs Liverpool
Match ID: 19134523
Date: 2024-10-27 16:30:00
Result: Game ended in draw.
Venue Name: Emirates Stadium
TV Stations:
Sky Ultra HD
Sky Sports Premier League
SKY GO Extra
Sky Sports Main Event
BBC Radio 5 Live
NOW
----------

As you can see from the response, only TV Stations from the UK, whose country code is 426 is returned.

CONCLUSION. Harness the Power of Sportmonks’ Football API with C#

Now that you’ve gone from zero to hero in just a bit while using C#, you can see how easy it is to retrieve data from Sportmonks’ Football API. As a summary, let’s go over all we did together.

In chapter 1, we installed Visual Studio Code and went about creating an API token for the exercise before retrieving league details in Chapter 2. We went further in chapter 3, formatting the league response received in Chapter 2 in a readable format using a NuGet package called Newton.Json.

We went on in chapter 3 to retrieve all leagues from a specific country (UK) using a country ID.

In Chapter 4, we retrieved fixtures from a specific league between two dates. We then went on to modify the response to include the stadiums where each game was played by modifying our url. But we didn’t stop there.

We moved on to Chapter 5, where we retrieved the TV stations licensed to broadcast the fixtures before concluding with an exercise to filter the results for only a specific country, the UK, once again.

While these few code snippets can get you up and running in little to no time, you can easily build upon the knowledge from this guide to create mind-blowing football apps.

C#’s extensive documentation, community, and easy-to-learn nature has made it accessible to users of all skill levels, allowing anyone, even with basic programming knowledge, to build apps that wow.

Not big on spending? While our plans are designed to be budget-friendly, you can request a custom plan to suit a specific need. Get in touch with our customer support to order one.

FAQ

Can I access all Sportmonks Football API endpoints using Postman?
Yes, you can access all Football API endpoints using Postman. The API provides a wide range of endpoints for accessing football-related data, including match fixtures, live scores, player statistics, team information, and more. You can use Postman to explore and interact with these endpoints to retrieve the data you need for your applications or projects. Visit our Postman Collection.
Can I keep my current API token?
You can use the same API token as you are currently using for API 2.0. You don't need to create another token for API 3.0.
How can I test the Sportmonks API for FREE?
You have two options:
  1. Create an account on My Sportmonks and get immediate access to our free plan.
  2. Subscribe to one of our paid plans and receive a one-time-only 14-day free trial.
How do I build and filter API requests?
Use the base URL and include necessary data points like scores, events, and participants. Apply filters to refine the data to match specific criteria. Here’s an example of how to incorporate the filter into your request: https://api.sportmonks.com/v3/football/livescores/inplay?api_token=YOUR_TOKEN&include=events&filters=eventTypes:14,19,20,21 By utilising filtering capabilities, we can tailor the data retrieved from the API to match the specific needs and preferences of our livescore website. For further details on filtering techniques, refer to our dedicated filter tutorial for additional guidance.
Is it possible to increase the number of API calls?
Yes this is possible. We offer an increased number of API calls for an extra tariff. Please contact us if you would like to increase the number of API calls.

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.

Sportmonks’ Football API with Postman

Ready to get started? Read our Postman Guide to help you get started quickly.

Read our Blog