The Odds API
100K planLive odds + line movement across DraftKings, FanDuel, BetMGM, Caesars
Loading
LineShift watches 4 sportsbooks in real time and runs every candidate bet through 9 independent analytical signals. A bet reaches your dashboard only when signals converge — when 5 or more fire in the same direction as the pick.
This page documents exactly what happens between a sportsbook posting a line and LineShift surfacing it. Every claim names a data source; every formula is standard textbook math; every limit we know about is published below.
LineShift reads from eight live data sources and never fabricates values. When a feed goes quiet, the dashboard surfaces fewer bets rather than inventing one.
Live odds + line movement across DraftKings, FanDuel, BetMGM, Caesars
NBA injuries, player stats (last 5), team schedules + advanced stats
Injury feeds across NBA / MLB / NHL / NFL with position codes
MLB player form (season + last 5), pitcher IDs, game schedule
NHL player form, team standings, schedule density
Wind / temp / precip for outdoor MLB and NFL venues
MLB Statcast batted-ball, plate discipline, run-value splits
NHL xGF%, HDCF%, PDO, finishing / driving splits
Tap any slot for the measurement definition, a FIRED example with real numbers, and when it stays neutral. Per Session 62, no slot is ever N/A on a fresh bet — every signal either fires, contradicts, or explains why it sits neutral.
A bet only reaches your dashboard when enough of the 9 signals agree: NBA/MLB/NFL need at least 5 of 9 pointing the same way, NHL needs 4 of 9 (fewer independent signals feed reliably in practice). STRONG needs one more signal agreeing, TOP PICK needs two more.
Illustrative example rendered because the pipeline currently has no live Top Pick across NBA / MLB / NHL. Real bets render in the same shape.
Step 2 — the four checks
The 9 signals are step 1 — they tell us how many independent reads agree on the pick. Step 2 is four checks that filter for the kind of bet a sharp would actually place. A pick must clear ALL four to ship as a Top Pick.
At least N of 9 signals support the pick (NBA/MLB/NFL: 5; NHL: 4).
A 6-of-9 LAL ML clears this. A 4-of-9 doesn't.
Signal agreement weighted by how reliably the model prices that market type.
Mainlines weight 1.0, star-player props 0.85, rare-event props (blocks/steals) 0.65, same-game parlays 0.4.
Edge × hit probability ≥ 0.8% return per dollar at risk.
A 5% edge on +400 is 1.0% return — clears. A 0.5% edge on -150 is 0.3% — fails.
Odds at or shorter than +250 AND a real win probability of 30% or higher (sportsbook tax stripped out).
No Top Pick at +260 or higher, regardless of profile. Longshots get their own surface — they don't crowd Top Picks.
Want the full rationale? See ADR-001 — Four-Gate Promotion Model.
After our four-check engine ranks a candidate, Claude reads the full multi-source context — injuries, breaking news, beat-reporter posts, weather, last 5 games, matchup history, sharp action, fan sentiment — and decides whether to confirm the engine's call, demote it (qualitative context is bad), or promote it (engine missed an angle).
Claude can never override the math. But it catches the things math misses.
Building credibility — stats unlock at 30 graded reviews.
We don't fake the lift number. Once enough picks have resolved with both engine and AI judgments on record, this card fills in with engine-alone vs AI-overlay win rates plus how often the AI's demote / promote calls actually hit.
A tip without a plan is useless. The BetCard's Bet Plan section names the specific book, the specific stake, and what to pivot to if the primary line moves or the book takes the price down.
We rank all 4 sportsbook prices for the exact side. The Bet Plan opens with the best-priced book pre-selected. For Pro / Max tiers, Session 72's calibration layers on the historical soft-gap — "DraftKings has been 1.3¢ softer than median on NBA player-points Over 90 days rolling" — with a tap-to-open 90-day chart.
We use the Kelly Criterion — the math that tells you how much to bet given your edge — and shrink it to one quarter of full Kelly so a noisy edge estimate can\'t blow up your bankroll. We then hard-cap any stake at 2% of your configured bankroll. A slider on the BetCard lets you move between quarter / half / full Kelly if you know what you\'re doing.
If the primary line moves against you or the book takes the price down so far it falls out of the gate, the plan shows a pre-vetted alternative — a correlated market or the second-best book. You\'re never stuck on a single line.
Both numbers get computed against data we capture automatically at bet-log time, so we can't fudge them after the fact. Sample charts below are illustrative — your real numbers live on Performance.
Opening line → closing line → your line. CLV % = (closing implied prob − placed implied prob) / placed implied prob. Positive CLV means the line moved into your price — the closest thing to a skill signal in sports betting.
Why > 10 resolved bets: CLV on small samples swings on variance. Below 10 we show a progress bar instead of a number that lies.
At bet-log time, we capture all 4 books' prices on your exact side. For each logged leg we compute the dollar delta between the price you got vs. the median of the other 3 books, scaled to your stake. The Performance page sums it over any 30/60/90/all window.
Honest limit:legs logged without a 4-book snapshot (legacy bets or external bets) don't count. We never back-fill the captured data.
We'd rather be trusted than loud. These are limits we publish on purpose — they're the boundary between analytics and the black boxes we're competing against.
Nothing exotic. These are standard, published, verifiable formulas from sports-betting and probability textbooks. If you don't trust our numbers, you can recompute ours from the inputs below.
EV = (P(win) × payout) − (P(loss) × stake)
The number of dollars per bet you expect on average if the same spot were replayed infinitely. Positive EV is the precondition for any bet reaching the dashboard — no bet ships with EV ≤ 0.
f* = (b × p − q) / b where p = win%, q = 1 − p, b = decimal payout
Optimal long-run bankroll fraction given an estimated edge. LineShift defaults to quarter-Kelly with a hard 2% bankroll cap — most of the upside, a fraction of the drawdown pain.
P(A ∩ B) = p₁ × p₂ + r × √(p₁(1−p₁) × p₂(1−p₂))
Pairwise correlation lifts or depresses the joint probability of two legs hitting. Positive r (star-player points + game total) pushes the parlay above independence; negative r pushes it below. Books price r into SGPs; LineShift flags where their r disagrees with ours.
count how many of the 9 signals point the same way as the pick — ship the bet only if that count clears the per-sport minimum.
A bet only ships when enough independent signals agree. Minimums: NBA 5, MLB 5, NHL 4, NFL 5. STRONG = minimum + 1 signal agreeing. TOP PICK = minimum + 2 AND at least 80% of the agreeing signals point the same way (not split). This is the first of four checks; see the four-gates section for the rest.