FOOTBALL API
The collectionDocumentationMembershipStatusSupport

FOOTBALL HALF TIME STATISTICS API

Half time
Complimentary key

How often a side ahead at half time goes on to win, draw or lose, by competition and season. On the complimentary key it reads this season's Premier League.

GET/v1/stats/half-time
TRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/stats/half-time?competition=premier-league&group_by=season
The answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/stats/half-time?competition=premier-league&group_by=season" \
  -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.
seasonintegerThe first year of the season: 2026 for 2026/27.From 2015, or the competition's first season
group_bystringHow the figures are split: by competition, season, country, or competition and season.competition or season or country or competition_season

RETURNS

season_start_yearintegerThe first year of the season: 2026 for 2026/27
matchesintegerMatches counted
led_at_halfintegerMatches where a side led at half time
lead_held_pctintegerShare of those the leader won, as a percentage
lead_lost_pctnumberShare of those the leader lost, as a percentage
homeobjectThe home side
home.ledintegerMatches the club led at half time
home.won_pctintegerShare won, as a percentage
home.lost_pctnumberShare lost, as a percentage
awayobjectThe away side
away.ledintegerMatches the club led at half time
away.won_pctnumberShare won, as a percentage
away.lost_pctnumberShare lost, as a percentage
level_at_halfintegerMatches level at half time
level_stayed_pctnumberShare of those that ended level, as a percentage

EXAMPLE ANSWER

200GET /v1/stats/half-time?competition=premier-league&group_by=season, taken 21 Oct 2026, first rows shown
{
  "data": [
    {
      "season_start_year": 2015,
      "matches": 380,
      "led_at_half": 212,
      "lead_held_pct": 75,
      "lead_lost_pct": 8.02,
      "home": {
        "led": 125,
        "won_pct": 76,
        "lost_pct": 7.2
      },
      "away": {
        "led": 87,
        "won_pct": 73.56,
        "lost_pct": 9.2
      },
      "level_at_half": 168,
      "level_stayed_pct": 42.26
    },
    {
      "season_start_year": 2016,
      "matches": 380,
      "led_at_half": 227,
      "lead_held_pct": 79.74,
      "lead_lost_pct": 5.29,
      "home": {
        "led": 135,
        "won_pct": 86.67,
        "lost_pct": 3.7
      },
      "away": {
        "led": 92,
        "won_pct": 69.57,
        "lost_pct": 7.61
      },
      "level_at_half": 153,
      "level_stayed_pct": 32.68
    }
  ],
  "meta": {
    "count": 12,
    "group_by": "season",
    "request_id": "req_ab487a7ad8635a4c"
  }
}

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.