NBA, NFL, MLB & NHL Odds: Historical & Closing Lines
Pricing
Pay per usage
NBA, NFL, MLB & NHL Odds: Historical & Closing Lines
NBA, NFL, MLB and NHL odds from up to 42 bookmakers incl. DraftKings, FanDuel, BetMGM and Fanatics: moneyline, spread, total, 3-way. Opening and closing lines, no-vig consensus, line movement. Recent games or full seasons back to 2009, scores by period, team stats.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sports Odds Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
🎁 Free until 8 October 2026. Press Start — the prefilled input returns 30 games with odds in under a minute.

Get NBA, NFL, MLB and NHL odds — and every other basketball, American football, ice hockey and baseball league — with the opening and closing line of up to 42 bookmakers, including DraftKings, FanDuel, BetMGM, Fanatics and bet365: moneyline, spread (point spread, run line, puck line), total and 3-way, a no-vig market consensus, the main lines at the open and at the close, line movement, final and period-by-period scores and team box-score statistics. One clean row per game, ready for a spreadsheet, a database or a model.
Two modes:
- Recent games — every league of the chosen sports, from 7 days back to 7 days ahead (upcoming games with current prices)
- Full seasons — complete seasons of the leagues you choose, with odds history back to 2009: regular season, play-offs, play-in, wild card, bowls
Most odds scrapers give you today's lines from a handful of US books. This Actor gives you the history — opening and closing lines season after season — the data you need to build and backtest betting models or to measure closing line value.
What you get for each game
- Game: start time (UTC), sport, country, league, stage and season type (regular / postseason / preseason / all-star), round, home and away team, Flashscore IDs and link
- Result: status, final score (overtime included; a hockey shoot-out counts as one goal for the winner, as in the official result), regulation score, score after overtime, shoot-out, periods (quarters, periods or innings), overtime / extra-innings flag, winner, regulation result (for 3-way bets)
- Odds per bookmaker — opening price and latest price; once a game has started the latest price is the closing line:
- Moneyline (including overtime) with the bookmaker margin
- Spread — each bookmaker's own main line at the close, or every alternate line
- Total — each bookmaker's own main line at the close, or every alternate line
- 3-way on regulation time (optional)
- Market consensus (median across bookmaker brands, margin removed):
- fair moneyline odds and win probability at the open and at the close, line movement in percentage points
- the main spread and total at the open and at the close (voted across bookmakers) with their fair prices
- best available prices, median moneyline margin
- Team statistics (where available): field goals, 3-pointers, rebounds, assists, turnovers; shots, power plays, faceoffs, hits; hits, errors, home runs; yards, first downs, turnovers …
- Odds format: decimal or American (
-110,+150)
Historical odds: full seasons back to 2009
| League and season | Bookmakers per game (moneyline) |
|---|---|
| NBA 2009/10 – 2012/13 | 6 |
| NFL 2011/12 · NHL 2012/13 | 8–9 |
| MLB 2014 | 7 |
| NBA · NFL · NHL 2019/20 · MLB 2019 | 9–11 |
| NBA · NFL · NHL 2024/25 · MLB 2024 | 17–22 |
| Current season (e.g. MLB 2026) | 30+ listings |
Spreads and totals are quoted by fewer books than the moneyline (roughly half to two thirds as many). A full season comes complete: e.g. 2,473 MLB games in 2024, 1,386 NBA games in 2024/25 (preseason and all-star games are skipped unless you ask for them).
About line-moving books: US books move the line and keep the price at -110. Only the line still quoted at the close counts as that book's closing line; the opening main line is the one the market started from.
Leagues
Everything Flashscore covers for these four sports — the NBA, WNBA, NCAA, EuroLeague and hundreds of basketball leagues; the NFL, NCAA, CFL; the NHL, KHL, AHL, SHL, Liiga, DEL; MLB, NPB, KBO, CPBL and more. In Full seasons mode use the short names NBA, NFL, MLB, NHL, WNBA, NCAAB, NCAAF, EuroLeague, KHL, AHL, CFL, NPB, KBO, or Sport: Country: League as shown on Flashscore (Basketball: Spain: ACB, Hockey: Sweden: SHL), or paste the league's Flashscore URL.
Use cases
- Build and backtest models — closing-line probabilities are the most efficient price the market produces
- Closing Line Value (CLV) — compare the price you bet with the consensus close
- Line movement — find games where the spread or total moved between open and close
- Line shopping history — see which book offered the best price, game after game
- Your own odds database — schedule a daily run of recent games and keep appending
How to use it
- Choose Recent games (sports, days back/ahead) or Full seasons (leagues and seasons).
- Pick the markets and the odds format.
- Click Start. 30 recent games take about half a minute; a full NBA season (1,314 games with the play-offs) about 18 minutes. For many leagues and seasons, raise the run timeout (the default is 6 hours).
- Download the results as JSON, CSV or Excel, or read them through the Apify API.
Ready-made examples
One click, preconfigured — open, press Start, adjust if you like:
- NBA odds history: moneyline, spread and total
- NFL closing lines
- MLB odds history
- NHL odds history
- Tonight's NBA, NFL, MLB and NHL odds
- College football (NCAAF) odds history
Input example — full seasons
{"mode": "seasons","leagues": ["NBA", "NFL", "NHL", "MLB"],"seasons": ["2024-2025", "2024"],"markets": ["moneyline", "spread", "total"],"oddsFormat": "american"}
Seasons follow the league's own format: 2024-2025 for the NBA and NHL, 2024 for MLB and other calendar-year leagues; for the NFL both 2024 and 2024-2025 work. Leave seasons empty and set lastSeasons to get the current season plus the ones before it.
Input example — recent games
{"mode": "recent","sports": ["basketball", "baseball"],"competitions": ["USA: NBA", "USA: MLB"],"daysBack": 1,"daysAhead": 1,"oddsFormat": "american"}
Output example (shortened, American odds)
{"matchId": "YasLoKTi","startTime": "2025-06-23T00:00:00Z","sport": "basketball","competition": "NBA - Play Offs","season": "2024/2025","seasonType": "postseason","round": "Final","homeTeam": "Oklahoma City Thunder","awayTeam": "Indiana Pacers","status": "finished","score": "103-91","periods": [[25, 22], [22, 26], [34, 20], [22, 23]],"winner": "home","consensus": {"booksMoneyline": 25,"probHomeOpening": 0.7407,"probHomeLast": 0.6938,"fairHomeOdds": -227,"fairAwayOdds": 227,"moveHomePts": -4.69,"spreadLine": -6.5,"spreadLineOpening": -8.5,"fairSpreadHomeOdds": -105,"totalLine": 215.5,"totalLineOpening": 214.5,"fairOverOdds": 100},"odds": {"moneyline": [{"bookmaker": "BetMGM.us", "opening1": -385, "opening2": 290, "last1": -278, "last2": 225, "marginPct": 4.3}],"spread": [{"bookmaker": "BetMGM.us", "line": -6.5, "openingHome": -154, "openingAway": 125, "lastHome": -110, "lastAway": -110}],"total": [{"bookmaker": "BetMGM.us", "line": 215.5, "openingOver": -110, "openingUnder": -110, "lastOver": -110, "lastUnder": -110}]},"stats": {"fieldGoalsAttempts": {"home": 87, "away": 70},"fieldGoalsMade": {"home": 35, "away": 29}}}
Pricing
🏀 Free until 8 October 2026 — during the launch period you only pay Apify's platform usage, typically well under $0.01 per 100 games.
From 9 October 2026 you pay per game saved — platform usage included, nothing else:
| Apify plan | Price per 1,000 games |
|---|---|
| Free | $5.00 |
| Starter | $4.50 |
| Scale | $4.00 |
| Business and higher | $3.50 |
💡 On Apify's free plan the monthly $5 platform credit covers about 1,000 games — enough to try the data properly before paying anything.
Every game comes with the odds of all bookmakers and markets you selected, the consensus and the statistics, at no extra cost. Nothing is charged for games you filter out: Skip games without odds is on by default. Set a spending limit on the run if you want a hard cap — the Actor stops as soon as the limit is reached.
FAQ
What is the "closing line"? The last price before the game starts. For finished and live games the last… fields are the closing odds; for scheduled games the current ones.
Do moneyline, spread and total include overtime? Yes — they are quoted including overtime and extra innings, the way US books settle them. The 3-way market is on regulation time (regulationResult).
How is the consensus calculated? Each bookmaker's margin is removed proportionally, then the median is taken across bookmaker brands (each brand once, via its lowest-margin listing). The main spread and total are the lines most bookmakers quote closest to 50/50.
How far back can I go? In Recent games mode 7 days back and 7 ahead. In Full seasons mode every season Flashscore lists — odds go back to 2009 (fewer bookmakers in older seasons, see the table above). US books such as DraftKings and FanDuel appear in recent seasons.
Which time zone? All timestamps are UTC.
Where does the data come from? From publicly available game and odds information shown on Flashscore. This Actor is not affiliated with Flashscore, the leagues or any bookmaker.
More from Sports Odds Lab
- ⚽ Football Odds Scraper — 1,000+ competitions, 1X2, over/under, BTTS and Asian handicap, seasons back to 2005
- 🎾 Tennis Scraper: Live Scores, Results & Odds — every ATP, WTA, Challenger and ITF match: live scores, rankings, odds from 40+ bookmakers back to 2009
- 📊 Polymarket & Kalshi Scraper — prediction market odds, price history and results in one table, full Kalshi archive since 2021
⭐ Did this Actor save you time? A short review on this page helps other bettors and analysts find it — and tells us what to build next.
Changelog
- 0.1 — first release (free launch period): basketball, American football, ice hockey and baseball; moneyline, spread, total and 3-way from up to 42 bookmakers, opening and closing; no-vig consensus, main lines, line movement; full seasons back to 2009; periods, season types, team statistics; decimal or American odds.