Trend

Overview

The Trend Resource provides extensive derived form data. You can use trends to determine the current form / strength of a team for certain metrics.

You can make use of them either by looking at past data and see if the trend was confirmed by the result of the match or if it was an outlier.

The data of a trend basically comes either as Average, which takes the totals of a metric and divides by the no of matches, or it comes as Percentage, represented as a number between 0 and 1, indicating the % of matches a certain metric happened. The data points are prefixed accordingly, avg_ or pct_. All metrics are built over the values within the given input window of matches, the default window considers the last 5 matches.

So for instance, pct_2nd_hf_o_05 with a value of 0.8 means 80% of the matches taken into account at least one total goal in the second half was scored.

Only want to know in how many of the matches the team scored at home? Use the consider_side filter for that, so only home matches are taken into account for the home team and only away matches for the away team.

The following request returns all trends for matches played on St. Nicholas Day 2025.

curl -XGET 'https://api.football-data.org/v4/trends/?date=2025-12-06' -H "X-Auth-Token: UR_TOKEN"

Let’s see the entire beauty of the trend resource below.

{
  "meta": {
    "filters": {
      "consider_side": false,
      "window": 5,
      "competitions": "WC,BSA,CL,FL1,SA,PPL,PL,DED,EC,ELC,PD,BL1",
      "dateFrom": "2025-12-06",
      "dateTo": "2025-12-07"
    },
    "result_set": {
      "count": 41,
      "competitions": "PL,ELC,PD,SA,BL1,PPL,DED,FL1,BSA",
      "first": "2025-12-06",
      "last": "2025-12-07"
    }
  },
  "trends": [
    {
      "id": 537926,
      "status": "finished",
      "competition": {
        "id": 2021,
        "name": "Premier League",
        "area": {
          "code": "ENG",
          "name": "England",
          "ensignUrl": "https://crests.football-data.org/770.svg"
        }
      },
      "matchday": 15,
      "season": {
        "id": 2403,
        "startDate": "2025-08-15",
        "endDate": "2026-05-24",
        "currentMatchday": 21,
        "winner": null
      },
      "homeTeam": {
        "id": 58,
        "name": "Aston Villa FC"
      },
      "awayTeam": {
        "id": 57,
        "name": "Arsenal FC"
      },
      "trend": {
        "home": {
          "avg_goals": 3.6,
          "avg_goals_conceded": 1.0,
          "avg_goals_scored": 2.6,
          "avg_points": 3.0,
          "competitions": "PL,EL",
          "form": "WWWWW",
          "match_ids": [
            537916,
            537906,
            552192,
            537901,
            537886
          ],
          "pct_1st_hf_o_05": 0.6,
          "pct_1st_hf_o_15": 0.6,
          "pct_1st_hf_o_25": 0.0,
          "pct_1st_hf_u_05": 0.4,
          "pct_1st_hf_u_15": 0.4,
          "pct_1st_hf_u_25": 1.0,
          "pct_2nd_hf_o_05": 0.8,
          "pct_2nd_hf_o_15": 0.6,
          "pct_2nd_hf_o_25": 0.0,
          "pct_2nd_hf_u_05": 0.2,
          "pct_2nd_hf_u_15": 0.4,
          "pct_2nd_hf_u_25": 1.0,
          "pct_bts": 0.6,
          "pct_draws": 0.0,
          "pct_fts": 0.0,
          "pct_losses": 0.0,
          "pct_o_05": 1.0,
          "pct_o_15": 0.8,
          "pct_o_25": 0.8,
          "pct_o_35": 0.4,
          "pct_u_05": 0.0,
          "pct_u_15": 0.2,
          "pct_u_25": 0.2,
          "pct_u_35": 0.6,
          "pct_wins": 1.0,
          "team_id": 58,
          "window_end_date": "2025-12-03",
          "window_start_date": "2025-11-09"
        },
        "away": {
          "avg_goals": 3.4,
          "avg_goals_conceded": 1.0,
          "avg_goals_scored": 2.4,
          "avg_points": 2.2,
          "competitions": "PL,CL",
          "form": "WDWWD",
          "match_ids": [
            537917,
            537909,
            551911,
            537897,
            537885
          ],
          "pct_1st_hf_o_05": 0.6,
          "pct_1st_hf_o_15": 0.2,
          "pct_1st_hf_o_25": 0.0,
          "pct_1st_hf_u_05": 0.4,
          "pct_1st_hf_u_15": 0.8,
          "pct_1st_hf_u_25": 1.0,
          "pct_2nd_hf_o_05": 1.0,
          "pct_2nd_hf_o_15": 0.6,
          "pct_2nd_hf_o_25": 0.0,
          "pct_2nd_hf_u_05": 0.0,
          "pct_2nd_hf_u_15": 0.4,
          "pct_2nd_hf_u_25": 1.0,
          "pct_bts": 0.8,
          "pct_draws": 0.4,
          "pct_fts": 0.0,
          "pct_losses": 0.0,
          "pct_o_05": 1.0,
          "pct_o_15": 1.0,
          "pct_o_25": 0.6,
          "pct_o_35": 0.6,
          "pct_u_05": 0.0,
          "pct_u_15": 0.0,
          "pct_u_25": 0.4,
          "pct_u_35": 0.4,
          "pct_wins": 0.6,
          "team_id": 57,
          "window_end_date": "2025-12-03",
          "window_start_date": "2025-11-08"
        }
      },
      "odds": {
        "odds_1x2": {
          "home": 4.19,
          "draw": 3.45,
          "away": 1.9
        },
        "asian_handicap": {
          "-0.25": {
            "at": 1.29,
            "ht": 3.48
          },
          "-0.50": {
            "at": 1.24,
            "ht": 3.95
          },
          "-0.75": {
            "at": 1.14,
            "ht": 5.02
          },
          "-1.00": {
            "at": 1.05,
            "ht": 7.8
          },
          "-1.25": {
            "at": 1.04,
            "ht": 8.15
          },
          "-1.50": {
            "at": 1.04,
            "ht": 8.85
          },
          "-1.75": {
            "at": 1.03,
            "ht": 10.5
          },
          "0": {
            "at": 1.38,
            "ht": 2.95
          },
          "0.25": {
            "at": 1.64,
            "ht": 2.24
          },
          "0.50": {
            "at": 1.9,
            "ht": 1.91
          },
          "0.75": {
            "at": 2.17,
            "ht": 1.68
          },
          "1.00": {
            "at": 2.72,
            "ht": 1.46
          },
          "1.25": {
            "at": 3.09,
            "ht": 1.35
          },
          "1.50": {
            "at": 3.51,
            "ht": 1.29
          },
          "1.75": {
            "at": 4.26,
            "ht": 1.2
          },
          "2.00": {
            "at": 6.45,
            "ht": 1.1
          },
          "2.25": {
            "at": 6.57,
            "ht": 1.09
          },
          "2.50": {
            "at": 7.1,
            "ht": 1.07
          },
          "2.75": {
            "at": 9.5,
            "ht": 1.04
          },
          "3.00": {
            "at": 16.5,
            "ht": 1.01
          }
        },
        "btts": 1.88,
        "over_under": {
          "0.50": {
            "o": 1.05,
            "u": 8.68
          },
          "0.75": {
            "o": 1.05,
            "u": 7.63
          },
          "1.00": {
            "o": 1.08,
            "u": 6.95
          },
          "1.25": {
            "o": 1.2,
            "u": 4.3
          },
          "1.50": {
            "o": 1.33,
            "u": 3.2
          },
          "1.75": {
            "o": 1.4,
            "u": 2.84
          },
          "2.00": {
            "o": 1.54,
            "u": 2.45
          },
          "2.25": {
            "o": 1.81,
            "u": 2.01
          },
          "2.50": {
            "o": 2.05,
            "u": 1.76
          },
          "2.75": {
            "o": 2.34,
            "u": 1.58
          },
          "3.00": {
            "o": 2.87,
            "u": 1.4
          },
          "3.25": {
            "o": 3.2,
            "u": 1.33
          },
          "3.50": {
            "o": 3.59,
            "u": 1.27
          },
          "3.75": {
            "o": 4.27,
            "u": 1.18
          },
          "4.00": {
            "o": 5.84,
            "u": 1.1
          },
          "4.25": {
            "o": 6.18,
            "u": 1.09
          },
          "4.50": {
            "o": 7.09,
            "u": 1.08
          },
          "4.75": {
            "o": 8.0,
            "u": 1.06
          },
          "5.00": {
            "o": 13.0,
            "u": 1.03
          },
          "5.25": {
            "o": 12.0,
            "u": 1.02
          },
          "5.50": {
            "o": 14.63,
            "u": 1.02
          },
          "6.50": {
            "o": 28.25,
            "u": 1.01
          },
          "7.50": {
            "o": 67.0,
            "u": 1.0
          },
          "8.50": {
            "o": 67.0,
            "u": 1.0
          }
        }
      },
      "score": {
        "penalties": {
          "homeTeam": null,
          "awayTeam": null
        },
        "winner": "HOME_TEAM",
        "duration": "REGULAR",
        "fullTime": {
          "homeTeam": 2,
          "awayTeam": 1
        },
        "halfTime": {
          "homeTeam": 1,
          "awayTeam": 0
        },
        "extraTime": {
          "homeTeam": null,
          "awayTeam": null
        }
      },
      "utcDate": "2025-12-06T12:30:00Z",
      "lastUpdated": "2026-03-01T07:45:01"
    },
    { ... }
  ]
}

We can see in the metadata, that because we omitted the competition filter, we requested trend data for all competitions within our subscription, in this case the Free Tier. We can also see that dateFrom and dateTo were set according to our passed date query parameter and the default values for window and consider_side were applied. Last but not least, we can see there is data returned for 41 matches in total which consist of almost all competitions apart from World Cup and Champions League.

Available filters for the trend resource

You can control which matches to display trends for as well as what matches should be taken into account for the trend data.

Filter name Possible values Sample Description

date

A date in format yyyy-MM-dd

/?date=2025-12-06

Filter returned matches for the given date, defaults to today. If present, has precedence over dateFrom/dateTo

dateFrom

A date in format yyyy-MM-dd

/?dateFrom=2025-12-01

Must be used in conjunction with dateTo

dateTo

A date in format yyyy-MM-dd

/?dateTo=2025-12-31

Filters all returned matches from dateFrom until dateTo, which is exclusive — e.g. to fetch all of a weekend, use dateFrom=2026-03-02&dateTo=2026-03-09.

competitions

A list of competition codes, comma separated

/?competitions=PL,DED

Filters returned matches to only include matches for the given competitions

window

Integer [1-15]

/?window=8

Calculates trends for the last 8 matches

consider_side

Feature flag, just include it as query param or not

/?consider_side

When enabled, only home matches are considered for the home team’s trend, and only away matches for the away team’s trend

Available data points

Data Point Type Description

avg_goals

float

Average total goals per match (scored + conceded)

avg_goals_conceded

float

Average goals conceded per match

avg_goals_scored

float

Average goals scored per match

avg_points

float

Average points earned per match (3=win, 1=draw, 0=loss)

competitions

string

Comma-separated codes of competitions represented in the window

form

string

Recent match results as a string, newest result first (W=Win, D=Draw, L=Loss), e.g. 'WDWWD' means the most recent match was a Win, then a Draw, etc.

match_ids

int[]

IDs of the matches included in the trend window

pct_1st_hf_o_05

float

Percentage of matches where first half total goals were over 0.5 (i.e. at least 1 goal)

pct_1st_hf_o_15

float

Percentage of matches where first half total goals were over 1.5 (i.e. at least 2 goals)

pct_1st_hf_o_25

float

Percentage of matches where first half total goals were over 2.5 (i.e. at least 3 goals)

pct_1st_hf_u_05

float

Percentage of matches where first half total goals were under 0.5 (i.e. exactly 0 goals)

pct_1st_hf_u_15

float

Percentage of matches where first half total goals were under 1.5 (i.e. 0 or 1 goal)

pct_1st_hf_u_25

float

Percentage of matches where first half total goals were under 2.5 (i.e. 0, 1, or 2 goals)

pct_2nd_hf_o_05

float

Percentage of matches where second half total goals were over 0.5 (i.e. at least 1 goal)

pct_2nd_hf_o_15

float

Percentage of matches where second half total goals were over 1.5 (i.e. at least 2 goals)

pct_2nd_hf_o_25

float

Percentage of matches where second half total goals were over 2.5 (i.e. at least 3 goals)

pct_2nd_hf_u_05

float

Percentage of matches where second half total goals were under 0.5 (i.e. exactly 0 goals)

pct_2nd_hf_u_15

float

Percentage of matches where second half total goals were under 1.5 (i.e. 0 or 1 goal)

pct_2nd_hf_u_25

float

Percentage of matches where second half total goals were under 2.5 (i.e. 0, 1, or 2 goals)

pct_bts

float

Percentage of matches where both teams scored (Both Teams to Score)

pct_draws

float

Percentage of matches that ended in a draw

pct_fts

float

Percentage of matches where the team failed to score (Failed To Score)

pct_losses

float

Percentage of matches that were losses

pct_o_05

float

Percentage of matches with over 0.5 total goals (i.e. at least 1 goal)

pct_o_15

float

Percentage of matches with over 1.5 total goals (i.e. at least 2 goals)

pct_o_25

float

Percentage of matches with over 2.5 total goals (i.e. at least 3 goals)

pct_o_35

float

Percentage of matches with over 3.5 total goals (i.e. at least 4 goals)

pct_u_05

float

Percentage of matches with under 0.5 total goals (i.e. exactly 0 goals)

pct_u_15

float

Percentage of matches with under 1.5 total goals (i.e. 0 or 1 goal)

pct_u_25

float

Percentage of matches with under 2.5 total goals (i.e. 0, 1, or 2 goals)

pct_u_35

float

Percentage of matches with under 3.5 total goals (i.e. 0, 1, 2, or 3 goals)

pct_wins

float

Percentage of matches that were wins

team_id

int

Internal identifier of the team

window_end_date

date

Date of the most recent match included in the trend window

window_start_date

date

Date of the oldest match included in the trend window