Documentation / Results
LATEST FOOTBALL RESULTS API
LatestComplimentary key
The most recent results in every competition your key reads, newest first. On the complimentary key it reads this season's Premier League.
GET
/v1/results/latestTRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/results/latest?competition=premier-league&per_page=2The answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/results/latest?competition=premier-league&per_page=2" \ -H "X-API-Key: your key"
PARAMETERS
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.per_pageintegerHow many results. Default 100.From 1 to 1,000RETURNS
match_idstringOur id for the match, mt_ and 9 characters, the same in every answer and for goodcompetitionstringThe competition's name in the collection, such as premier-leaguecountry_namestringThe country, or World or Europe for a tournamentcompetition_namestringThe competition as people write itseason_start_yearintegerThe first year of the season: 2026 for 2026/27kickoff_utcstringKickoff in UTC, ISO 8601kickoff_datestringThe day of kickoff in UTC, YYYY-MM-DDkickoff_local_datestringThe day of kickoff where the match is playedkickoff_local_timestringThe time of kickoff where the match is playedmatch_statusstringWhere the match stands, such as finished or not startedhome_club_idstringOur id for the home clubhome_club_namestringThe home clubaway_club_idstringOur id for the away clubaway_club_namestringThe away clubhome_goalsintegerHome goals at full timeaway_goalsintegerAway goals at full timefull_time_resultstringhome, away or draw, at full timehalf_time_home_goalsintegerHome goals at half timehalf_time_away_goalsintegerAway goals at half timehalf_time_resultstringhome, away or draw, at half timestoppage_minutesnull or moreMinutes of added time; null when not recordedis_kickoff_rescheduledbooleanWhether kickoff moved from its first date or timeelapsed_minutesnull or moreMinutes played so far while the match is on; null otherwisehome_league_positionintegerThe home side's place in its league before kickoffaway_league_positionintegerThe away side's place in its league before kickoffaway_travel_kmintegerHow far the away side came, ground to ground, in kilometresground_namestringThe groundcity_namestringThe city of the groundlatitudenumberWhere the ground is, north to southlongitudenumberWhere the ground is, east to westlocation_precisionstringHow exact latitude and longitude are: ground, or citydaylight_minutesintegerMinutes of daylight that day at the groundsun_elevation_degnumberThe sun's height at kickoff, in degrees; below 0 after darkpublic_holidaynull or moreThe public holiday that day where the match is played; null when nonekickoff_temperature_cnull or moreThe temperature at kickoff, in degrees C; null when not recordedkickoff_rain_mmnull or moreRain in the hour of kickoff, in millimetres; null when not recordedkickoff_wind_msnull or moreWind at kickoff, in metres a second; null when not recordedattendanceintegerThe crowd; null when not recordedreferee_namestringThe refereeregular_time_home_goalsintegerHome goals after 90 minutes and added timeregular_time_away_goalsintegerAway goals after 90 minutes and added timeregular_time_resultstringhome, away or draw, after 90 minutes and added timeextra_time_home_goalsnull or moreHome goals after extra time; null when there was noneextra_time_away_goalsnull or moreAway goals after extra time; null when there was noneshootout_home_goalsnull or moreHome penalties scored in a shootout; null when there was noneshootout_away_goalsnull or moreAway penalties scored in a shootout; null when there was noneclub_figuresobjectEach side's figures for the matchclub_figures.homeobjectThe home sideclub_figures.home.xgnumberExpected goalsclub_figures.home.xg_estimatenumberExpected goals worked out from the shots and the other figuresclub_figures.home.shotsintegerShotsclub_figures.home.shots_on_targetintegerShots on targetclub_figures.home.cornersintegerCornersclub_figures.home.foulsintegerFouls committedclub_figures.home.yellow_cardsintegerYellow cardsclub_figures.home.red_cardsintegerRed cardsclub_figures.home.possession_pctintegerShare of the ball, as a percentageclub_figures.awayobjectThe away sideclub_figures.away.xgnumberExpected goalsclub_figures.away.xg_estimatenumberExpected goals worked out from the shots and the other figuresclub_figures.away.shotsintegerShotsclub_figures.away.shots_on_targetintegerShots on targetclub_figures.away.cornersintegerCornersclub_figures.away.foulsintegerFouls committedclub_figures.away.yellow_cardsintegerYellow cardsclub_figures.away.red_cardsintegerRed cardsclub_figures.away.possession_pctintegerShare of the ball, as a percentageEXAMPLE ANSWER
200GET /v1/results/latest?competition=premier-league&per_page=2, taken 21 Oct 2026
{ "data": [ { "match_id": "mt_95kf4jw9a", "competition": "premier-league", "country_name": "England", "competition_name": "Premier League", "season_start_year": 2026, "kickoff_utc": "2026-10-19T19:00:00Z", "kickoff_date": "2026-10-19", "kickoff_local_date": "2026-10-19", "kickoff_local_time": "19:00", "match_status": "finished", "home_club_id": "cl_4x2bczxvv", "home_club_name": "Tottenham", "away_club_id": "cl_frt0n2e46", "away_club_name": "Coventry", "home_goals": 3, "away_goals": 1, "full_time_result": "home", "half_time_home_goals": 1, "half_time_away_goals": 0, "half_time_result": "home", "stoppage_minutes": null, "is_kickoff_rescheduled": false, "elapsed_minutes": null, "home_league_position": 20, "away_league_position": 16, "away_travel_km": 135, "ground_name": "Tottenham Hotspur Stadium", "city_name": "London", "latitude": 51.604444444444, "longitude": -0.066388888888889, "location_precision": "ground", "daylight_minutes": 630, "sun_elevation_deg": -19.3, "public_holiday": null, "kickoff_temperature_c": null, "kickoff_rain_mm": null, "kickoff_wind_ms": null, "attendance": 60913, "referee_name": "Andrew Madley", "regular_time_home_goals": 3, "regular_time_away_goals": 1, "regular_time_result": "home", "extra_time_home_goals": null, "extra_time_away_goals": null, "shootout_home_goals": null, "shootout_away_goals": null, "club_figures": { "home": { "xg": 0.9, "xg_estimate": 1.66, "shots": 16, "shots_on_target": 5, "corners": 4, "fouls": 15, "yellow_cards": 1, "red_cards": 0, "possession_pct": 66 }, "away": { "xg": 0.83, "xg_estimate": 1.34, "shots": 12, "shots_on_target": 1, "corners": 4, "fouls": 14, "yellow_cards": 3, "red_cards": 0, "possession_pct": 34 } } }, { "match_id": "mt_3pfb14gzr", "competition": "premier-league", "country_name": "England", "competition_name": "Premier League", "season_start_year": 2026, "kickoff_utc": "2026-10-18T15:30:00Z", "kickoff_date": "2026-10-18", "kickoff_local_date": "2026-10-18", "kickoff_local_time": "15:30", "match_status": "finished", "home_club_id": "cl_5bvjqjxyw", "home_club_name": "Nottingham Forest", "away_club_id": "cl_9cbmhewrg", "away_club_name": "Arsenal", "home_goals": 0, "away_goals": 1, "full_time_result": "away", "half_time_home_goals": 0, "half_time_away_goals": 0, "half_time_result": "draw", "stoppage_minutes": null, "is_kickoff_rescheduled": false, "elapsed_minutes": null, "home_league_position": 18, "away_league_position": 3, "away_travel_km": 169, "ground_name": "City Ground", "city_name": "Nottingham", "latitude": 52.94, "longitude": -1.132778, "location_precision": "ground", "daylight_minutes": 630, "sun_elevation_deg": 12.1, "public_holiday": null, "kickoff_temperature_c": null, "kickoff_rain_mm": null, "kickoff_wind_ms": null, "attendance": 30893, "referee_name": "Michael Oliver", "regular_time_home_goals": 0, "regular_time_away_goals": 1, "regular_time_result": "away", "extra_time_home_goals": null, "extra_time_away_goals": null, "shootout_home_goals": null, "shootout_away_goals": null, "club_figures": { "home": { "xg": 0.79, "xg_estimate": 1.1, "shots": 14, "shots_on_target": 2, "corners": 8, "fouls": 14, "yellow_cards": 1, "red_cards": 0, "possession_pct": 26 }, "away": { "xg": 1.09, "xg_estimate": 0.89, "shots": 9, "shots_on_target": 1, "corners": 6, "fouls": 8, "yellow_cards": 1, "red_cards": 0, "possession_pct": 74 } } } ], "meta": { "count": 2, "request_id": "req_e179a48a7c4b5836" } }
ERRORS
401unauthorizedNo key, or a key we do not know.400bad_requestA parameter is missing or not in the right form; the message names it.403upgrade_requiredAnything outside this season's Premier League, on the complimentary key.404not_foundAn id or competition we do not have.422unknown_parameterA parameter this endpoint does not take.429quota_exceededThe day's 50 calls are used, on the complimentary key; they reset at 00:00 UTC.