FOOTBALL API
The collectionDocumentationMembershipStatusSupport
Documentation / Matches

FOOTBALL GOALS AND CARDS API

Events
Complimentary key

Every goal and card of a match, in the order it happened, to the minute. On the complimentary key it reads this season's Premier League.

GET/v1/matches/{match_id}/events
TRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/matches/mt_95kf4jw9a/events
The answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/matches/mt_95kf4jw9a/events" \
  -H "X-API-Key: your key"

PARAMETERS

match_idrequiredstringA match id from any result, fixture or match list, such as mt_e2hk79mn5. In the path.

RETURNS

match_idstringOur id for the match, mt_ and 9 characters, the same in every answer and for good
kickoff_datestringThe day of kickoff in UTC, YYYY-MM-DD
country_namestringThe country, or World or Europe for a tournament
competition_namestringThe competition as people write it
home_club_idstringOur id for the home club
home_club_namestringThe home club
away_club_idstringOur id for the away club
away_club_namestringThe away club
home_goalsintegerHome goals at full time
away_goalsintegerAway goals at full time
half_timeobjectThe score at half time
half_time.homeintegerThe home side
half_time.awayintegerThe away side
stoppage_minutesnull or moreMinutes of added time; null when not recorded
has_eventsbooleanWhether goals and cards are recorded for this match
goalsintegerGoals in the match
red_cardsintegerRed cards
timelinelistEach goal and card, in the order it happened
timeline[].typestringWhat happened
timeline[].minutestringThe minute of the match
timeline[].club_namestringThe club

EXAMPLE ANSWER

200GET /v1/matches/mt_95kf4jw9a/events, taken 21 Oct 2026, first rows shown
{
  "data": {
    "match_id": "mt_95kf4jw9a",
    "kickoff_date": "2026-10-19",
    "country_name": "England",
    "competition_name": "Premier League",
    "home_club_id": "cl_4x2bczxvv",
    "home_club_name": "Tottenham",
    "away_club_id": "cl_frt0n2e46",
    "away_club_name": "Coventry",
    "home_goals": 3,
    "away_goals": 1,
    "half_time": {
      "home": 1,
      "away": 0
    },
    "stoppage_minutes": null,
    "has_events": true,
    "goals": 4,
    "red_cards": 0,
    "timeline": [
      {
        "type": "goal",
        "minute": "14",
        "club_name": "Tottenham"
      },
      {
        "type": "goal",
        "minute": "49",
        "club_name": "Coventry"
      },
      {
        "type": "goal",
        "minute": "58",
        "club_name": "Tottenham"
      }
    ]
  },
  "meta": {
    "count": 0,
    "request_id": "req_b24aa3ae4ad27f98"
  }
}

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.