STAT-API

GraphQL Reference

Every GraphQL type, relation, and argument — generated from the served schema, so it can never disagree with the API. Root fields take the same filters as REST; requests are metered by rows resolved, nested lists included.

Prefer it live? The playground runs queries with your key, and GET /api/v1/graphql/sdl serves this same schema as SDL.

NFL42 types

Every scheduled and played NFL game — preseason exhibitions, the 18-week regular season, and the playoffs from Wild Card weekend through the Super Bowl — plus the players, teams, coaching staffs, depth charts, injuries, betting markets, and play-by-play behind them.

NBA29 types

Every NBA game across the 82-game regular season, the In-Season Tournament, the play-in round, and the four-round playoffs through the Finals — with the players, coaching staffs, depth charts, injuries, betting markets, and possession-level play-by-play behind them.

MLB31 types

Every MLB game from spring training through the World Series — the 162-game regular season, the postseason bracket, plus the players, ballparks, umpires, weather, Statcast metrics, and pitch-by-pitch detail.

NHLcoming soon

Every NHL game across the 82-game regular season and the four-round Stanley Cup Playoffs — with the players, forward lines, defensive pairings, goalie depth, scoring plays, penalties, and game-odds behind them. Data coming soon to production.

PGA15 types

Every professional golf tournament — the four majors, the PGA Tour stops, the FedExCup playoffs — broken down to the round, leaderboard, hole-by-hole and shot-by-shot ShotLink/TrackMan tracking, and the players, courses, season-long stats, and tournament odds behind them.

Kalshi6 types

Kalshi's prediction-market exchange — binary YES/NO contracts on NBA games (winner, spread, and total markets) from the 2025-26 season onward, with event-driven price candles, the public trade tape, and on-exchange settlement results.

Polymarket9 types

Polymarket's on-chain prediction markets — events and the YES/NO outcome tokens that trade against them, with token-level snapshots, OHLC candles, price history, order books, and the full public trade tape.

DFS10 types

Daily-fantasy contest data across operators — the slates (operator + league + game pool + scoring rules), their game pools, player pools with salaries and positions, projection sources and projections, and the contests with their entrants, submitted lineups, and per-lineup player rosters.

Reference1 type

Cross-league reference data — the operators (DFS sites, sportsbooks, data providers) that every operator_id filter on the public API points at. Exactly one table from schema `main` is exposed; everything else in that schema is private.

Cross-sport: Competition

Kalshi and Polymarket events carry a competition field that resolves the market to the sporting event it prices — and from there into the league's own game or tournament row.

CompetitionCompetition
A sporting event in the cross-sport competition registry — the target of every betting/DFS row's (league_code, competition_id) pair. Team-sport leagues resolve to a game; golf resolves to a tournament. Use the per-league drill-through fields for the full underlying row.
Relations
  • nfl_gameNflGamesThe underlying nfl.games row; non-null only when league_code is nfl.
  • nba_gameNbaGamesThe underlying nba.games row; non-null only when league_code is nba.
  • mlb_gameMlbGamesThe underlying mlb.games row; non-null only when league_code is mlb.
  • golf_tournamentPgaTournamentsThe underlying golf.tournaments row; non-null only when league_code is golf.
Columns (8) — full docs in the data dictionary
league_code: String
competition_id: BigInt
kind: String
start_time: String
day: Int
home_team_id: BigInt
away_team_id: BigInt
title: String