Baselight

Ultimate Soccer Dataset

Players, teams, matches, stats, and so much more from the world of football

@blt.ultimate_soccer_dataset

Loading...
Loading...

About this Dataset

Ultimate Soccer Dataset

The Ultimate Soccer Dataset is a comprehensive, structured collection of global football data compiled by the Baselight team and partners. It includes standardized information on competitions, seasons, matches, teams, players, goals, assists, lineups, transfers, odds, and more — spanning national leagues, international tournaments, and club competitions worldwide.

This dataset is designed to support deep statistical analysis, machine learning models, scouting, and historical research. All data has been normalized across competitions and time to ensure consistency and ease of querying.

We welcome contributions and suggestions — help us expand and refine the dataset further!

Tables

Assist Events

@blt.ultimate_soccer_dataset.assist_events
  • 9.09 MB
  • 143209 rows
  • 6 columns
Loading...

CREATE TABLE assist_events (
  "match_event_id" VARCHAR,
  "match_id" VARCHAR,
  "player_id" VARCHAR,
  "team_id" VARCHAR,
  "minute" BIGINT,
  "stoppage_time" DOUBLE
);

Competitions

@blt.ultimate_soccer_dataset.competitions
  • 73.77 KB
  • 1188 rows
  • 7 columns
Loading...

CREATE TABLE competitions (
  "competition_id" VARCHAR,
  "slug" VARCHAR,
  "name" VARCHAR,
  "type" VARCHAR,
  "founded_year" VARCHAR,
  "abolished_year" VARCHAR,
  "country" VARCHAR
);

Goal Events

@blt.ultimate_soccer_dataset.goal_events
  • 15.58 MB
  • 259776 rows
  • 8 columns
Loading...

CREATE TABLE goal_events (
  "match_event_id" VARCHAR,
  "match_id" VARCHAR,
  "player_id" VARCHAR,
  "team_id" VARCHAR,
  "minute" BIGINT,
  "stoppage_time" DOUBLE,
  "goal_type" VARCHAR,
  "notes" VARCHAR
);

Odds

@blt.ultimate_soccer_dataset.match_betting_odds
  • 30.51 MB
  • 17967268 rows
  • 7 columns
Loading...

CREATE TABLE match_betting_odds (
  "match_id" VARCHAR,
  "bookmaker" VARCHAR,
  "market" VARCHAR,
  "outcome" VARCHAR,
  "odds" DOUBLE,
  "odds_type" VARCHAR,
  "collected_at" TIMESTAMP
);

Matches

@blt.ultimate_soccer_dataset.matches
  • 6.09 MB
  • 108167 rows
  • 21 columns
Loading...

CREATE TABLE matches (
  "match_id" VARCHAR,
  "season_id" VARCHAR,
  "date" TIMESTAMP,
  "home_team_id" VARCHAR,
  "away_team_id" VARCHAR,
  "venue_id" VARCHAR,
  "referee_id" VARCHAR,
  "referee_name" VARCHAR,
  "status" VARCHAR,
  "home_score" DOUBLE,
  "away_score" DOUBLE,
  "home_extratime_score" DOUBLE,
  "away_extratime_score" DOUBLE,
  "home_penalty_score" DOUBLE,
  "away_penalty_score" DOUBLE,
  "home_halftime_score" DOUBLE,
  "away_halftime_score" DOUBLE,
  "home_manager_name" VARCHAR,
  "away_manager_name" VARCHAR,
  "home_formation" VARCHAR,
  "away_formation" VARCHAR
);

Match Events

@blt.ultimate_soccer_dataset.match_events
  • 57.79 MB
  • 1194714 rows
  • 9 columns
Loading...

CREATE TABLE match_events (
  "match_event_id" VARCHAR,
  "match_id" VARCHAR,
  "minute" BIGINT,
  "stoppage_time" DOUBLE,
  "event_type" VARCHAR,
  "player_id" VARCHAR,
  "team_id" VARCHAR,
  "description" VARCHAR,
  "notes" VARCHAR
);

Match Lineups

@blt.ultimate_soccer_dataset.match_lineups
  • 30.2 MB
  • 3561236 rows
  • 6 columns
Loading...

CREATE TABLE match_lineups (
  "match_id" VARCHAR,
  "team_id" VARCHAR,
  "player_id" VARCHAR,
  "is_starting" BOOLEAN,
  "player_number" DOUBLE,
  "position" VARCHAR
);

Match Player Stats

@blt.ultimate_soccer_dataset.match_player_stats
  • 29.18 MB
  • 1910107 rows
  • 35 columns
Loading...

CREATE TABLE match_player_stats (
  "match_id" VARCHAR,
  "team_id" VARCHAR,
  "player_id" VARCHAR,
  "player_number" DOUBLE,
  "is_captain" BOOLEAN,
  "is_substitute" BOOLEAN,
  "minutes_played" DOUBLE,
  "position" VARCHAR,
  "rating" VARCHAR,
  "shots_total" DOUBLE,
  "shots_on_target" DOUBLE,
  "goals_scored" DOUBLE,
  "goals_assists" DOUBLE,
  "goals_conceded" DOUBLE,
  "saves" DOUBLE,
  "passes_total" DOUBLE,
  "passes_key" DOUBLE,
  "tackles_total" DOUBLE,
  "tackles_blocks" DOUBLE,
  "tackles_interceptions" DOUBLE,
  "duels_total" DOUBLE,
  "duels_won" DOUBLE,
  "dribbles_attempts" DOUBLE,
  "dribbles_success" DOUBLE,
  "dribbled_past" DOUBLE,
  "fouls_drawn" DOUBLE,
  "fouls_committed" DOUBLE,
  "yellow_cards" BIGINT,
  "red_cards" BIGINT,
  "penalties_won" DOUBLE,
  "penalties_committed" DOUBLE,
  "penalties_scored" BIGINT,
  "penalties_missed" BIGINT,
  "penalties_saved" DOUBLE,
  "offsides" DOUBLE
);

Match Stats

@blt.ultimate_soccer_dataset.match_stats
  • 5.25 MB
  • 1915256 rows
  • 4 columns
Loading...

CREATE TABLE match_stats (
  "match_id" VARCHAR,
  "team_id" VARCHAR,
  "type" VARCHAR,
  "value" DOUBLE
);

Players

@blt.ultimate_soccer_dataset.players
  • 9.19 MB
  • 129168 rows
  • 10 columns
Loading...

CREATE TABLE players (
  "player_id" VARCHAR,
  "name" VARCHAR,
  "full_name" VARCHAR,
  "date_of_birth" VARCHAR,
  "country_of_birth" VARCHAR,
  "city_of_birth" VARCHAR,
  "country_of_citizenship" VARCHAR,
  "positions" VARCHAR,
  "height_cm" VARCHAR,
  "weight_kg" VARCHAR
);

Player Team History

@blt.ultimate_soccer_dataset.player_team_history
  • 5.76 MB
  • 209938 rows
  • 5 columns
Loading...

CREATE TABLE player_team_history (
  "player_id" VARCHAR,
  "team_id" VARCHAR,
  "competition_id" VARCHAR,
  "season_id" VARCHAR,
  "position" VARCHAR
);

Referees

@blt.ultimate_soccer_dataset.referees
  • 192.31 KB
  • 3835 rows
  • 4 columns
Loading...

CREATE TABLE referees (
  "referee_id" VARCHAR,
  "name" VARCHAR,
  "nationality" VARCHAR,
  "date_of_birth" VARCHAR
);

Seasons

@blt.ultimate_soccer_dataset.seasons
  • 384.6 KB
  • 7387 rows
  • 5 columns
Loading...

CREATE TABLE seasons (
  "season_id" VARCHAR,
  "competition_id" VARCHAR,
  "start_date" TIMESTAMP,
  "end_date" TIMESTAMP,
  "season_label" VARCHAR
);

Standings

@blt.ultimate_soccer_dataset.standings
  • 240.84 KB
  • 17021 rows
  • 25 columns
Loading...

CREATE TABLE standings (
  "snapshot_date" TIMESTAMP,
  "season_id" VARCHAR,
  "team_id" VARCHAR,
  "rank" BIGINT,
  "points" BIGINT,
  "played" BIGINT,
  "wins" DOUBLE,
  "draws" DOUBLE,
  "losses" DOUBLE,
  "goals_for" BIGINT,
  "goals_against" BIGINT,
  "goal_difference" BIGINT,
  "home_wins" DOUBLE,
  "home_draws" DOUBLE,
  "home_losses" DOUBLE,
  "away_wins" DOUBLE,
  "away_draws" DOUBLE,
  "away_losses" DOUBLE,
  "home_goals_for" DOUBLE,
  "home_goals_against" DOUBLE,
  "home_goal_difference" BIGINT,
  "away_goals_for" DOUBLE,
  "away_goals_against" DOUBLE,
  "away_goal_difference" BIGINT,
  "notes" VARCHAR
);

Teams

@blt.ultimate_soccer_dataset.teams
  • 461.62 KB
  • 5865 rows
  • 6 columns
Loading...

CREATE TABLE teams (
  "team_id" VARCHAR,
  "name" VARCHAR,
  "team_type" VARCHAR,
  "country" VARCHAR,
  "stadium_id" VARCHAR,
  "founded_year" DOUBLE
);

Transfers

@blt.ultimate_soccer_dataset.transfers
  • 26.78 MB
  • 471157 rows
  • 10 columns
Loading...

CREATE TABLE transfers (
  "transfer_id" VARCHAR,
  "player_id" VARCHAR,
  "from_team_id" VARCHAR,
  "to_team_id" VARCHAR,
  "transfer_date" TIMESTAMP,
  "transfer_type" VARCHAR,
  "transfer_fee" DOUBLE,
  "transfer_fee_currency" VARCHAR,
  "transfer_fee_eur" DOUBLE,
  "last_player_update" TIMESTAMP
);

Venues

@blt.ultimate_soccer_dataset.venues
  • 1.03 MB
  • 12559 rows
  • 7 columns
Loading...

CREATE TABLE venues (
  "venue_id" VARCHAR,
  "name" VARCHAR,
  "address" VARCHAR,
  "city" VARCHAR,
  "country" VARCHAR,
  "capacity" BIGINT,
  "surface" VARCHAR
);

Share link

Anyone who has the link will be able to view this.