Documentation / Results
FOOTBALL RESULTS YESTERDAY API
YesterdayComplimentary key
Every match settled yesterday, by the UTC calendar, in every competition your key reads. Pass a competition to keep to one. On the complimentary key it reads this season's Premier League.
GET
/v1/results/yesterdayTRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/results/yesterdayThe answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/results/yesterday" \ -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.RETURNS
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_positionnull or moreThe home side's place in its league before kickoffaway_league_positionnull or moreThe 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_degintegerThe 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 recordedattendancenull or moreThe 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/yesterday, taken 21 Oct 2026, first rows shown
{ "data": [ { "match_id": "mt_5wa63w50c", "competition": "champions-league", "country_name": "World", "competition_name": "UEFA Champions League", "season_start_year": 2026, "kickoff_utc": "2026-10-20T19:00:00Z", "kickoff_date": "2026-10-20", "kickoff_local_date": "2026-10-20", "kickoff_local_time": "19:00", "match_status": "finished", "home_club_id": "cl_a61p5h89m", "home_club_name": "VfB Stuttgart", "away_club_id": "cl_1xzgy7vsr", "away_club_name": "Atletico Madrid", "home_goals": 1, "away_goals": 1, "full_time_result": "draw", "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": null, "away_league_position": null, "away_travel_km": 1373, "ground_name": "MHP Arena", "city_name": "Stuttgart", "latitude": 48.792222, "longitude": 9.231944, "location_precision": "ground", "daylight_minutes": 636, "sun_elevation_deg": -26, "public_holiday": null, "kickoff_temperature_c": null, "kickoff_rain_mm": null, "kickoff_wind_ms": null, "attendance": null, "referee_name": "Serdar Gozubuyuk", "regular_time_home_goals": 1, "regular_time_away_goals": 1, "regular_time_result": "draw", "extra_time_home_goals": null, "extra_time_away_goals": null, "shootout_home_goals": null, "shootout_away_goals": null, "club_figures": { "home": { "xg": 1.53, "xg_estimate": 1.88, "shots": 18, "shots_on_target": 5, "corners": 9, "fouls": 15, "yellow_cards": 1, "red_cards": 0, "possession_pct": 54 }, "away": { "xg": 0.9, "xg_estimate": 1.34, "shots": 10, "shots_on_target": 3, "corners": 4, "fouls": 7, "yellow_cards": 0, "red_cards": 1, "possession_pct": 46 } } }, { "match_id": "mt_axv6nfqym", "competition": "champions-league", "country_name": "World", "competition_name": "UEFA Champions League", "season_start_year": 2026, "kickoff_utc": "2026-10-20T19:00:00Z", "kickoff_date": "2026-10-20", "kickoff_local_date": "2026-10-20", "kickoff_local_time": "19:00", "match_status": "finished", "home_club_id": "cl_d6zjnzmp1", "home_club_name": "Paris Saint Germain", "away_club_id": "cl_39f8dsw23", "away_club_name": "Barcelona", "home_goals": 4, "away_goals": 2, "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": null, "away_league_position": null, "away_travel_km": 830, "ground_name": "Parc des Princes", "city_name": "Paris", "latitude": 48.84145, "longitude": 2.25305, "location_precision": "ground", "daylight_minutes": 636, "sun_elevation_deg": -21.5, "public_holiday": null, "kickoff_temperature_c": null, "kickoff_rain_mm": null, "kickoff_wind_ms": null, "attendance": null, "referee_name": "Michael Oliver", "regular_time_home_goals": 4, "regular_time_away_goals": 2, "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": 3.77, "xg_estimate": 2.98, "shots": 22, "shots_on_target": 14, "corners": 2, "fouls": 11, "yellow_cards": 0, "red_cards": 0, "possession_pct": 47 }, "away": { "xg": 2.22, "xg_estimate": 1.88, "shots": 18, "shots_on_target": 5, "corners": 3, "fouls": 10, "yellow_cards": 1, "red_cards": 0, "possession_pct": 53 } } } ], "meta": { "count": 37, "date": "2026-10-20", "request_id": "req_16422232ac350822" } }
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.