logo Netzschleuder network catalog, repository, and centrifuge

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 in teammates), 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 (transfers and games): the id of the club (or national team) in Transfermarkt.
  • (Node) name (transfers and games): its name.
  • (Node) domestic_competition (transfers and games): the id of its domestic league, for the clubs of the covered leagues (e.g. GB1 for the Premier League, L1 for 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, CL for the UEFA Champions League, FIWC for 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 games are 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_club and player_game): whether the node is a player (the other nodes are clubs or games).
  • (Node) player_id (player_club and player_game): the id of the player (-1 for the other nodes; the profiles of the players are in teammates).
  • (Node) name (player_club and player_game): the name of the player, or of the club (in player_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 in games (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_lineup or substitutes (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*
* These are automatically generated force-directed visualizations, and can be quite meaningless for networks both big and small. They should not be taken seriously as sources of scientific insight. See here for a discussion.