Countries
Method
GET apifootball.com/api/?action=get_countries
Returns list of supported countries included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
Request URL
JSON Response
[
{
"country_id":"169",
"country_name":"England"
},
{
"country_id":"170",
"country_name":"Italy"
},
{
"country_id":"171",
"country_name":"Spain"
},
{
"country_id":"172",
"country_name":"Germany"
},
{
"country_id":"173",
"country_name":"France"
},
{
"country_id":"174",
"country_name":"Netherlands"
},
{
"country_id":"175",
"country_name":"Belgium"
},
{
"country_id":"176",
"country_name":"Portugal"
},
{
"country_id":"177",
"country_name":"Scotland"
},
....
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_countries&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
Competitions
Method
GET apifootball.com/api/?action=get_leagues
Returns list of supported competitions included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| country_id | Country ID - if set only leagues from specific country will be returned (Optional) |
Request URL
JSON Response
[
{
"country_id":"169",
"country_name":"England",
"league_id":"62",
"league_name":"Premier League"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"65",
"league_name":"League 2"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"66",
"league_name":"Nat. League"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"67",
"league_name":"Nat. League North"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"68",
"league_name":"Nat. League South"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"69",
"league_name":"FA Cup"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"70",
"league_name":"Capital One Cup"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"71",
"league_name":"Community Shield"
},
....
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$country_id = 169;
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_leagues&country_id=$country_id&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
Standings
Method
GET apifootball.com/api/?action=get_standings
Returns standings for leagues included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| league_id | League internal code |
Request URL
JSON Response
[
{
"country_name":"England",
"league_id":"62",
"league_name":"Premier League",
"team_name":"Arsenal",
"overall_league_position":"4",
"overall_league_payed":"11",
"overall_league_W":"7",
"overall_league_D":"3",
"overall_league_L":"1",
"overall_league_GF":"24",
"overall_league_GA":"11",
"overall_league_PTS":"24",
"home_league_position":"7",
"home_league_payed":"6",
"home_league_W":"3",
"home_league_D":"2",
"home_league_L":"1",
"home_league_GF":"12",
"home_league_GA":"8",
"home_league_PTS":"11",
"away_league_position":"1",
"away_league_payed":"5",
"away_league_W":"4",
"away_league_D":"1",
"away_league_L":"0",
"away_league_GF":"12",
"away_league_GA":"3",
"away_league_PTS":"13"
},
....
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$league_id = 62;
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_standings&league_id=$league_id&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
?>
Events (Results / Fixtures)
Method
GET apifootball.com/api/?action=get_events
Returns events included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| from | Start date (yyyy-mm-dd) |
| to | Stop date (yyyy-mm-dd) |
| country_id | Country ID - if set only leagues from specific country will be returned (Optional) |
| league_id | League ID - if set events from specific league will be returned (Optional) |
| match_id | Match ID - if set only details from specific match will be returned (Optional) |
Request URL
JSON Response
[
{
"match_id": "277488",
"country_id": "170",
"country_name": "Italy",
"league_id": "79",
"league_name": "Serie A",
"match_date": "2018-04-22",
"match_status": "FT",
"match_time": "15:00",
"match_hometeam_name": "Juventus",
"match_hometeam_score": "0",
"match_awayteam_name": "SSC Napoli",
"match_awayteam_score": "1",
"match_hometeam_halftime_score": "0",
"match_awayteam_halftime_score": "0",
"match_hometeam_extra_score": "",
"match_awayteam_extra_score": "",
"match_hometeam_penalty_score": "",
"match_awayteam_penalty_score": "",
"match_hometeam_system": "4-3-2-1",
"match_awayteam_system": "4-3-3",
"match_live": "1",
"goalscorer": [
{
"time": "90'",
"home_scorer": "",
"score": "0 - 1",
"away_scorer": "K. Kalidou Koulibaly"
}
],
"cards": [
{
"time": "9'",
"home_fault": "M. Medhi Benatia",
"card": "yellowcard",
"away_fault": ""
},
{
"time": "10'",
"home_fault": "K. Kwadwo Asamoah",
"card": "yellowcard",
"away_fault": ""
},
{
"time": "16'",
"home_fault": "",
"card": "yellowcard",
"away_fault": "R. Raul Albiol"
},
{
"time": "27'",
"home_fault": "M. Miralem Pjanic",
"card": "yellowcard",
"away_fault": ""
}
],
"lineup": {
"home": {
"starting_lineups": [
{
"lineup_player": "Gianluigi Buffon",
"lineup_number": "1",
"lineup_position": "1"
},
{
"lineup_player": "Giorgio Chiellini",
"lineup_number": "3",
"lineup_position": "2"
},
{
"lineup_player": "Medhi Benatia",
"lineup_number": "4",
"lineup_position": "3"
},
{
"lineup_player": "Benedikt Hoewedes",
"lineup_number": "21",
"lineup_position": "4"
},
{
"lineup_player": "Kwadwo Asamoah",
"lineup_number": "22",
"lineup_position": "5"
},
{
"lineup_player": "Sami Khedira",
"lineup_number": "6",
"lineup_position": "6"
},
{
"lineup_player": "Miralem Pjanic",
"lineup_number": "5",
"lineup_position": "7"
},
{
"lineup_player": "Blaise Matuidi",
"lineup_number": "14",
"lineup_position": "8"
},
{
"lineup_player": "Douglas Costa",
"lineup_number": "11",
"lineup_position": "9"
},
{
"lineup_player": "Paulo Dybala",
"lineup_number": "10",
"lineup_position": "10"
},
{
"lineup_player": "Gonzalo Higuain",
"lineup_number": "9",
"lineup_position": "11"
}
],
"substitutes": [
{
"lineup_player": "Juan Cuadrado",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Alex Sandro",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Andrea Barzagli",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Carlo Pinsoglio",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Mario Mandzukic",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Wojciech Szczesny",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Daniele Rugani",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Stephan Lichtsteiner",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Rodrigo Bentancur",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Federico Bernardeschi",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": " ",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": " ",
"lineup_number": "",
"lineup_position": ""
}
],
"coach": [
{
"lineup_player": "Massimiliano Allegri",
"lineup_number": "",
"lineup_position": ""
}
],
"substitutions": [
{
"lineup_player": "Giorgio Chiellini | Stephan Lichtsteiner",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "11'"
},
{
"lineup_player": "Paulo Dybala | Juan Cuadrado",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "46'"
},
{
"lineup_player": "Douglas Costa | Mario Mandzukic",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "71'"
}
]
},
"away": {
"starting_lineups": [
{
"lineup_player": "Lorenzo Insigne",
"lineup_number": "24",
"lineup_position": "11"
},
{
"lineup_player": "Dries Mertens",
"lineup_number": "14",
"lineup_position": "10"
},
{
"lineup_player": "Jose Maria Callejon",
"lineup_number": "7",
"lineup_position": "9"
},
{
"lineup_player": "Marek Hamsik",
"lineup_number": "17",
"lineup_position": "8"
},
{
"lineup_player": "Jorginho",
"lineup_number": "8",
"lineup_position": "7"
},
{
"lineup_player": "Allan",
"lineup_number": "5",
"lineup_position": "6"
},
{
"lineup_player": "Mario Rui",
"lineup_number": "6",
"lineup_position": "5"
},
{
"lineup_player": "Kalidou Koulibaly",
"lineup_number": "26",
"lineup_position": "4"
},
{
"lineup_player": "Raul Albiol",
"lineup_number": "33",
"lineup_position": "3"
},
{
"lineup_player": "Elseid Hysaj",
"lineup_number": "23",
"lineup_position": "2"
},
{
"lineup_player": "Pepe Reina",
"lineup_number": "25",
"lineup_position": "1"
}
],
"substitutes": [
{
"lineup_player": "Rafael",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Christian Maggio",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Hrvoje Milic",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Piotr Zielinski",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Vlad Chiriches",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Luigi Sepe",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Zinedine Machach",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Marko Rog",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Adam Ounas",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Amadou Diawara",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Lorenzo Tonelli",
"lineup_number": "",
"lineup_position": ""
},
{
"lineup_player": "Arkadiusz Milik",
"lineup_number": "",
"lineup_position": ""
}
],
"coach": [
{
"lineup_player": "Maurizio Sarri",
"lineup_number": "",
"lineup_position": ""
}
],
"substitutions": [
{
"lineup_player": "Dries Mertens | Arkadiusz Milik",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "61'"
},
{
"lineup_player": "Marek Hamsik | Piotr Zielinski",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "66'"
},
{
"lineup_player": "Allan | Marko Rog",
"lineup_number": "",
"lineup_position": "",
"lineup_time": "80'"
}
]
}
},
"statistics": [
{
"type": "shots on target",
"home": "1",
"away": "5"
},
{
"type": "shots off target",
"home": "2",
"away": "8"
},
{
"type": "possession (%)",
"home": "44",
"away": "56"
},
{
"type": "corners",
"home": "3",
"away": "3"
},
{
"type": "offsides",
"home": "2",
"away": "4"
},
{
"type": "fouls",
"home": "10",
"away": "17"
},
{
"type": "yellow cards",
"home": "3",
"away": "1"
},
{
"type": "goal kicks",
"home": "9",
"away": "6"
},
{
"type": "treatments",
"home": "3",
"away": "0"
}
]
}
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$from = '2016-10-30';
$to = '2016-11-01';
$league_id = 62;
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_events&from=$from&to=$to&league_id=$league_id&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
?>
Odds
Method
GET apifootball.com/api/?action=get_odds
Returns odds (1x2, BTS, O/U, AH) for events included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| from | Start date (yyyy-mm-dd) |
| to | Stop date (yyyy-mm-dd) |
| match_id | Match ID - if set only odds from specific event will be returned (Optional) |
Request URL
JSON Response
[
{
"match_id":"148356"
,"odd_bookmakers":"10Bet"
,"odd_date":"2017-02-07 07:41:36"
,"odd_1":"1.77"
,"odd_x":"3.74"
,"odd_2":"5.30"
,"ah-2.5_1":"6.25"
,"ah-2.5_2":"1.12"
,"ah-2_1":"5.50"
,"ah-2_2":"1.15"
,"ah-1.5_1":"3.00"
,"ah-1.5_2":"1.38"
,"ah-1_1":"2.44"
,"ah-1_2":"1.65"
,"ah0_1":"1.28"
,"ah0_2":"3.54"
,"o+0.5":"1.07"
,"u+0.5":"9.00"
,"o+1.5":"1.35"
,"u+1.5":"3.10"
,"o+2":"1.58"
,"u+2":"2.35"
,"o+2.5":"2.10"
,"u+2.5":"1.84"
,"o+3":"3.10"
,"u+3":"1.35"
,"o+3.5":"3.80"
,"u+3.5":"1.25"
,"o+4.5":"8.00"
,"u+4.5":"1.08"
,"o+5.5":"19.00"
,"u+5.5":"1.02"
,"bts_yes":"2.00"
,"bts_no":"1.80"
}
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$from = '2017-02-13';
$to = '2017-02-13';
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_odds&from=$from&to=$to&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
?>
H2H
Method
GET apifootball.com/api/?action=get_H2H
Returns the last games between submiteted teams and the last games of each team
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| firstTeam | First team name |
| secondTeam | Second team name |
Request URL
JSON Response
[
{
"firstTeam_VS_secondTeam": [{
"match_id": "248036",
"country_id": "169",
"country_name": "England",
"league_id": "70",
"league_name": "Capital One Cup",
"match_date": "2018-01-24",
"match_status": "FT",
"match_time": "21:00",
"match_hometeam_name": "Arsenal",
"match_hometeam_score": "2",
"match_awayteam_name": "Chelsea",
"match_awayteam_score": "1",
"match_hometeam_halftime_score": "1",
"match_awayteam_halftime_score": "1",
"match_live": "1"
},
.....
],"firstTeam_lastResults": [{
"match_id": "248036",
"country_id": "169",
"country_name": "England",
"league_id": "70",
"league_name": "Capital One Cup",
"match_date": "2018-01-24",
"match_status": "FT",
"match_time": "21:00",
"match_hometeam_name": "Arsenal",
"match_hometeam_score": "2",
"match_awayteam_name": "Chelsea",
"match_awayteam_score": "1",
"match_hometeam_halftime_score": "1",
"match_awayteam_halftime_score": "1",
"match_live": "1"
},
.....
], "secondTeam_lastResults": [{
"match_id": "248036",
"country_id": "169",
"country_name": "England",
"league_id": "70",
"league_name": "Capital One Cup",
"match_date": "2018-01-24",
"match_status": "FT",
"match_time": "21:00",
"match_hometeam_name": "Arsenal",
"match_hometeam_score": "2",
"match_awayteam_name": "Chelsea",
"match_awayteam_score": "1",
"match_hometeam_halftime_score": "1",
"match_awayteam_halftime_score": "1",
"match_live": "1"
},
.....
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$from = '2017-02-13';
$to = '2017-02-13';
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_H2H&firstTeam=$firstTeam&secondTeam=$secondTeam&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
?>
Predictions
Method
GET apifootball.com/api/?action=get_predictions
Returns mathematical calculated predictions for the events included in your current subscription plan
Parameters
| Parameter | Description |
|---|---|
| action | API method name |
| APIkey | Authorization code generated from your apifootball account |
| from | Start date (yyyy-mm-dd) |
| to | Stop date (yyyy-mm-dd) |
| country_id | Country ID - if set only leagues from specific country will be returned (Optional) |
| league_id | League ID - if set events from specific league will be returned (Optional) |
| match_id | Match ID - if set only details from specific match will be returned (Optional) |
Request URL
JSON Response
[
{
"match_id": "369090",
"country_id": "253",
"country_name": "Australia",
"league_id": "684",
"league_name": "A-League",
"match_date": "2019-01-08",
"match_status": "FT",
"match_time": "08:50",
"match_hometeam_name": "Western Sydney Wanderers FC",
"match_hometeam_score": "2",
"match_awayteam_name": "Wellington Phoenix FC",
"match_awayteam_score": "3",
"match_hometeam_halftime_score": "1",
"match_awayteam_halftime_score": "1",
"match_hometeam_extra_score": "",
"match_awayteam_extra_score": "",
"match_hometeam_penalty_score": "",
"match_awayteam_penalty_score": "",
"match_hometeam_system": "4-3-3",
"match_awayteam_system": "3-4-3",
"match_live": "0",
"prob_HW": "20.00",
"prob_D": "25.00",
"prob_AW": "55.00",
"prob_HW_D": "45.00",
"prob_AW_D": "80.00",
"prob_HW_AW": "75.00",
"prob_O": "43.00",
"prob_U": "57.00",
"prob_O_1": "69.00",
"prob_U_1": "31.00",
"prob_O_3": "22.00",
"prob_U_3": "78.00",
"prob_bts": "44.00",
"prob_ots": "56.00",
"prob_ah_h_45": "99.00",
"prob_ah_a_45": "1.00",
"prob_ah_h_35": "96.00",
"prob_ah_a_35": "4.00",
"prob_ah_h_25": "88.00",
"prob_ah_a_25": "12.00",
"prob_ah_h_15": "71.00",
"prob_ah_a_15": "29.00",
"prob_ah_h_05": "45.00",
"prob_ah_a_05": "55.00",
"prob_ah_h_-05": "20.00",
"prob_ah_a_-05": "80.00",
"prob_ah_h_-15": "6.00",
"prob_ah_a_-15": "94.00",
"prob_ah_h_-25": "1.00",
"prob_ah_a_-25": "99.00",
"prob_ah_h_-35": "0.00",
"prob_ah_a_-35": "100.00",
"prob_ah_h_-45": "0.00",
"prob_ah_a_-45": "100.00"
}
........
]
PHP call example
$APIkey='xxxxxxxxxxxxxx';
$from = '2019-01-08';
$to = '2019-01-08';
$curl_options = array(
CURLOPT_URL => "https://apifootball.com/api/?action=get_predictions&from=$from&to=$to&APIkey=$APIkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
?>