⚽
Soccer Football Info
  • About API
  • Price & Limits
  • Coverage
  • FAQ
  • Dominance index
  • xG (Expected Goals)
  • Changelog
  • Support
  • API v1
    • Authentication
    • Errors
    • Championships
      • list
      • view
    • Countries
      • list
    • Emulation
      • Totalcorner
        • match schedule
        • match today
    • Languages
      • list
    • Live
      • live full
      • live basic
    • Managers
      • list
      • view
    • Matches
      • day basic
      • day full
      • view basic
      • view full
      • by basic
      • by full
      • odds
      • view progressive
    • Players
      • list
      • view
    • Referees
      • list
      • view
    • Stadiums
      • list
      • view
    • Teams
      • list
      • view
      • history
      • versus
    • Custom
    • Token
      • status
Powered by GitBook
On this page
  • View matches progressive (trend) data of stats and odds ⬜ 🟦 🟩
  • Example of code for direct API
  • Example of code for RapidAPI

Was this helpful?

  1. API v1
  2. Matches

view progressive

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

GET 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

{
   "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"
            }
         }
      },
      ...
   ]
}

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

Example of code for direct API

$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;
}
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);
});
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);
});
import requests

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

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

print(response)
curl --request GET \
    --url 'https://api.soccerfootball.info/v1/matches/view/progressive/?t=TOKEN&i=ID'
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))

}

Example of code for RapidAPI

$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;
}
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);
});
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);
});
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)
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'
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))

}
PreviousoddsNextPlayers

Last updated 1 year ago

Was this helpful?

More example of code on

rapidAPI
478KB
How to see API call details
image