---
title: "Cross-provider odds divergences (two-source verification)"
method: GET
path: "/v1/odds/divergences"
tags: ["odds"]
---

# Cross-provider odds divergences (two-source verification)

`GET /v1/odds/divergences`

## Request

- Base URL: `https://api.bigballsdata.com`
- URL: `https://api.bigballsdata.com/v1/odds/divergences`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Per (match, market, canonical book) disagreements between our two odds
providers, as detected by the divergence
worker. Categories: `PRICE_DIFF` (same line, juice differs > threshold),
`LINE_DIFF` (different line value), `MISSING_FROM_ONE` (a book one
provider doesn't carry), `STALE` (one feed lagging). Requires an Edge
plan or higher (Free / Solo / Trio receive 403). Provide `match_id`, or
else `date_from` + `date_to` to bound the kickoff window. Response: `{
data: [{ match_id, sport_type, league, kickoff_utc, market, canonical_id,
book_display_name, category, secondary_categories, magnitude, detected_at
}], meta: { total, limit, offset, categories_present, generated_at } }`.
`magnitude` is category-specific (price_diff_pct for PRICE_DIFF, line_diff
for LINE_DIFF, else null) and is an ABSOLUTE difference; it carries no
direction and cannot be used to reconstruct either provider's line. The
per-provider line and price values are deliberately not returned: the
product here is the computed disagreement, not the upstream feeds.
Returns 503 while the divergence worker is still provisioning (its table
not yet created).

## Query parameters

- `match_id` string, uuid
- `sport` 'football' | 'basketball' | 'baseball' | 'ice_hockey' | 'cricket' | 'mma' | 'boxing' | 'formula1' | 'american_football'
- `category` 'PRICE_DIFF' | 'LINE_DIFF' | 'MISSING_FROM_ONE' | 'STALE'
- `canonical_id` string
- `date_from` string, date
- `date_to` string, date
- `limit` integer
- `offset` integer

## Response `200`

ok

- object

## Other responses

- `400`: invalid query (suggested_fix lists valid category values; or date range required)
- `403`: plan_required (Edge or higher)
- `503`: divergence worker still provisioning (table not yet created)

---

[API](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api.md) · [All operations](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/revisions/31fb54ac414e?raw)
