Guide
Data conventions
Seasons, dates, odds format, consensus, pushes, exclusions.
Historical only
The API serves completed, graded games. A game appears once it is final and its results are computed — typically within a couple of hours of the end — and never before. There are no upcoming lines, no live odds and no schedules on this API. Think of it as a ledger: rows are added, not edited, except for rare data corrections.
Identifiers
game_id—SPORT-YYYYMMDD-AWAY-HOME, e.g.NFL-20240905-BAL-KC. Stable; the join key everywhere.team_id/abbreviation— from /v1/teams. Filters accept either. Abbreviations are the ones in the catalog, not necessarily what a given book prints.bookslug /book_id— e.g.draftkings/1004. Filters accept either.
Seasons
| Sport | season means | Example |
|---|---|---|
| mlb | Calendar year | 2025 = the 2025 season |
| nfl | Year the season started | 2025 = 2025-26 (Super Bowl in Feb 2026) |
| ncaaf | Year the season started | 2025 = 2025-26 |
| nba | Year the season ended | 2026 = 2025-26 |
| nhl | Year the season ended | 2026 = 2025-26 |
season_type is regular or postseason. Preseason/exhibition games are not published. week is set for NFL and NCAAF only.
Dates and times
game_dateis the local slate date in America/New_York (YYYY-MM-DD). A 10:40pm ET tip on the 5th that starts at 02:40 UTC on the 6th hasgame_date = …-05.from/tofilter on this field, inclusive.start_timeis the scheduled start in ISO-8601 UTC.
Odds and lines
- Prices are American odds (
-110,+145). - Spreads are home-anchored:
spread.close = -3means the home team closed as a 3-point favorite;+3means the home team was a 3-point underdog. Away spread is the negation. openis the first number we captured for the market;closeis the last pregame number. Opening prices (*_juice_open) arenullwhere only the line, not the price, was captured — common before 2024.- Totals and team totals are plain numbers;
nullmeans the market wasn't offered or wasn't captured.
Consensus
consensus.* on /v1/games is computed across the published US books for that game: the modal line (the spread/total most books posted), priced at the mean implied probability of the books on that line, converted back to American odds. It is not any single book's number and it is not a stored field — if you need a specific book, use /v1/odds. Result flags on /v1/games are graded against the consensus close; result flags on /v1/odds are graded against that book's own close.
Results and pushes
result.margin_home= home score − away score.home_covered/went_overare booleans, ornullon a push or when there was no closing line to grade against. Checkspread.close/total.closeif you need to tell the two apart (on/v1/odds,spread_push/total_pushare explicit).favoriteis derived from the consensus closing spread (homeif negative,awayif positive,nullon a pick'em or no line).overtimecovers OT, extra innings and shootouts;nullwhen unknown for older games.
Books
v1 publishes US-facing books as captured per game — DraftKings, FanDuel, BetMGM, Caesars, BetRivers, Bovada, BetOnline.ag, BetUS, MyBookie.ag, LowVig.ag. The list per game is in books[] on the game detail. We do not publish Pinnacle or betting-split/sharp-money fields on this API.
What is excluded
- Games before the 2022 season (MLB/NFL/NCAAF), 2022-23 (NBA) or 2023-24 (NHL).
- Preseason, exhibitions and all-star events (Pro Bowl, NBA All-Star, 4 Nations, MLB All-Star Game).
- Postponed/cancelled games that never completed.
- Player props, futures and live/in-play odds (props are on the roadmap — see the changelog).