Free Sports Datasets : Open Data for Models & Backtesting

The open datasets we actually point people to in our Discord: play-by-play, historical results, and the rare free source of closing odds.

Last updated:

Datasets vs APIs: You Probably Need Both

Free sports datasets are static downloads: seasons of play-by-play, decades of results, sometimes historical odds, packaged as CSVs or database files. They are how you train a model, backtest a strategy, or learn a sport's data structure without paying anyone.

What they are not is current. Every dataset ends at its last update, and none of them will tell you tonight's lineup or the odds that just moved. That half of the problem belongs to sports APIs, which is what the rest of this site compares. The typical betting project uses both: open data to build and validate the model, then a live odds API to run it against the market.

This page is the dataset half: the free sources we keep recommending in our Discord because they are maintained, documented, and genuinely free to download. One licensing note before you build a business on any of them: free to download does not always mean free for commercial use or redistribution. Read each dataset's terms; most are short and clear.

The Best Free Sports Datasets by Sport

nflverse — NFL Play-by-Play

What you get: Community-maintained NFL play-by-play going back to 1999, plus rosters, schedules, and advanced metrics like EPA, with first-class R and Python packages.

Best for: NFL win-probability and player models. This is the default starting point for football analytics, and the ecosystem around it is the most active of any sport.

football-data.co.uk — Soccer Results With Closing Odds

What you get: Decades of European soccer results across the major leagues, in plain CSVs, with closing odds from multiple bookmakers attached to each match.

Best for: Backtesting betting strategies. Free closing odds are genuinely rare, which makes this the single most useful dataset on this page for betting projects. For odds history beyond soccer, see our historical odds guide.

StatsBomb Open Data — Soccer Event Data

What you get: Professional-grade, event-level soccer data (every pass, shot, and pressure) for selected competitions, including World Cups, released free with an attribution requirement.

Best for: Learning modern soccer analytics on the same data structure the pros use. Coverage is selective rather than comprehensive; treat it as a masterclass, not a complete history.

Retrosheet — MLB Play-by-Play History

What you get: Volunteer-digitized MLB play-by-play and box scores reaching back over a century, the deepest free historical record in any sport.

Best for: Serious baseball research and long-horizon modeling. Pair it with the Lahman database when you want season-level stats in an easier shape.

Jeff Sackmann — Tennis Match Data

What you get: ATP and WTA match results and rankings back to 1968, plus point-by-point data for Grand Slams, maintained for years in public repositories.

Best for: Tennis Elo models and head-to-head analysis. When your model needs live points and market prices, that is API territory; the directory lists a tennis-focused feed.

MoneyPuck — NHL Shot Data

What you get: Shot-level NHL data with expected-goals values, downloadable per season, from one of the best-known public hockey models.

Best for: xG-based hockey modeling without building your own event pipeline first.

FiveThirtyEight Data Archive

What you get: The archived datasets behind FiveThirtyEight's sports models: soccer SPI ratings, NFL and NBA Elo histories, and forecast data. No longer updated, still downloadable.

Best for: Ready-made team-strength ratings as model features, and studying how a published forecasting operation structured its data.

Kaggle — Community Sports Datasets

What you get: Thousands of community-uploaded sports datasets, searchable by sport, with notebooks showing how others used them.

Best for: Finding a starting point for sports the curated sources above skip. Quality varies widely; check the upload date and provenance before trusting anything for real money.

From Backtest to Live: Adding Odds to Your Data

A betting model is only as good as its comparison to the market, and that comparison needs odds. Free datasets mostly give you results without prices; football-data.co.uk is the notable exception. If your backtest needs closing lines for US sports, opening-to-closing movement, or player prop history, that data lives with commercial providers. Our historical odds guide explains what exists and who carries it.

And once the backtest works, the pipeline flips: you need today's games and live prices, which no static dataset provides. That is when you pick an API. The directory compares every provider we track on free tiers, WebSocket support, sportsbook coverage, and MCP servers, and several offer free tiers generous enough to develop against before you spend anything.

Frequently Asked Questions

The maintained free sources: nflverse (NFL play-by-play), Retrosheet and Lahman (baseball history), football-data.co.uk (soccer results with closing odds), StatsBomb Open Data (soccer events), Jeff Sackmann's repos (tennis), and MoneyPuck (NHL shots). All are covered with links above.
Free to download, yes. Free for a commercial product: it depends. Some require attribution, some restrict redistribution, and terms differ per source. The licenses are short; read them before you ship, especially if you charge users.
Use a dataset for anything historical: training, backtesting, exploration. Use an API for anything current: schedules, live scores, live odds. Most projects graduate from the first to the second. Compare APIs in the directory →
football-data.co.uk, and it is close to alone in that. Decades of European soccer results with closing odds from multiple books, in CSVs. For US sports odds history, line movement, or props, see the historical odds guide; that data comes from commercial APIs.
Event-level data for your sport (plays, shots, points), not season aggregates, plus historical closing odds so you can score the model against the market rather than against results alone. Beating the closing line is the standard test; beating last season's win totals is not.
Feed it from an API: schedules and results to update features, live or pregame odds to find edges. Several providers in the directory have free tiers that cover development, and real-time feeds when you go live.

Model Built? Time for Live Data

Join our Discord community of 1,300+ developers building sports models and betting tools. Ask what data others train on, and which APIs they run in production.