Follow the Pinnacle line: 13.5 snapshots per game in 2026.
Every Pinnacle price snapshot with its exact time and lead before the game, on three markets: full-game total, run line and F5. In 2026 the line is followed through the day; in 2023-2025 totals and run lines were densified (median 5 and 4 snapshots per game).
Choose your option
One purchase, one download: CSV + Parquet and a README documenting every column.
Line Movements
2023 → 2026, regular season.
- 248,392 snapshots, one file per season + a combined file
- 2026: 101,386 snapshots across 2,211 games, refreshed every Monday until the end of the regular season
- Lead time before the game computed for each snapshot
Download link valid 72 h, 5 downloads
Buy — €19MLB Complete Pack
All 5 datasets, all seasons.
- Full-Game Odds
- First 5 Innings
- First inning · NRFI
- Modeling Features
- Line Movements
When the snapshots were taken
For each market, how snapshots split by lead time before the game, all seasons combined.
| MARKET | SNAPSHOTS | > 24 h before | 6-24 h | 1-6 h | < 1 h |
|---|---|---|---|---|---|
| Run line | 94,088 | 4.7% | 30.1% | 47.3% | 17.9% |
| F5 | 44,520 | 2.0% | 38.5% | 31.3% | 28.2% |
| Total | 109,784 | 4.9% | 35.9% | 43.3% | 15.9% |
Study the market, not just the result
Long format: one row per snapshot. Rebuild the path of every line.
Follow a line
Every snapshot of one 2026 game, in order, on the total.
lm = pd.read_parquet("mlb_line_movements_pinnacle_2023_2026.parquet")
t = lm[(lm.market == "TOTALS_FT") & (lm.side == "OVER")]
t[t.game_pk == t.game_pk.iloc[-1]].sort_values("snapshot_utc")Opening versus last snapshot
Measure how far the line moved between the first and the last snapshot.
g = t.sort_values("snapshot_utc").groupby("game_pk")
(g.line.last() - g.line.first()).value_counts()Link to the result
Join Full-Game on game_pk for the final score.
fg = pd.read_parquet("mlb_fullgame_odds_pinnacle_2023_2026.parquet")
t.merge(fg[["game_pk", "total_runs"]], on="game_pk")Densified, and every remaining limit stated.
2026 comes from our in-season collection (13.5 snapshot times per game). For 2023-2025 we added in September 2026 three historical snapshots per game day (14:00, 20:30 and 22:45 UTC) on totals and run lines: median 5 snapshots per game for the total, 4 for the run line.
F5 in 2023-2025 was only captured close to the game (89.7% of games with a single snapshot): a reference price, not a movement study. A snapshot's time is when Pinnacle last changed that price: an unchanged price seen twice counts once. The last snapshot before the game is not a guaranteed close.
What's in the file — and what isn't
Included
- Pinnacle full-game total, run line and F5
- Totals and run lines followed through the day, 2023 → 2026
- Exact time and lead before the game
- First snapshot of each game flagged (is_opening)
Not included
- F5 movement in 2023-2025 (near-game capture only)
- Other bookmakers
- Moneyline
- Alternate lines
- Scores (→ Full-Game Odds)
Every column, with its fill rate
Measured on the delivered file. 100% = no missing values.
Game
MLB game id, date, teams, scheduled start
Snapshot
Market (TOTALS_FT, SPREADS_FT, TOTALS_F5), side, line, price
Time
Snapshot time, first snapshot of the game, lead before the game
The file, exactly as you'll get it
Six real rows, main columns. Download 50 free rows with every column to check it fits your pipeline.
| game_pk | game_date | away_team | home_team | market | side | line | price | snapshot_utc | is_opening | hours_before_game |
|---|---|---|---|---|---|---|---|---|---|---|
| 823107 | 2026-08-02 | MIN | SEA | TOTALS_FT | UNDER | 7.0 | 1.85 | 2026-08-02 19:39:57 | 0 | 0.5 |
| 823107 | 2026-08-02 | MIN | SEA | TOTALS_FT | OVER | 7.0 | 2.04 | 2026-08-02 19:39:57 | 0 | 0.5 |
| 823249 | 2026-09-19 | MIA | SD | SPREADS_FT | HOME | -1.5 | 2.45 | 2026-09-19 23:09:44 | 0 | 1.5 |
| 823249 | 2026-09-19 | MIA | SD | SPREADS_FT | AWAY | 1.5 | 1.62 | 2026-09-19 23:09:44 | 0 | 1.5 |
| 823822 | 2026-09-06 | CHC | MIA | TOTALS_FT | OVER | 8.0 | 1.87 | 2026-09-06 16:49:56 | 0 | 0.8 |
| 823822 | 2026-09-06 | CHC | MIA | TOTALS_FT | UNDER | 8.0 | 2.02 | 2026-09-06 16:49:56 | 0 | 0.8 |
Before you buy
How many snapshots per game?
13.5 snapshot times on average in 2026, 6.4 in 2023-2025 (each time has one row per side).
Is the 2026 season updated?
No: the regular season is over and the file is final (2,211 games since April 12, 2026).
How do I get the file?
Right after payment a download link appears on screen and is emailed to you. The archive contains CSV and Parquet files plus a README documenting every column.
Can I use it in a commercial product?
Yes for your models, analyses and tools, commercial ones included. Reselling or redistributing the files themselves is not allowed.
A question before buying?
Email [email protected] — the founder answers, usually the same day.