> For the complete documentation index, see [llms.txt](https://info.soccerfootball.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://info.soccerfootball.info/v1/emulated/totalcorner/match-today.md).

# match today

## View all live matches with totalcorner schema  ⬜ 🟨 🟦 🟩

<mark style="color:blue;">`GET`</mark> `https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/`

This endpoint returns with all live matches with totalcorner schema \
The parameters **`l`** must be a language code getted from languages/list endpoint. \
Some elements such as championship and team names can be translated \
\
**Different between totalcorner version:** \
➡️ The database is different. More up-to-date and accurate to the second. \
➡️ Over and under quote of goalline under ou\_odds value. The goal line value remains at the first place of i\_goal  to ensure compatibility with the original schema. (over under bet) \
➡️No esports event. Only real football.\
➡️ Fix some not working column Id is alphanumeric not numeric \
➡️ Add some data like team performance WWLLLD (Win Loss Draw) (from left to right)\
➡️ "est\_e" value that indicate estimate extra\_time ("0" as default)\
➡️Translated team name and championship name with bet365 translation ref (param **`l`** ) \
➡️ **Trend stats 15 minute and 5 minute!**\
➡️ Advance stats: avg goal in past match, over under percent, btts percent ecc.. see response \
➡️ Dropping odd counter (How many times does a quota dropping)\
➡️ Don't need to use a long url eg. \&type=inplay\&columns=events,odds,asian ecc all data will be always sent. No performance problem\
➡️Use this call due statistics use ? with **`o`** param to "yes" can get all matches that are in overtime (totalcorner main call don't show it, default value to "no"\
➡️[Dominance index](/dominance-index.md)\
➡️ Add `bet365_url` that contains bet365 url match. \
Please note, this is the link pointing to the match. After kickoff, the link may change but bet365 **should send** you back to the updated link.\
You have to replace .EXT with your needed extension ".com, .it etc..."\
\
**Why?**\
Because of our customers have written software/bots and applications based on the totalcorner scheme. Changing APIs would mean rewriting everything. This way our customers can access our data, and not change their software!

#### Query Parameters

| Name | Type   | Description                                             |
| ---- | ------ | ------------------------------------------------------- |
| t    | string | Your API Token  **`DIRECT API ONLY`**                   |
| o    | string | Show overtime matches yes or no (default value is "no") |
| l    | string | Language code (default value is "en\_US")               |

#### Headers

| Name            | Type   | Description                                         |
| --------------- | ------ | --------------------------------------------------- |
| X-RapidAPI-Key  | string | Your API token **`RAPIDAPI ONLY`**                  |
| X-RapidAPI-Host | string | soccerfootballinfo.rapidapi.com **`RAPIDAPI ONLY`** |

{% tabs %}
{% tab title="200 Success response" %}

```javascript
{
   "success":1,
   "pagination":{
      "current":1,
      "prev":false,
      "next":false,
      "per_page":999999,
      "pages":1
   },
   "data":[
      {
         "id":"5ff9ed4173e45e0c", // match id
         "h":"7 de Abril",   // team A (home) name
         "h_id":"5fda6030d774e054", // team A (home) id
         "a":"Barra da Tijuca RJ", // team A (away) name
         "a_id":"5fda600303163b37", // team A (away) id
         "l":"Brasile - Campeonato Carioca B2", // league name
         "l_id":"5fda5fa85103d944", // league id
         "l_c": "BR", // league country code
         "start":"2021-01-09 18:00:00", // start match
         "status":"34", // timer of match only minute +xx if extra time("45:00+1"), "half" if match is in break
         "est_e": "0", // estimate extra time (when know) "0" default
         "hc":"0", // team A (home) corner
         "ac":"3", // team B (away) corner
         "hg":"0", // team A (home) goal
         "ag":"0", // team B (away) goal
         "hrc":"0", // team A (home) red card
         "arc":"0", // team B (away) red card
         "hyc":"0", // team A (home) yellow card
         "ayc":"0", // team B (away) yellow card
         "hd_avg2_5" : "10.5", // team A (home) dominance avg 2.5
         "ad_avg2_5" : "10.5", // team B (away) dominance avg 2.5
         "hf_hc":"0", // team A (home) half corner 0 if not in 2 h
         "hf_ac":"0", // team B (away) half corner 0 if not in 2 h
         "hf_hg":"0", // team A (home) half goal 0 if not in 2 h
         "hf_ag":"0", // team B (away) half goal 0 if not in 2 h
         "ish":"0", // 0 = 1 half 1 = 2 half
         "hp" : "2", // home position in champioship
         "ap" : "5", // away position in champioship
         "h_perf" : "WWLDL", // home past 5 match performance
         "a_perf" : "WWLDL", // away past 5 match performance
         "h_xG":[ // xG null if missing
            "1.08", // kickoff xG value
            "0.70" //  current xG value
         ], 
         "a_xG":[ // xG null if missing
            "1.08", // kickoff xG value
            "0.70" //  current xG value
         ],
         "events":[
            {
               "tp":"c", // type can be: c (corner), g (goal), rc (red_card), yc (yellow_card), su (substitution), pos (penalty overtime score), pom (penalty overtime miss), pm (penalty miss), ps (penalty score), gc (goal cancel)
               "h":"a",  // refe team h (home teamA), a (away teamB)
               "t":"26"  // time of events in minute
            },
            ...
         ],
         "d_index": [
            {
                "timer":"00:00", // timer of dominance index
                "teamA":"5",
                "teamB":"5"
             },
             ...
         ],
         "p_odds":[ // kickoff 1x2 odds
            "7.000", // 1 odd
            "3.900", // X odd
            "1.400"  // 2 odd
         ],
         "i_odds":[ // in play 1x2 odds
            "5.500", // 1 odd
            "3.100", // X odd
            "1.727"  // 2 odd
         ],
         "po_odds":[ // pre-match odds, opening
            "7.000", // 1 odd
            "3.900", // X odd
            "1.400" // 2 odd
         ],
         "h_odds_dropping":[
            "25", // number of dropping odds for home team
            "33" // last minute of dropping odds
         ],
         "a_odds_dropping":[
            "15", // number of dropping odds for away team
            "30" // last minute of dropping odds
         ],
         "x_odds_dropping":[
            "5", // number of dropping odds for draw result
            "34" // last minute of dropping odds
         ],
         "p_asian":[ // pre match asian handicap
            "+1.0,+1.5"
         ],
         "i_asian":[  // in play asian handicap
            "+0.75"
         ],
         "p_corner":[ // pre match corner line
            "9.5"
         ],
         "i_corner":[ // in play corner line
            "9"
         ],
         "p_corner_h":[ // pre match corner line half
            "9.5"
         ],
         "i_corner_h":[ // in play corner line half
            "9"
         ],
         "p_goal":[ // pre match goal line
            "3.0"
         ],
         "i_goal":[ // in play goal line
            "1.75"
         ],
         "p_goal":[ // pre match goal line half
            "3.0"
         ],
         "i_goal":[ // in play goal line half
            "1.75"
         ],
         "ou_odds":[ // in play goal line
            "2.000", // over odds
            "1.500", // under odds
            "1.75" // goal line
         ],
         "asian_corner":[ // in play asian corner handicap
            ""
         ],
         "attacks":[
            "37",  // teamA (home)
            "41"  // teamB (away)
         ],
         "attacks_h":[ // half time
            "37",
            "41"
         ],
         "attacks_15":[ // last 15 minute attacks
            "20",  
            "15"  
         ],
         "attacks_5":[ // last 5 minute attacks
            "6", 
            "3"  
         ],
         "dang_attacks":[
            "18",
            "34"
         ],
         "dang_attacks_h":[ // half time
            "18",
            "34"
         ],
         "dang_attacks_15":[ // last 15 minute dang attacks
            "12",  
            "20"  
         ],
         "dang_attacks_5":[ // last 5 minute dang attacks
            "3", 
            "7"  
         ],
         "shot_on":[
            "1",
            "0"
         ],
         "shot_on_h":[ // half time
            "0",
            "0"
         ],
         "shot_on_15":[ // last 15 minute shot on
            "0",  
            "0"  
         ],
         "shot_on_5":[ // last 5 minute shot on
            "1", 
            "0"  
         ],
         "shot_off":[
            "2",
            "1"
         ],
         "shot_off_h":[ // half time
            "2",
            "1"
         ],
         "shot_off_15":[ // last 15 minute shot off
            "0",  
            "0"  
         ],
         "shot_off_5":[ // last 5 minute shot off
            "1", 
            "1"  
         ],
         "corners_15":[ // last 15 minute corners
            "0",  
            "0"  
         ],
         "corners_5":[ // last 5 minute corners
            "1", 
            "1"  
         ],
         "possess":[
            "40", // teamA (home)
            "60" // teamB (away)
         ],
         "possess_h":[ // half time
            "40",
            "60"
         ],
         "g_a":[ // goal attemps
            "2", // teamA (home)
            "5" // teamB (away)
         ],
         "o_s":[ // off side
            "6",
            "7"
         ],
         "fo":[ // total fouls
             "30", // teamA (home)
             "22"  // teamB (away)
         ],
         "p_avg_g_g":[ // average game goals in past 5 matches
            "2.5", // teamA (home)
            "1"  // teamB (away)
         ],
         "p_avg_g_s":[ // average goals scored in past 5 matches
            "0.5",
            "0.5"
         ],
         "p_avg_g_c":[ // average goals conceded in past 5 matches
            "1",
            "0.5"
         ],
         "p_o_1_5_t":[ // percent of over 1.5 goal by team in past 5 matches
            "60",
            "30"
         ],
         "p_btts":[ // percent of BTTS (Goal/Goal) in past 5 matches
            "20",
            "80"
         ],
         "p_o_0_5_game":[ // percent of over 0.5 goal by game in past 5 matches
            "60",
            "30"
         ],
         "p_o_1_5_game":[ // percent of over 1.5 goal by game in past 5 matches
            "60",
            "30"
         ],
         "p_o_2_5_game":[ // percent of over 2.5 goal by game in past 5 matches
            "60",
            "30"
         ],
         "p_o_3_5_game":[ // percent of over 3.5 goal by game in past 5 matches
            "60",
            "30"
         ],
         "p_t_g_s":[ // total goals scored in last 5 matches
             "60", // teamA (home) number of goals
             "30"  // teamB (home) number of goals
         ],
         "p_g_s_0_15":[ // goals scored between 0 and 15 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_s_16_30":[ // goals scored between 16 and 30 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_s_31_45":[ // goals scored between 31 and end first half in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_s_46_60":[ // goals scored between 46 and 60 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_s_61_75":[ // goals scored between 61 and 75 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_s_76_90":[ // goals scored between 76 and end second half in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_t_g_c":[ // total goals conceded in last 5 matches
             "60", // teamA (home) number of goals
             "30"  // teamB (home) number of goals
         ],
         "p_g_c_0_15":[ // goals conceded between 0 and 15 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_c_16_30":[ // goals conceded between 16 and 30 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_c_31_45":[ // goals conceded between 31 and end first half in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_c_46_60":[ // goals conceded between 46 and 60 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_c_61_75":[ // goals conceded between 61 and 75 minute in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "p_g_c_76_90":[ // goals conceded between 76 and end second half in last 5 matches
             "1", // teamA (home) number of goals
             "2", // teamB (home) number of goals
             "10", // teamA (home) percent of total
             "20"  // teamB (home) percent of total
         ],
         "bet365_url" : "https://www.bet365.EXT/#/AC/B1/C1/D8/E130968528/F3/I0/"
      },
      ...
   ]
}
```

{% endtab %}
{% endtabs %}

{% file src="/files/XJTQH8tCM5ZJYoj0jBag" %}

## Example of code for direct API

{% tabs %}
{% tab title="PHP" %}

```php
$url = 'https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/';

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_PROXY => null,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_CUSTOMREQUEST => "GET"
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if (!$err) {
  $result = json_decode($response);
  print_r($result);
} else {
    echo "cURL Error:" . $err;
}
```

{% endtab %}

{% tab title="Javascript" %}

```python
fetch("https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/", {
    "method": "GET"
})
.then(response => {
    console.log(response);
})
.catch(err => {
    console.error(err);
});
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/'
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
});
```

{% endtab %}

{% tab title="Phyton" %}

```python
import requests

url = "https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/"

response = requests.get(url).json()

print(response)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --request GET \
    --url 'https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/'
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.soccerfootball.info/v1/emulation/totalcorner/match/today/"

    req, _ := http.NewRequest("GET", url, nil)

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
```

{% endtab %}
{% endtabs %}

## Example of code for RapidAPI

{% tabs %}
{% tab title="PHP" %}

```php
$url = 'https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/';

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_PROXY => null,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "X-RapidAPI-Host: soccer-football-info.p.rapidapi.com",
        "X-RapidAPI-Key: TOKEN"
    ],
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if (!$err) {
  $result = json_decode($response);
  print_r($result);
} else {
    echo "cURL Error:" . $err;
}
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
fetch("https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/", {
    "method": "GET",
    "headers": {
        "X-RapidAPI-Key": "TOKEN",
        "X-RapidAPI-Host": "soccer-football-info.p.rapidapi.com"
    }
})
.then(response => {
    console.log(response);
})
.catch(err => {
    console.error(err);
});
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
const request = require('request');

const options = {
  method: 'GET',
  url: "https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/",
  headers: {
   "X-RapidAPI-Key": "TOKEN",
     "X-RapidAPI-Host": "soccer-football-info.p.rapidapi.com"
   useQueryString: true
  }
};

request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
});
```

{% endtab %}

{% tab title="Phyton" %}

```python
import requests

url = "https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/"

headers = {
    "X-RapidAPI-Key": "TOKEN",
      "X-RapidAPI-Host": "soccer-football-info.p.rapidapi.com"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --request GET \
    --url https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/ \
    --header 'X-RapidAPI-Host: soccer-football-info.p.rapidapi.com' \
    --header 'X-RapidAPI-Key: TOKEN'
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://soccer-football-info.p.rapidapi.com/emulation/totalcorner/match/today/"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("X-RapidAPI-Key", "TOKEN")
    req.Header.Add("X-RapidAPI-Host", "soccer-football-info.p.rapidapi.com")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
```

{% endtab %}
{% endtabs %}

More example of code on [rapidAPI](https://rapidapi.com/soccerfootball-info-soccerfootball-info-default/api/soccer-football-info)
