API · v1
All of it, as JSON.
The same snapshots the site renders — games, cross-book odds, de-vigged consensus, Polymarket microstructure, sharp-wallet grading and model lines once released. $49/mo, key from checkout, 10,000 requests/day.
Auth & limits
curl https://dexray.org/api/v1/games \ -H "Authorization: Bearer clk_live_…" # every response: x-requests-used: 12 x-requests-remaining: 9988
- Keys are created (and rotated) on /account after subscribing. Shown once; only a hash is stored.
- 401 unknown key · 403 subscription lapsed · 425 not yet released (available_at in body) · 429 daily limit.
- Snapshots, not a live feed: odds ~12-hourly, Polymarket ~30-min. Timestamps on every object.
- Machine-readable spec: /api/v1/openapi.json
GET /api/v1/games
All upcoming games: consensus spread/total/ML, Polymarket summary, weather, signal counts.
{"season":2026,"games":[{"key":"2026_01_BUF_HOU","kickoff_utc":"2026-09-13T17:00:00Z","consensus":{"spread_home":-1.5,"total":47.5,"ml_home":0.53,"n_books":41},"pm":{"home_prob":0.52},"n_signals":3}]}GET /api/v1/games/{key}
Full bundle: schedule block, matchup form, injuries, similar games, plus the odds file.
{"key":"2026_01_BUF_HOU","summary":{…},"matchup":[…],"missing_players":[…],"similar":{"n":38,"ats":{"w":19,"l":17,"p":2}},"odds":{…}}GET /api/v1/games/{key}/odds?market=spreads&book=pinnacle
Every book quote, de-vigged consensus, props, 12-hourly line history.
{"books":[{"bookmaker":"pinnacle","market":"spreads","outcome":"Buffalo Bills","price":-108,"point":-1.5}],"consensus":[{"market":"spreads","point":-1.5,"q_a":0.512,"n_books":39}]}GET /api/v1/games/{key}/polymarket
Polymarket markets, ~30-min price history, order-book depth, recent trades.
{"markets":[{"question":"Bills vs. Texans","best_bid":0.51,"best_ask":0.53}],"orderbook":[…],"trades":[…]}GET /api/v1/games/{key}/sharps
Live positions of skill-graded wallets in this game.
{"n_wallets":3,"positions":[{"address":"0x…","verdict":"skill","outcome":"Bills","avg_price":0.49,"size":12000}]}GET /api/v1/games/{key}/model
Model prop lines with the CDF ladder. Every line unlocks at its own available_at; 425 only while every line in the game is still unreleased.
{"lines":[{"market":"player_reception_yds","player":"Nico Collins","released":true,"modal_pt":72.5,"p_model":0.55,"p_fair":0.522,"ev_best":0.041,"grade":"B","cdf":{"offs":[-30,…],"p_over":[…]}},{"market":"player_receptions","player":"Stefon Diggs","released":false,"unlocks_at":"2026-09-13T16:45:00Z"}]}GET /api/v1/games/{key}/similar?spread_tol=1.0&total_tol=1.5
Historically similar games with ATS and totals records.
{"similar":{"n":38,"ats":{"w":19,"l":17,"p":2},"over_rate":0.47,"games":[…]}}GET /api/v1/signals?season=2026&week=1&market=player_reception_yds
Cross-game signals index for the week, ranked by EV. Every line unlocks at its own available_at, same per-line release rule as /model; 401 without a key.
{"season":2026,"week":1,"generated_at":"2026-09-08T12:00:00Z","n_signals":42,"signals":[{"key":"2026_01_BUF_HOU","matchup":"HOU @ BUF","market":"player_reception_yds","player":"Nico Collins","released":true,"modal_pt":72.5,"ev_best":0.041,"grade":"B"}]}GET /api/v1/players?q=collins&team=HOU&position=WR
Player index.
{"n":1,"players":[{"gsis_id":"00-0036322","name":"Nico Collins","team":"HOU","position":"WR"}]}GET /api/v1/players/{gsis}
Player card: bio, weekly + season stats, NGS, snaps, injury, PFF block.
{"name":"Nico Collins","weeks":[…],"ngs":[…],"pff":{"weeks":[…]}}GET /api/v1/injuries?team=HOU
League-wide current injury report.
{"rows":[{"name":"…","team":"HOU","status":"Questionable","body_part":"hamstring"}]}GET /api/v1/cfb/games
College football: all upcoming FBS games with consensus summary. Keys look like cfb-{event_id} until schedule keys land.
{"season":2026,"games":[{"key":"cfb-2c288580da16","kickoff_utc":"2026-08-29T16:00:00Z","home":{"abbr":"TCU"},"away":{"abbr":"UNC"},"consensus":{"spread_home":-10.5,"total":56.5,"n_books":8}}]}GET /api/v1/cfb/games/{key}
CFB game bundle + odds. The same shape as NFL; blocks without college data yet are null/empty.
{"key":"cfb-2c288580da16","summary":{…},"odds":{"books":[…],"consensus":[…],"history":[…]}}GET /api/v1/cfb/games/{key}/odds?market=spreads&book=draftkings
CFB cross-book odds and 30-minute close-capture history.
{"books":[{"bookmaker":"draftkings","market":"spreads","outcome":"TCU Horned Frogs","price":-110,"point":-10.5}]}Release timing, plainly
Signals are computed on the scheduled scoring runs. From Week 1 the house trades each one at that run (amendment A3); Pro and API accounts receive it 2 hours later, never later than kickoff−6h. A random fifth of signals is withheld from every subscriber until kickoff−15min to measure our own footprint on the market — the house still trades those. Each line in /model unlocks independently at its own available_at for a subscribed key; only while every line in the game is still unreleased does the endpoint return 425 with the signal count and flagged markets instead.