# view progressive

## View matches progressive (trend) data of stats and odds ⬜ 🟦 🟩

<mark style="color:blue;">`GET`</mark> `https://api.soccerfootball.info/v1/matches/view/progressive/?i=ID`

This endpoint returns with match data (stats and odds) every 30 seconds. \
**This endpoints has data since 2020-01-01** \
Live match can be view only by 🟩 ULTRA user plan\
This call is our killer features. \
You can test your strategy on historical data in live method.\
Format CSV is in MS excel compatible mode (double click open without import!)

#### Query Parameters

| Name | Type   | Description                                              |
| ---- | ------ | -------------------------------------------------------- |
| t    | string | Your API Token **`DIRECT API ONLY`**                     |
| i    | string | Match ID                                                 |
| f    | string | Format response can be "json" or "csv" ( default "json") |

#### 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" %}
{% tabs %}
{% tab title="JSON" %}

```javascript
{
   "status":200,
   "errors":[],
   "pagination":[],
   "result":[ 
      ...,
      {  // all stats may be null if 0 or not set
         "timer":"52:00", // start from "00:00" every 30 seconds (00:00 00:30 01:00 01:30)
         "teamA":{
            "goal": "1",
            "possession":"46",
            "attacks":{
               "n":"58", // normal
               "d":"10" // dangerous
            },
            "shoots":{
               "t":"1", // total
               "off":"0", // off target
               "on":"1", // on target
               "g_a":"1" // goal attemps
            },
            "penalties":null,
            "corners":null,
            "fouls":{
               "t":null, // total
               "y_c":"3", // yellow card
               "y_t_r_c":null, // yellow to red card
               "r_c":null // red card
            },
            "substitutions":null,
            "throwins":null,
            "injuries":null,
            "dominance":{
               "index": "10.22", // exact dominance index at this time
               "avg_2_5": "10.50" // avg last 2,5 minutes of d.index
            },
            "xG" : "0.88"
         },
         "teamB":{
           ... // same of teamA
         },
         "odds":{
            "1X2":{
               "1":"21.000",
               "2":"1.125",
               "X":"6.500"
            },
            "asian_handicap":{
               "1":"2.075",
               "2":"1.725",
               "v":"+0.25"
            },
            "over_under":{
               "o":"1.775",
               "u":"2.025",
               "v":"2"
            },
            "asian_corner":{
               "o":"1.825",
               "u":"1.975",
               "v":"6"
            },
            "1h_asian_handicap":{
               "1":"3.900",
               "2":"1.240",
               "v":"0"
            },
            "1h_goalline":{
               "o":"5.900",
               "u":"1.130",
               "v":"0.5"
            },
            "1h_asian_corner":{
               "o":"2.375",
               "u":"1.550",
               "v":"1.5"
            },
            "1h_result":{
               "1":"13.000",
               "2":"8.000",
               "X":"1.083"
            }
         }
      },
      ...
   ]
}


```

{% endtab %}

{% tab title="CSV" %}

```
timer;teamA_goal;teamB_goal;teamA_possession;teamB_possession;teamA_attacks_n;teamB_attacks_n;teamA_attacks_d;teamB_attacks_d;teamA_off_sides;teamB_off_sides;teamA_shoots;teamB_shoots;teamA_shoots_on_target;teamB_shoots_on_target;teamA_shoots_off_target;teamB_shoots_off_target;teamA_goal_attemps;teamB_goal_attemps;teamA_penalties;teamB_penalties;teamA_corners;teamB_corners;teamA_fouls;teamB_fouls;teamA_yellow_cards;teamB_yellow_cards;teamA_yellow_t_red_cards;teamB_yellow_t_red_cards;teamA_red_cards;teamB_red_cards;teamA_substitutions;teamB_substitutions;teamA_throwins;teamB_throwins;teamA_injuries;teamB_injuries;teamA_dominance_index;teamB_dominance_index;teamA_dominance_index_2_5;teamB_dominance_index_2_5;teamA_xG;teamB_xG;odd_1x2_1;odd_1x2_X;odd_1x2_2;odd_asian_handicap_1;odd_asian_handicap_2;odd_asian_handicap_v;odd_over_under_o;odd_over_under_u;odd_over_under_v;odd_asian_corner_o;odd_asian_corner_u;odd_asian_corner_v;odd_1h_asian_handicap_1;odd_1h_asian_handicap_2;odd_1h_asian_handicap_v;odd_1h_goalline_o;odd_1h_goalline_u;odd_1h_goalline_v;odd_1h_asian_corner_o;odd_1h_asian_corner_u;odd_1h_asian_corner_v;odd_1h_result_1;odd_1h_result_X;odd_1h_result_2
00:00;0;0;50;50;0;0;0;0;;;0;0;0;0;0;0;;;0;0;0;0;;;0;0;;;0;0;0;0;;;;;5.00;5.00;5.00;5.00;;;;;;;;;;;;;;;;;;;;;;;;;;
```

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

{% file src="<https://1849281761-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MO7VPtH3yGUfnmbVIHd%2Fuploads%2F289e6TUQHD5HA6cyKgpP%2Fezgif-7-b4ccf70f18.gif?alt=media&token=80d7c09f-2a23-48cd-baeb-8aa29dcf4695>" %}

## Example of code for direct API

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

```php
$url = 'https://api.soccerfootball.info/v1/matches/view/progressive/?t=TOKEN&i=ID';

$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/matches/view/progressive/?t=TOKEN&i=ID", {
    "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/matches/view/progressive/?t=TOKEN&i=ID'
};

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/matches/view/progressive/?t=TOKEN&i=ID"

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

print(response)
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --request GET \
    --url 'https://api.soccerfootball.info/v1/matches/view/progressive/?t=TOKEN&i=ID'
```

{% endtab %}

{% tab title="GO" %}

```go
package main

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

func main() {

    url := "https://api.soccerfootball.info/v1/matches/view/progressive/?t=TOKEN&i=ID"

    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/matches/view/progressive/?i=ID';

$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/matches/view/progressive/?i=ID", {
    "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/matches/view/progressive/?i=ID",
  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/matches/view/progressive/?i=ID"

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/matches/view/progressive/?i=ID \
    --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/matches/view/progressive/?i=ID"

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