transfermarkt — Transfermarkt football transfers, matches, teammates and appearances (2026)
- Description
Networks of football (soccer) clubs and players, from the "transfermarkt-datasets" of David (dcaribou), a dataset scraped from the football website Transfermarkt and cleaned into tables of competitions, clubs, players, games, lineups, appearances and transfers. It covers the games of 70 competitions (the first divisions of the main European leagues, their national cups, the European club competitions, and the main national-team tournaments, e.g. the World Cup), mostly from the 2012/13 season on (a few national-team tournaments since 2006), and the transfers of the players of the clubs of these leagues (since 1993). The dataset was updated weekly until its updates were paused in July 2026; the networks are of the last version (version 679 of the Kaggle copy, September 5, 2026), which is current to July 6, 2026.
There are five networks:
transfers: a directed multigraph of clubs, with an edge from the club a player left to the club he joined, for each of the 175,165 transfers in the data (including loans and returns from loans, and moves to and from youth or reserve teams, which are clubs of their own, and to "Without Club" or "Retired"). Clubs outside the covered leagues are included as far as they appear in the transfers. 8 transfers are from a club to itself (self-loops). Some transfers are dated in the future (519 after July 6, 2026, up to 2030), as given in the data. A club can appear under several names (e.g. after renaming); the latest one is used.games: a directed multigraph of clubs and national teams, with an edge from the home team to the away team for each of the 88,958 games.teammates: an undirected network of players, with an edge between two players listed for the same club in the same game (in the starting lineup or among the substitutes, from the lineups table, or as having played in the game, from the appearances table), weighted by the number of such games. The lineups are available for 81,197 games, and the appearances for 73,426 games (only for the players of clubs in the covered domestic leagues). The players without a profile in the dataset (most of those of clubs outside the covered leagues) are included with their names only; the players with a profile but without any game in the lineups or appearances are included as isolated nodes.player_club: a bipartite network of players and clubs (or national teams), with an edge between a player and each club for which he was listed in a game (in the lineups or the appearances, as inteammates), weighted by the number of such games (115,515 players, 3,156 clubs and 222,975 edges). Only the players listed in games are included.player_game: a bipartite network of players and games, with an edge for each player listed in a game (in the starting lineup or among the substitutes, or as having played in it), with the details of the lineup and of the appearance (3,316,321 edges, of which 1,894,350 with an appearance).
The game events (goals, cards, substitutions) and the histories of market values of the players are not included.
The networks have the following properties:
- (Node)
club_id(transfersandgames): the id of the club (or national team) in Transfermarkt. - (Node)
name(transfersandgames): its name. - (Node)
domestic_competition(transfersandgames): the id of its domestic league, for the clubs of the covered leagues (e.g.GB1for the Premier League,L1for the Bundesliga), empty otherwise. - (Node)
national_team(games): whether the team is a national team. - (Edge)
player_id,player_name(transfers): the id and name of the player. - (Edge)
time(transfers): the date of the transfer (Unix time). - (Edge)
season(transfers): the season of the transfer (e.g.24/25). - (Edge)
fee(transfers): the transfer fee (euros; NaN if not given; 0 for free transfers). - (Edge)
market_value(transfers): the market value of the player at the time (euros; NaN if not given). - (Edge)
game_id(games): the id of the game in Transfermarkt. - (Edge)
time(games): the date of the game (Unix time). - (Edge)
competition_id(games): the competition (e.g.GB1,CLfor the UEFA Champions League,FIWCfor the World Cup). - (Edge)
competition_type(games): its type (domestic_league,domestic_cup,international_cup,national_team_competition,other; empty for 1,214 games). - (Edge)
season(games): the year in which the season started. - (Edge)
round(games): the round or matchday. - (Edge)
home_goals,away_goals(games): the goals scored by the home and away teams. - (Edge)
attendance(games): the number of spectators (-1 if not given). - (Edge)
stadium,referee(games): the stadium and the referee. - (Edge)
home_manager,away_manager(games): the managers of the two teams. - (Edge)
home_formation,away_formation(games): their formations (e.g.4-2-3-1). - (Edge) Missing values of the edges of
gamesare empty strings or -1. - (Node)
player_id(teammates): the id of the player in Transfermarkt. - (Node)
name(teammates): the name of the player. - (Node)
has_profile(teammates): whether the dataset has a profile of the player, from which the following properties come (empty strings, -1 or NaN otherwise). - (Node)
date_of_birth(teammates): the date of birth (YYYY-MM-DD). - (Node)
country_of_birth,city_of_birth,country_of_citizenship(teammates): the country and city of birth, and the country of citizenship. - (Node)
position,sub_position(teammates): the position (e.g.Attack) and sub-position (e.g.Centre-Forward). - (Node)
foot(teammates): the preferred foot. - (Node)
height(teammates): the height (cm). - (Node)
current_club_id,current_club_name(teammates): the club of the player in his last season in the data. - (Node)
market_value,highest_market_value(teammates): his latest and highest market values (euros). - (Edge)
games(teammates): the number of games in which both players were listed for the same club. - (Edge)
games_played(teammates): the number of those in which both played (according to the appearances table). - (Edge)
first_time,last_time(teammates): the dates of the first and the last of these games (Unix time). - (Node)
is_player(player_clubandplayer_game): whether the node is a player (the other nodes are clubs or games). - (Node)
player_id(player_clubandplayer_game): the id of the player (-1 for the other nodes; the profiles of the players are inteammates). - (Node)
name(player_clubandplayer_game): the name of the player, or of the club (inplayer_club; empty for a few clubs without a name in the data; empty for the games). - (Node)
club_id(player_club): the id of the club (-1 for players). - (Node)
national_team(player_club): whether it is a national team. - (Node)
game_id(player_game): the id of the game (-1 for players). - (Node)
time(player_game): its date (Unix time). - (Node)
competition_id,season(player_game): as ingames(empty for players). - (Edge)
games(player_club): the number of games in which the player was listed for the club. - (Edge)
games_played(player_club): the number of those in which he played. - (Edge)
first_time,last_time(player_club): the dates of the first and the last of these games (Unix time). - (Edge)
club_id(player_game): the club for which the player was listed. - (Edge)
time(player_game): the date of the game (Unix time). - (Edge)
lineup(player_game): from the lineups,starting_lineuporsubstitutes(empty if the player is not in the lineup of the game). - (Edge)
position(player_game): from the lineups, the position (e.g.Centre-Back; empty if the player is not in the lineup of the game). - (Edge)
number(player_game): from the lineups, the shirt number (empty if the player is not in the lineup of the game). - (Edge)
captain(player_game): from the lineups, whether he was the captain. - (Edge)
played(player_game): whether the player has an appearance in the game. - (Edge)
minutes_played,goals,assists,yellow_cards,red_cards(player_game): from the appearances (-1 if not available).
- Tags
- Social Sports Economic Multigraph Bipartite Weighted Timestamps Metadata
- Added
- 2026-10-31
- Citation
-
- David (dcaribou), "Football Data from Transfermarkt." Kaggle, dataset, version 679 (2026) www.kaggle.com
- Upstream URL OK
-
https://github.com/dcaribou/transfermarkt-datasets
https://www.kaggle.com/datasets/davidcariboo/player-scores - Upstream license
- Creative Commons CC0 1.0 Universal, https://creativecommons.org/publicdomain/zero/1.0/
- Networks
-
Tip: click on a column header to sort the list, or hover over it for a description.
Column legend
- $\left<k\right>$
- Mean degree
- $\sigma_k$
- Standard deviation of the degrees
- $\lambda_h$
- Largest eigenvalue of the Hashimoto (non-backtracking) matrix
- $\tau$
- Random walk mixing time
- $r$
- Degree assortativity
- $c$
- Global clustering coefficient
- $\oslash$
- (Pseudo-) diameter
- $S$
- Relative size of the largest component
- NPs
- Node properties
- EPs
- Edge properties
Name Nodes Edges $\left<k\right>$ $\sigma_k$ $\lambda_h$ $\tau$ $r$ $c$ $\oslash$ $S$ Kind Mode NPs EPs gt GraphML GML csv transfers 17,553 175,165 9.98 68.49 87.14 31.46 -0.01 0.16 16 1.00 Directed Unipartite club_id name domestic_competition player_id player_name time season fee market_value 2.1 MiB 3.1 MiB 2.9 MiB 3.6 MiB games 3,274 88,958 27.17 126.26 50.76 482.05 0.46 0.74 9 0.97 Directed Unipartite club_id name domestic_competition national_team game_id time competition_id competition_type season round stadium referee home_goals away_goals attendance home_manager away_manager home_formation away_formation 1.5 MiB 2.6 MiB 2.5 MiB 3.2 MiB teammates 120,092 3,332,548 55.50 55.52 154.56 562.53 0.39 0.25 13 0.95 Undirected Unipartite player_id name has_profile date_of_birth country_of_birth city_of_birth country_of_citizenship position sub_position foot current_club_name current_club_id height market_value highest_market_value games games_played first_time last_time 17.1 MiB 32.2 MiB 31.0 MiB 31.1 MiB player_club 118,671 222,975 3.76 15.12 21.61 1236.36 -0.60 0.00 24 0.99 Undirected Bipartite is_player player_id club_id name national_team games games_played first_time last_time 4.0 MiB 5.8 MiB 5.6 MiB 5.7 MiB player_game 202,230 3,316,321 32.80 49.15 100.40 33.90 -0.30 0.00 16 1.00 Undirected Bipartite is_player player_id game_id name time competition_id season club_id time lineup position number captain played minutes_played goals assists yellow_cards red_cards 13.5 MiB 41.3 MiB 37.6 MiB 38.3 MiB - Ridiculograms*