slvler / livescore-service
live score service API for api-football.com
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.2
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- laravel/pint: ^1.18
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5.8
README
Live Score Client for api-football.com
Welcome to Api-Football! You can use our API to access all API endpoints, which can get information about Football Leagues & Cups.
Requirements
- PHP 8.1
- Laravel 9.x | 10.x
Installation
To install this package tou can use composer:
composer require slvler/livescore-service
Usage
- First, you should extract the config/livescore.php file to the config folder.
php artisan vendor:publish --tag=livescore
- API key to be obtained from api-football.com address should be declared. This is your private API key, specific to this API.
'livescore' => [ 'base_url' => 'v3.football.api-sports.io', 'api_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ]
Basic usage
Example
use Slvler\LiveScoreService\LiveScoreClient; $client = new LiveScoreClient();
Available methods
General
Status
Get the list status
$client->general()->getStatus();
Countries
Countries
Get the list of available countries for the leagues endpoint.
$client->countries()->getAll();
The name and code fields can be used in other endpoints as filters.
$client->countries()->getAll(['code' => 'FR']);
Leagues
Countries
Get the list of available leagues and cups. This endpoint also returns the coverage of each competition, which makes it possible to know what is available for that league or cup.
$client->leagues()->getLeagues(['season' => '2018', 'id' => '33']);
Seasons
All seasons are only 4-digit keys, so for a league whose season is 2018-2019 like the English Premier League (EPL), the 2018-2019 season in the API will be 2018.
$client->leagues()->getLeaguesSeasons();
Teams
Teams Information
Get the list of available teams. The team id are unique in the API and teams keep it among all the leagues/cups in which they participate.
$client->team()->getTeamsInformation(['name' => 'manchester united']);
Teams Statistics
The team id are unique in the API and teams keep it among all the leagues/cups in which they participate.
$client->team()->getTeamsStatistics(['league' => '39', 'team' => '33', 'season' => '2019']);
Teams Seasons
Get the list of seasons available for a team.
$client->team()->getTeamsSeasons(['team' => '33']);
Teams Countries
Get the list of countries available for the teams endpoint.
$client->team()->getTeamCountries();
Venues
Venues
Get the list of available venues. The venue id are unique in the API.
$client->venues()->getVenues(['name' => 'Old Trafford']);
Standings
Standings
Get the standings for a league or a team. Return a table of one or more rankings according to the league / cup.
$client->standings()->getStandings([ 'league' => '39', 'season' => '2019']);
Fixtures
Rounds
Get the rounds for a league or a cup. The round can be used in endpoint fixtures as filters
$variable = $client->fixtures()->getRounds(['league' => '39', 'season' => 2019]);
Fixtures
For all requests to fixtures you can add the query parameter timezone to your request in order to retrieve the list of matches in the time zone of your choice like “Europe/London“
$client->fixtures()->getFixtures(['id' => '215662']);
Head To Head
Get heads to heads between two teams.
$client->fixtures()->getHeadToHead(['h2h' => '33-34']);
Statistics
Get the statistics for one fixture.
$client->fixtures()->getStatistics(['fixture' => '215662']);
Events
Get the events from a fixture.
$client->fixtures()->getEvents(['fixture' => '215662']);
Lineups
Get the lineups for a fixture. Lineups are available between 20 and 40 minutes before the fixture when the competition covers this feature. You can check this with the endpoint leagues and the coverage field.
$client->fixtures()->getLineups(['fixture' => '592872']);
Players statistics
Get the players statistics from one fixture.
$client->fixtures()->getPlayersStatistics(['fixture' => '169080']);
Injuries
Injuries
Get the list of players not participating in the fixtures for various reasons such as suspended, injured for example
$client->injuries()->getInjuries(['league' => '2', 'season' => '2020']);
Predictions
Predictions
Get predictions about a fixture. The predictions are made using several algorithms including the poisson distribution, comparison of team statistics, last matches, players etc…
$client->predictions()->getPredictions(['fixture' => '198772']);
Coachs
Coachs
Get all the information about the coachs and their careers.
$client->coachs()->getCoachs(['id' => '1']);
Players
Seasons
Get all available seasons for players statistics.
$client->players()->getSeasons(['player' => '276']);
Players
Get players statistics.
$client->players()->getPlayers(['id' => '19088', 'season' => '2018']);
Squads
Return the current squad of a team when the team parameter is used. When the player parameter is used the endpoint returns the set of teams associated with the player.
$client->players()->getSquads(['team' => '33']);
Top Scorers
Get the 20 best players for a league or cup.
$client->players()->getTopScorers(['season' => '2018', 'league' => '61']);
Top Assists
Get the 20 best players assists for a league or cup.
$client->players()->getTopAssists(['season' => '2020', 'league' => '61']);
Top Yellow Cards
Get the 20 players with the most yellow cards for a league or cup.
$client->players()->getTopYellowCards(['season' => '2020', 'league' => '61']);
Top Red Cards
Get the 20 players with the most red cards for a league or cup.
$client->players()->getTopRedCards(['season' => '2020', 'league' => '61']);
Transfers
Transfers
Get all available transfers for players and teams
$client->transfer()->getTransfer(['player' => '35845']);
Trophies
Transfers
Get all available trophies for a player or a coach.
$client->trophies()->getTrophies(['player' => '35845']);
Sidelined
Sidelined
Get all available sidelined for a player or a coach.
$client->sidelined()->getSidelined(['player' => '276']);
Odds
Odds / Live
This endpoint returns in-play odds for fixtures in progress.
$client->odds()->getOddsLive();
Odds / Live / Bets
Get all available bets for in-play odds.
$client->odds()->getOddsLivBets(['id' => "1"]);
Odds
Get odds from fixtures, leagues or date.
$client->odds()->getOdds(['date' => "2020-05-15"]);
Mapping
Get the list of available fixtures id for the endpoint odds.
$client->odds()->getOddsMapping();
Bookmakers
Get all available bookmakers.
$client->odds()->getOddsBookmakers();
Bets
Get all available bets for pre-match odds.
$client->odds()->getOddsBets();
Testing
composer test
Credits
License
The MIT License (MIT). Please see License File for more information.
Contributing
You're very welcome to contribute. Please see CONTRIBUTING for details.