Sports & Odds

Sports Live Disagreement

Cross-book disagreement diagnostic for in-play markets.

Returns one row per (match, period, market, side) with each book's latest line + price plus deviation from a chosen anchor (median or Pinnacle). Use this to find +EV opportunities during fast scoring runs where soft books haven't caught up to sharp lines yet.

Tier gate: Pro+. 5 credits per call.

Example response (basketball_nba Q3 total): { "sport_key": "basketball_nba", "period": "Q3", "market": "total", "anchor": "median", "as_of_ms": 1778342828915, "results": [ { "match_id": "0042500301", "home_team": "Lakers", "away_team": "Thunder", "side": "over", "anchor_line": 51.5, "books": [ {"source": "pinnacle", "line": 51.5, "price": -110, "deviation_abs": 0.0, "deviation_pct": 0.0, "age_seconds": 2.1}, {"source": "dk_web", "line": 50.5, "price": -115, "deviation_abs": 1.0, "deviation_pct": 0.0194, "age_seconds": 1.4} ] } ] }

Filter on deviation_pct > 0.02 client-side to surface the actually actionable disagreements (anything within median noise gets dropped).

apiKey is optional as a query param because the key may equally be sent as X-API-Key or Authorization: Bearer; see the module docstring.

get/v1/sports/{sport_key}/live/disagreement

Request

  • Base URL: https://parlay-api.com
  • URL: https://parlay-api.com/v1/sports/{sport_key}/live/disagreement
  • Auth: one of:
    • API key in header X-API-Key
    • API key in query parameter apiKey
    • HTTP bearer

Path parameters

sport_keystring required

Query parameters

periodstring

FT / 1H / 2H / Q1-Q4 / OT / P1-P3 / F5 / F7 or 'all'

marketstring

spread / total / h2h

sidestring nullable

Optional side filter (over/under for total, home/away for spread/h2h). Omit to get all sides per book.

anchorstring

Reference for deviation: 'median' (across all books) or 'pinnacle'

max_age_sinteger

Drop books whose latest observation is older than this many seconds. Default 90s catches Bovada's slower polling cycle alongside Pinnacle's tight one. Lower it for stricter freshness, raise it for sparse periods (deep Q4, OT).

min_booksinteger

Minimum number of books required to emit a row. Default 2 because rows with n_books=1 can't be disagreeing with anyone (max_deviation_pct=0 always). Pass 1 to also see markets where only one book has a recent quote (useful for diagnosing which books are slow to refresh).

apiKeystring nullable

API key. Prefer the X-API-Key header, which keeps the key out of URLs and logs.

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.