A free open public domain football (soccer) database & schema
for use in any (programming) language
(e.g. uses plain text datasets for match schedules, results and more).
More football.db
Project Site »
Free open public domain football datasets include:
- Belgium - First Division A
- Netherlands - Eredivisie
- Switzerland (Schweiz • Suisse • Svizzera • Svizra) incl. Liechtenstein - Super League, Challenge League
- Hungary - NB I
- Czech Republic - First League
- Finland - Veikkausliiga
- France - Ligue 1, Ligue 2
- Iceland - Urvalsdeild
- Ireland - Premier Division
- Scotland - Premiership
- Portugal - Primeira Liga
- Greece - Super League
- Turkey - Süper Lig, 1. Lig
- and others
todo: add europe/croatia/ europe/denmark/ europe/luxembourg/ europe/norway/ europe/poland/ europe/slovakia/ europe/sweden/ europe/ukraine/
Download and unpack the zip archive with the datasets or if you have git installed use the git clone
command to
get a local copy.
Try in your working folder (that is, /europe
):
$ sportdb build
$ sportdb --verbose build # or for more (verbose) details incl. debug info
This will
- setup a new single-file SQLite database e.g.
./sport.db
- read in all datasets in plain text (
.txt
)
That's it.
Run the football-to-sqlite
tool against match files in the Football.TXT format like so:
$ football-to-sqlite belgium.db belgium/2020-21/1-firstdivisiona-i.txt
or pass in more than one match file:
$ football-to-sqlite switzerland.db switzerland/2020-21/1-superleague.txt \
switzerland/2020-21/2-challengeleague.txt \
switzerland/2019-20/1-superleague.txt \
switzerland/2019-20/2-challengeleague.txt
Note: If the single-file SQLite database (and its tables, views & indices) do not (yet) exist, they get auto-created on the first run.
The football.db schema, data and scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.
Yes, you can. More than welcome. See Help & Support »