Date
Loading...
Seed gap
Loading...

← Scroll sideways to see all rounds

Building bracket...
Crunching numbers...
Loading teams...
Team A vs
Select two teams and click Compare.
Loading player stats — fetching box scores...
Built by
Lil Ricky 🏀
Brought to you by Lil Ricky
How data refresh works
LIVE GAME · 30 seconds
While a game is in progress, scores refresh every 30 seconds. You'll see the live score and game clock update automatically — no need to reload the page.
TODAY (ALL DONE) · 2 minutes
After all games on today's date are final, the app still checks every 2 minutes. ESPN occasionally updates final scores or stats after a game ends.
PAST DATE · 10 minutes
Historical game days refresh every 10 minutes. Data is essentially static at this point, but this catches any late box score corrections.
FUTURE DATE · no polling
Upcoming game days don't poll at all — there's nothing to update until games start. The app auto-switches to live polling once the date arrives.
TAB HIDDEN · paused
Polling pauses completely when you switch to another browser tab. The moment you come back, an immediate refresh fires before resuming the normal schedule.
Data lag explained
There are two sources of lag between what happens on the court and what you see here.

ESPN's pipeline — ESPN's broadcast data typically runs 30–90 seconds behind live TV. The score on your screen reflects what ESPN's API has published, not necessarily what just happened.

Our refresh window — On top of ESPN's delay, this app polls on a 30-second cycle during live games. So worst case, you're seeing data that's about 2 minutes behind real time. Best case, you're within 30 seconds.

Box scores and player stats are often finalized 5–15 minutes after a game ends as ESPN processes the official scoresheet.
Rate limiting
ESPN's API is unofficial and undocumented. To avoid getting blocked, this app uses several protections: requests are deduplicated so only one fetch per date runs at a time, a ±5 second jitter spreads requests if multiple tabs are open, and if a 429 rate-limit response is received, the app backs off exponentially — starting at 60 seconds and doubling up to a 10-minute ceiling — while continuing to show the last known data.
Data source: ESPN unofficial API · Not affiliated with ESPN or the NCAA · For personal use only
Choose what to download
All completed games
Date, round, teams, seeds, scores, margin, total, upset flag — one row per game across all tournament dates
Upsets only
All games where a lower seed defeated a higher seed, with seed gap included
Player stats
Per-game averages for every player — PPG, RPG, APG, SPG, BPG, FG%, 3PM, minutes, efficiency
Team stats
Points per game, opponent PPG, avg margin, wins, losses, high score, low score for every team
Scoring by round
Average total points and avg margin per round — useful for spotting trends as the tournament progresses
All exports are UTF-8 CSV files. Some datasets require loading box scores first — if player data isn't available yet, visit the Players tab and let it finish loading before downloading.