live basic
Last updated
Last updated
GET
https://api.soccerfootball.info/v1/live/basic/
This endpoint returns with all live matches
The parameter l
must be a language code getted from languages/list endpoint.
Some elements such as championship and team names can be translated.
Format CSV is in MS excel compatible mode (double click open without import!)
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..."
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
{
"status":200,
"errors":[],
"pagination":[],
"result":[
{
"id":"5ff7a0c8ceb4f157",
"date":"2021-01-09 16:00:00",
"timer":"90:00+04:36", // match timer if is in extra time there is +minute eg. 90:00+01:00
"in_play":false, // if match is in play or not (false if match is just ended or is in time break)
"est_e_time" : "6", // estimate extra time false if unknown
"championship":{
"id":"5fda5fa8541c9de5",
"name":"Bahrain Premier League",
"s_name": "Bahrain Premier League 20/21", // season name
"country" : "BH"
},
"teamA":{
"id":"5fda5fcd1aa9fae1",
"name":"Al-Muharraq",
"score":{
"f":"2",
"1h":"0",
"2h":"2",
"o":null,
"p":null
},
"position" : "1", // position in championship (if)
"perf":{
"l_5_matches" : "WLWLW", // last 5 match performance (from left to right)
"avg_game_goals" : "2.5",
"avg_goals_scored" : "1.5",
"avg_goals_conceded" : "0.5",
"o_1_5_team" : "50", // percent of over 1.5 by team in last 5 matches
"btts" : "60", // percent of btts
"o_0_5_game" : "100", // percent of over 0.5 by game in last 5 matches
"o_1_5_game" : "100", // percent of over 1.5 by game in last 5 matches
"o_2_5_game" : "100", // percent of over 2.5 by game in last 5 matches
"o_3_5_game" : "100", // percent of over 3.5 by game in last 5 matches
"tot_goals_scored" : "10", // total goals scored in last 5 matches
"goals_scored_0_15": ["0","0"], // goals scored between 0 and 15 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_scored_16_30": ["1","10"], // goals scored between 16 and 30 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_scored_31_45": ["1","10"], // goals scored between 31 and end first half minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_scored_46_60": ["1","10"], // goals scored between 46 and 60 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_scored_61_75": ["5","50"], // goals scored between 61 and 75 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_scored_76_90": ["2","20"], // goals scored between 76 and end second half in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"tot_goals_conceded": "10", // total goals conceded in last 5 matches
"goals_conceded_0_15": ["0","0"], // goals conceded between 0 and 15 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_conceded_16_30": ["1","10"], // goals conceded between 16 and 30 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_conceded_31_45": ["1","10"], // goals conceded between 31 and end first half minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_conceded_46_60": ["1","10"], // goals conceded between 46 and 60 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_conceded_61_75": ["5","50"], // goals conceded between 61 and 75 minute in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
"goals_conceded_76_90": ["2","20"] // goals conceded between 76 and end second half in last 5 matches format [NUMBER_GOAL ; PERCENT_OF_TOTAL]
},
"stats":{
"possession":"40",
"attacks":{
"n":"125", // normal
"n_15": "30", // normal last 15 minutes
"n_5": "5", // normal last 5 minutes
"d":"83", // dangerous
"d_15": "30", // dangerous last 15 minutes
"d_5": "5", // dangerous last 5 minutes
"o_s":"5" // off side
},
"shoots":{
"t":"3", // total
"off":"2", // off target shot
"off_15": "2", // off target last 15 minutes
"off_5": "1", // off target last 5 minutes
"on":"1", // on target shot
"on_15": "1", // on target last 15 minutes
"on_5": "1", // on target last 5 minutes
"g_a":"2" // goal attemps
},
"penalties":"0",
"corners":{
"t":"4", // total
"f":"4",// final
"h":"2" // 1 half
"c_15": "2", // corners last 15 minutes
"c_5": "1", // corners last 5 minutes
},
"fouls":{
"t":null, // total fouls
"y_c":"0", // yellow card
"y_t_r_c":null, // yellow to red card
"r_c":"0" // red card
},
"substitutions":"2",
"throwins":null,
"injuries":null,
"dominance_avg_2_5": "10.10", // average of last 2.5 minutes of dominance index
"xG" : {
"kickoff" : "1.02", // Expected goal at kickoff
"live" : "0.88" // Current expected goal
}
}
},
"teamB":{
...
// same as teamA
},
"events":[ // only if param "e" is "yes"
{
"type":"red_card", // can be: corner, goal, yellow_card, red_card, substitution, penalty_ot_score, penalty_ot_miss
"timer":"120+1", // event time if + it's overtime or null if is in penalties
"team":"A" // ref team A or B
},
...
],
"dominance_index": [
{
"timer":"00:00", // timer of dominance index
"teamA":"5",
"teamB":"5"
},
...
],
"bet365_url" : "https://www.bet365.EXT/#/AC/B1/C1/D8/E128998076/F3"
},
...
]
id;date;timer;est_e_time;in_play;championship_id;championship_name;season_name;teamA_id;teamA_name;teamB_id;teamB_name;teamA_score_f;teamB_score_f;teamA_score_1h;teamB_score_1h;teamA_score_2h;teamB_score_2h;teamA_score_o;teamB_score_o;teamA_score_p;teamB_score_p;teamA_possession;teamB_possession;teamA_attacks_n;teamB_attacks_n;teamA_attacks_n_15;teamB_attacks_n_15;teamA_attacks_n_5;teamB_attacks_n_5;teamA_attacks_d;teamB_attacks_d;teamA_attacks_d_15;teamB_attacks_d_15;teamA_attacks_d_5;teamB_attacks_d_5;teamA_off_sides;teamB_off_sides;teamA_shoots;teamB_shoots;teamA_shoots_on_target;teamB_shoots_on_target;teamA_shoots_on_target_15;teamB_shoots_on_target_15;teamA_shoots_on_target_5;teamB_shoots_on_target_5;teamA_shoots_off_target;teamB_shoots_off_target;teamA_shoots_off_target_15;teamB_shoots_off_target_15;teamA_shoots_off_target_5;teamB_shoots_off_target_5;teamA_goal_attemps;teamB_goal_attemps;teamA_penalties;teamB_penalties;teamA_corners;teamB_corners;teamA_corners_f;teamB_corners_f;teamA_corners_h;teamB_corners_h;teamA_corners_15;teamB_corners_15;teamA_corners_5;teamB_corners_5;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_d_index_avg_2_5;teamB_d_index_avg_2_5;teamA_kickoff_xG;teamB_kickoff_xG;teamA_xG;teamB_xG;teamA_position;teamB_position;teamA_past_perfomance;teamB_past_perfomance;teamA_avg_game_goals;teamB_avg_game_goals;teamA_avg_goals_scored;teamB_avg_goals_scored;teamA_avg_goals_conceded;teamB_avg_goals_conceded;teamA_o_1_5_team;teamB_o_1_5_team;teamA_btts;teamB_btts;teamA_o_0_5_game;teamB_o_0_5_game;teamA_o_1_5_game;teamB_o_1_5_game;teamA_o_2_5_game;teamB_o_2_5_game;teamA_o_3_5_game;teamB_o_3_5_game;teamA_t_g_scored;teamB_t_g_scored;teamA_g_scored_0_15_numb;teamB_g_scored_0_15_numb;teamA_g_scored_0_15_perc;teamB_g_scored_0_15_perc;teamA_g_scored_16_30_numb;teamB_g_scored_16_30_numb;teamA_g_scored_16_30_perc;teamB_g_scored_16_30_perc;teamA_g_scored_31_45_numb;teamB_g_scored_31_45_numb;teamA_g_scored_31_45_perc;teamB_g_scored_31_45_perc;teamA_g_scored_46_60_numb;teamB_g_scored_46_60_numb;teamA_g_scored_46_60_perc;teamB_g_scored_46_60_perc;teamA_g_scored_61_75_numb;teamB_g_scored_61_75_numb;teamA_g_scored_61_75_perc;teamB_g_scored_61_75_perc;teamA_g_scored_76_90_numb;teamB_g_scored_76_90_numb;teamA_g_scored_76_90_perc;teamB_g_scored_76_90_perc;teamA_t_g_conceded;teamB_t_g_conceded;teamA_g_conceded_0_15_numb;teamB_g_conceded_0_15_numb;teamA_g_conceded_0_15_perc;teamB_g_conceded_0_15_perc;teamA_g_conceded_16_30_numb;teamB_g_conceded_16_30_numb;teamA_g_conceded_16_30_perc;teamB_g_conceded_16_30_perc;teamA_g_conceded_31_45_numb;teamB_g_conceded_31_45_numb;teamA_g_conceded_31_45_perc;teamB_g_conceded_31_45_perc;teamA_g_conceded_46_60_numb;teamB_g_conceded_46_60_numb;teamA_g_conceded_46_60_perc;teamB_g_conceded_46_60_perc;teamA_g_conceded_61_75_numb;teamB_g_conceded_61_75_numb;teamA_g_conceded_61_75_perc;teamB_g_conceded_61_75_perc;teamA_g_conceded_76_90_numb;teamB_g_conceded_76_90_numb;teamA_g_conceded_76_90_perc;teamB_g_conceded_76_90_perc;bet365_url
5b41f242cbaaf4fa;"2024-03-15 10:30:00";85:51;no;yes;fe3e394a6128e50b;"Australia Queensland Premier League 2";;2648f60d07d31673;"North Lakes United";6dd95985f12c4d15;"North Star";2;4;1;2;2;4;;;;;;;41;29;6;5;3;2;48;44;6;3;3;1;;;9;9;7;7;1;0;0;0;2;2;0;0;0;0;;;0;0;6;5;;;5;4;0;0;0;0;;;0;2;;;0;0;0;0;;;;;1.83;0.17;;;;;;;WWLLL;WWWWD;4.6;3.8;1.6;2.4;3;1.4;20;80;80;80;100;100;80;80;80;80;80;40;8;12;1;1;13;8;;3;;25;4;2;50;17;1;2;13;17;2;1;25;8;;3;;25;15;7;3;2;19;29;3;2;19;29;4;2;25;29;;;;;2;;13;;4;1;25;14;https://www.bet365.EXT/#/AC/B1/C1/D8/E152052371/F3/I0/
$url = 'https://api.soccerfootball.info/v1/live/basic/';
$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/live/basic/", {
"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/live/basic/'
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://api.soccerfootball.info/v1/live/basic/"
response = requests.get(url).json()
print(response)
curl --request GET \
--url 'https://api.soccerfootball.info/v1/live/basic/'
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.soccerfootball.info/v1/live/basic/"
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))
}
$url = 'https://soccer-football-info.p.rapidapi.com/live/basic/';
$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/live/basic/", {
"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/live/basic/",
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/live/basic/"
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/live/basic/ \
--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/live/basic/"
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))
}
More example of code on rapidAPI
t
string
You API Token DIRECT API ONLY
f
string
Format response can be "json" or "csv" (default "json")
l
string
Language code (default value is "en_US")
e
string
Returns match events "yes" | "no" (default value is "no")
X-RapidAPI-Key
string
Your API token RAPIDAPI ONLY
X-RapidAPI-Host
string
soccerfootballinfo.rapidapi.com RAPIDAPI ONLY