Voodoo Tiger · CFBD data audit · light mockup, not for publish

LSU 24 @ Ole Miss 32

Sat Sep 19, 2026 · 6:30 PM CT · Vaught-Hemingway Stadium, Oxford · ABC · SEC game · CFBD game id 401856688
Everything below came from CollegeFootballData (API docs) through your existing cfbd-proxy, pulled Sep 20, 2026. 24 calls, 23 endpoints.
In use already on voodootiger.com Should add high value, low cost Could add nice, not urgent Skip clutter or duplicate Gated 401 on your current key

My top five adds, in order

  1. Show more of what you already fetch. The post-game run already downloads 32 team categories and every player's line, then keeps 9 categories and 3 leaders. Defensive leaders, 4th downs, TFL, QB hurries, and yards per pass and per rush cost zero extra API calls.
  2. Scoring summary + quarter line score from /drives. 20 rows, one call. It tells the story the box score can't: down 24–7, 17 straight to tie it, then a 14-play drive that ended in an interception at the goal line.
  3. "Why it happened" panel from /game/box/advanced. Success rate, explosiveness, points per scoring opportunity, starting field position, havoc. Same vocabulary as your Season Form panel, so no new visual language. One call.
  4. Closing line + result against it from /lines. Your line field is overwritten for the next opponent on Sunday morning, so the closing number for a played game is currently lost. CFBD keeps it, with the open and moneyline.
  5. Swap the TV/kickoff web search (STEP A5) for /games/media + /games. Reliability fix, not a feature. Same reasoning as your AP-poll and betting-line switches.

The game itself

Game record

/games In use · week number only

Fields available: venue, start time, TBD flag, neutral site, conference game, attendance, quarter line scores, pregame and postgame Elo, postgame win probability, excitement index, highlights link.

FieldValue returnedStatus
week3In use
startDate / startTimeTBD2026-09-19T23:30Z / falseShould add replaces web search for kickoff
homePregameElo / awayPregameEloOle Miss 1851 / LSU 1794Skip SP+ already covers this job
homePoints, awayPoints, lineScores, attendance, excitementIndex, postgame Eloall null; completed: falseCould add once populated
Flag: about 20 hours after the final, /games still says the game is not completed and has no score, while /games/teams, /lines and /teams/matchup all carry 32–24. If you ever move results (STEP A1) off web search, read points from /games/teams, not /games. I can't tell from here whether this lag is normal for CFBD or specific to this game.

Quarter line score, derived by me from /drives because CFBD's own lineScores field is still null:

1234F
LSU0714324
Ole Miss10140832

Team stats

/games/teams In use · 9 of 32 categories

Already fetched every Saturday. The unused rows are free. I'd add six and stop; a 15-row bar chart stops being readable.

Player stats

/games/players In use · pass / rush / rec leader + QB rushing

Also already fetched. Defense is invisible on the site's box score today. A tackles / sacks / INT leader per team mirrors what Season Leaders already does pregame.

Also in the payload and not shown here: full receiver lists, every defender, kick and punt returns, fumbles, QBR (Leavitt 86.5, Chambliss 89.8).

Drive chart and scoring summary

/drives Should add

Best story-per-byte in the API. 20 rows, small enough for the scheduled task's fetch tool. 25 fields per drive, including start/end field position, clock, and the score before and after.

Start position converted from CFBD's startYardsToGoal. I left end position out: some values in the response don't reconcile with plays and yards (punts appear to record where the ball landed).

Advanced box score

/game/box/advanced Should add · compact panel

Explains the result instead of restating it. LSU was the more efficient team down to down (46% success rate vs 44%) and started drives 12 yards closer. Ole Miss won on explosiveness and finishing: 5.17 points per scoring opportunity to LSU's 4.00.

LSUOle Miss

PPA per play by quarter (also in the payload, split by pass and rush):

Q1Q2Q3Q4Game
LSU−0.020.300.250.310.23
Ole Miss0.340.68−0.190.440.31
Verify before shipping: the payload's postgame win expectancy reads LSU 85.3%, Ole Miss 14.7%, with Ole Miss as the winner. That is a big number for a team that was out-gained by 96 yards and had lower PPA. It may be right (field position and success rate favor LSU) or the home/away values may be flipped in CFBD's data. I would not display it until it has been checked against a second game.

In-game win probability

/metrics/wp Could add · needs a small server-side helper

The best single visual CFBD offers, and your key can reach it. The catch: 163 plays × 16 fields is too big for the scheduled task's fetch tool to read reliably. It needs a cfbd-pick-style function that returns only play number, score and probability.

LSU win probability (1 − CFBD's home value)

Drawn from every 10th play only, which is all I could extract through the summarizing fetch. The Q4 peak (about 55% after the tying field goal) was reported by that tool, not read from raw JSON; treat it as approximate. Hover a point for the play.

Betting lines, open to close

/lines Should add · post-game only

Keep The Odds API for the live pregame line; use this for history. One tiny call per played game preserves the closing number and lets each schedule row show how the game went against it.

BookCloseOpenO/U closeO/U openLSU MLOle Miss ML
DraftKingsLSU −3Ole Miss −1.5 *58.557.5−148+124
BovadaLSU −2.5LSU −3 *5958.5−165+130

Result: LSU lost by 8 as a 3-point favorite (did not cover). 56 total points, under 58.5.

* Open values inferred from CFBD's home-team sign convention (spreadOpen: −1.5 = home favored). A third row, "Draft Kings" with a space, duplicates DraftKings' close with no open or moneyline; dedupe it.

Player PPA and usage

/game/box/advanced · /ppa/players/games Could add

Rides along in the advanced box call, so it's free once that's added. Good for one "most valuable play-maker" line per team; a full table is too much for this site.

PlayerTeamUsagePPA / playTotal PPA
Sam Leavitt, QBLSU60.0%0.4418.6
Winston Watkins, WRLSU4.3%2.517.5
Trey'Dez Green, TELSU5.7%1.365.4
Dilin Jones, RBLSU34.3%0.061.3
Trinidad Chambliss, QBOle Miss78.1%0.3218.4
Traylon Ray, WROle Miss11.0%1.2910.4
Caleb Odom, TEOle Miss11.0%0.917.3
JT Lindsey, RBOle Miss8.2%0.573.4

Related: /ppa/games gives team PPA by down. LSU offense: 1st down 0.24, 2nd down −0.52, 3rd down 1.07.

Pregame context for the same matchup

DataEndpointLSUOle MissStatus
AP Top 25 (week 3)/rankings#7 · 1,334 pts · 1 first-place vote#8 · 1,216 ptsIn use rank only
Coaches Poll (week 3)same call#7 · 1,405 pts#9 · 1,228 ptsSkip you chose AP-only; free if you change your mind
SP+ overall/ratings/sp via cfbd-pick#8 · 24.1#20 · 15.2In use
SP+ offense / defense splitsame callin payload, not extracted hereCould add free
Pregame win probability/metrics/wp/pregame56.8%43.2% (model spread: home +2.5)In use
Season advanced stats/stats/season/advancedon site as Season Form (4 of roughly 60 fields)In use
Season player stats/stats/player/seasonon site as Season LeadersIn use
Series history/teams/matchupLSU leads 64–42–4 since 1902 (110 games). Ole Miss has won the last three in Oxford (2021, 2023, 2025) and now 2026.Should add one line in the Next Up hero
Records + expected wins/records2–1 (0–1 SEC) · 2.79 expected wins3–0 (1–0 SEC) · 1.79 expected winsCould add SEC record is useful; expected wins is a fun "luck" stat
Team talent composite/talent via cfbd-pick#8 · 931.76#14 · 885.72Could add changes once a year
ESPN FPI/ratings/fpi20.4 · FPI #8 · SOR #32 · def. efficiency 94.617.7 · FPI #13 · SOR #2 · off. efficiency 82.5Skip a second power rating next to SP+ is noise
Elo (current)/ratings/elo17861859Skip same reason
Returning production/player/returning21.2% of PPA returning50.3% of PPA returningSkip preseason stat, stale by week 3
TV outlet/games/mediaABC (tv)Should add replaces STEP A5 web search

Not reachable, or not practical

DataEndpointWhat happenedStatus
Game weather/games/weather401 from the proxyGated paid CFBD tier
Live scoreboard/scoreboard401 from the proxyGated matches the Tier 2 note in your app plan
Live play-by-play/live/plays401 from the proxyGated same
Full play-by-play/plays153 plays, 27 fields each (clock, down, distance, PPA, play text, timeouts). What reached me stopped in Q3: both Q4 scores were missing.Skip for the site; too large without a server-side filter. /drives covers the need.
Coaches/coachesread timeout, one attemptSkip untested

Not pulled, so not judged: /plays/stats, /player/usage, /ratings/srs, /recruiting/teams, /roster, /venues, /stats/game/advanced (overlaps the advanced box), /player/portal, /draft/picks.

Method note: your org's network policy blocks direct calls to the proxy, so every response came through a fetch tool that passes pages through a summarizing model. Small payloads came back as verbatim JSON and I trust those. Large ones (/plays, /metrics/wp, /games/players) were extracted by that model; spot-checks against your Supabase row matched, and I've marked the places where I could not verify.