LUMAARCResearchAboutDevsChangelog
Decomps ↗NBA DECOMPS · COMING SOON · NBADECOMPS.COM_

luma ~ /developers _

Build on ARC

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.

Get a free keyTry it
Developers \u00b7 beta
01Try it02Examples03How it stacks up04Get a key05MCP06Code07Reference08Built on ARC
“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]

Try it

give it to your agent

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).

Live API, no key needed (25 tries a day).

Examples

Each one is a single SQL call, run live when you open it.

Out-of-sample game margins

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.

How it stacks up

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.

LOKIEPMDARKOLEBRON
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.

Get a key

Free. No account: we email you a link and the key is shown once. Asking again replaces your old key.

MCP: LUMA inside your AI

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.

  1. Settings > Connectors > Add custom connector
  2. Name it LUMA, paste the URL, Add
  3. Open a new chat and ask
then ask

> 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.

From code

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 ↗.

Reference

arc_season
ARC by season and window (1-5 years): net, offense, defense, the full value tree, skill groups
arc_live
ARC after every game day
loki, loki_release
LOKI projections, every release
onoff_season
On/off with four factors at both ends
lineups, wowy
2- to 5-man lineups; with-or-without for every pair
box_game, box_season, games
Every box score and result since 1996-97
players, player_seasons
IDs, names, positions, heights, ages
pac_season, skills_season
PAC scoring value, skill percentiles
channels, xpts_rapm
Explorer channels, xPTS-RAPM

Built on ARC

The first builders go here. Tick the box when you get a key.

How ARC works · Research · Privacy

LUMA Basketball ResearchLOKI one-pager · ARC one-pager · About · Changelog · Query terminalcourt-share.com/luma