> 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)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://info.soccerfootball.info/v1/emulated/totalcorner/match-today.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
