Football head-to-head API

Previous meetings between any two clubs with scores and a ready-made summary — wins, draws, goals per match, both-teams-scored and over 2.5 counts.

Head-to-head stats are a staple of every match preview, but collecting them means matching team names across seasons and competitions — and recounting the summary every time.

Ask for two team IDs and get the meetings plus a summary you can print as is. History covers domestic leagues since 2019 (Argentina, Brazil and MLS since 2012) and UEFA club competitions.

Request parameters

ParameterDescription
lastNumber of meetings, 1–20 (default 6)
venueall, or only matches at the first team’s home
competitionFilter by league or cup
GET/v1/h2h/liverpool/manchester-city?last=6200 OK
{
  "teams": ["Liverpool", "Manchester City"],
  "meetings": 6,
  "summary": {
    "liverpool_wins": 2, "draws": 2, "manchester_city_wins": 2,
    "goals_per_match": 2.33, "btts": 3, "over_2_5": 2
  },
  "matches": [
    { "date": "2026-02-08", "competition": "Premier League",
      "home": "Liverpool", "away": "Manchester City", "score": "1-2" }
    // …
  ],
  "source": "football-data.co.uk"
}
Response fields

What you get back

FieldTypeDescription
meetingsintNumber of matches in the response
summaryobjectWins for each team, draws, goals per match, BTTS and over 2.5 counts
matches[]arrayDate, competition, home, away and score of each meeting
sourcestringData attribution for the underlying results
Use cases

Built for people who publish football data

Previews

Add a “last 6 meetings” block to every match page automatically.

Content at scale

Generate H2H facts for dozens of fixtures a day without manual research.

Models

Use historical goal and BTTS rates between specific opponents as features.

FAQ

Head-to-head API: questions

Does it include cup matches?

Yes — meetings in UEFA club competitions are included alongside domestic league games.

How far back does history go?

Since 2019 for European leagues and since 2012 for Argentina, Brazil and MLS.

Do I need team IDs?

Use the same normalised team IDs as in the form and standings endpoints, e.g. manchester-city.

Related

More from the API

Early access

Get your API key first

Free plan for small projects. Early-access users get 50% off for the first year.

Request early access