The last N matches of any club in one request — results, scores, form string, home and away splits, goal averages and streaks. Ready for match previews, Telegram posts and betting models.
Form is the first thing readers look at before a match, and the most tedious data to keep up to date. Results arrive from different sources, team names never match, and home/away splits have to be recalculated after every round.
The oddmind team form endpoint does that work for you. Team names are normalised across leagues, so arsenal is always the same ID, and every response has the same shape — whether you ask for the Premier League, Brasileirão or MLS.
| Parameter | Description |
|---|---|
last | Number of recent matches, 1–20 (default 5) |
venue | all, home or away |
season | Season, e.g. 2026/27 (default — current) |
{
"team": "Arsenal",
"team_id": "arsenal",
"league": "Premier League",
"position": 2, "points": 18, "played": 7,
"form": "WWLWW",
"last_matches": [
{ "date": "2026-10-18", "opponent": "Nottingham Forest",
"venue": "away", "score": "1-0", "result": "W" },
{ "date": "2026-10-10", "opponent": "Leeds United",
"venue": "home", "score": "2-1", "result": "W" }
// …
],
"home_season": { "played": 3, "won": 3, "goals_for_avg": 2.33, "over_2_5": 1.0 },
"streaks": { "unbeaten": 2, "wins": 2 },
"source": "football-data.co.uk"
}
| Field | Type | Description |
|---|---|---|
form | string | Results from oldest to newest: W, D, L |
last_matches[] | array | Date, opponent, venue, score and result of each match |
position / points | int | Current league position and points |
home_season / away_season | object | Played, won, goals for/against averages, over 2.5 and BTTS rates |
streaks | object | Unbeaten, winless, scored-in and clean-sheet streaks |
source | string | Data attribution for the underlying results |
Show “WWLWW” chips and home/away averages next to every fixture without maintaining your own database.
Turn the form string and streaks into a one-line summary for each post.
Use goal averages and over/BTTS rates as features, consistently calculated across leagues.
14 domestic leagues — including the Premier League, LaLiga, Serie A, Bundesliga, Ligue 1, Brasileirão and MLS — plus head-to-head history for UEFA club competitions.
Results are imported daily, so form updates after every round.
Yes — use the venue parameter to get home-only or away-only form.
Free plan for small projects. Early-access users get 50% off for the first year.