luma ~ /developers _
An open data, community research initiative to quantify the sport we love. A free API for ARC, LOKI, on/off, lineups and every box score since 1996-97.
“Whether you are building a draft model, a reproducibility study, a physics engine or anything in between, I would be honored to work and collaborate with you. Love to see people building cool things in the basketball space.”
Ayomide Awoyemi, founder, LUMA Basketball Research · DM on X ↗ · [email protected]
Paste this into Claude, ChatGPT, Cursor or any agent that can browse. It reads the docs and queries LUMA itself. No key: 25 queries a day.
The ten best players of 2025-26 by ARC (1-season window, 2,500+ possessions).
Each one is a single SQL call, run live when you open it.
Each team is rated with the previous season’s ARC (2-season window), weighted by the minutes its players went on to play, and the difference between the two teams is compared with the final margin. 2025-26 regular season: r = .40 per game, no home-court or rest adjustment. Each game appears once per team, so the deciles are symmetric.
LOKI is the predictive form of ARC. Scored on the ratings each system showed before opening night, 2020-21 to 2025-26: 7,194 games, 180 team-seasons. Higher is better.
| LOKI | EPM | DARKO | LEBRON | |
|---|---|---|---|---|
| Team win % explained (R²) | .70 | .65 | .62 | .59 |
| …teams that reshuffled their roster | .68 | .61 | .58 | .58 |
| Game margins explained (R²) | .188 | .180 | .174 | .162 |
| …games with reshuffled rosters | .230 | .213 | .202 | .196 |
LOKI’s lead on game margins holds in 90% bootstrap intervals against each system. Every test, intervals and method: LOKI validation.
Free. No account: we email you a link and the key is shown once. Asking again replaces your old key.
MCP (Model Context Protocol) lets Claude, ChatGPT, Cursor or any agent call LUMA’s tools while you chat. One URL with your key in it.
> Who were the best rim protectors of 2025-26, with possessions?
> Compare Franz Wagner and Lauri Markkanen.
> Which DEN lineups had the best net rating?
Your assistant picks the tool and writes the SQL. We only see the queries it sends, never your chat. Full guide: Connect.
Any language: send a POST request with your key in a header.
Send the key in the x-luma-key header. Use ?key= only where a tool takes nothing but a URL. Bulk files: release CSVs on GitHub ↗.
The first builders go here. Tick the box when you get a key.