No-vig traditional sport odds,
over one HTTP call.

Live and prematch odds for tennis, soccer, cricket, basketball and the rest of the traditional book — every selection carrying a no-vig probability next to the price.

$ curl -H "x-api-key: $KEY" "https://oddsradarwire.com/v1/fixtures?tier=1&limit=1"

{ "market": "Total games", "canonical": "main_total", "tier": 1,
  "structure": "exclusive", "status": "OPEN",
  "selections": [
    { "side": "under", "line": 45.5, "price": 3.7,  "probability": 0.2350778601 },
    { "side": "over",  "line": 45.5, "price": 1.25, "probability": 0.7649221399 }
  ] }

What you get

What the feed does that a raw odds dump does not.

No-vig probabilities, not derived

Every selection carries the provider's own no-vig number beside the priced odds. We pass it through unmodified — no recomputation, no smoothing, no house method to reverse-engineer. The priced odds carry a median 8.4% overround; the probabilities do not.

One key per bet, across every sport

The feed carries 3,708 distinct market names for the same handful of bets. Every market gets a stable canonical key and a tier, so "the moneyline on every live event" is one query instead of a name-matching problem.

Over and under are labelled

Upstream ships both sides of a total under the same name. We recover line, line_type and side — measured against 840 monotonic ladders, not read off a spec sheet. Handicap sides we cannot map are null, never guessed.

Only what you can actually bet

Closed, suspended and settled markets are hidden by default. On a live board that is most of them, and a settled market priced like a live one is indistinguishable from the real thing. Ask for them explicitly and they arrive with status intact.

We count what we withhold

A market we cannot fully identify is not served — it might be a slice of a bigger market or twenty lines under one id. The number withheld is reported per fixture and on /v1/health, so the gap is never silent.

REST and SSE

Poll /v1/fixtures, or hold /v1/stream open and take one event per price push. The stream withholds exactly what REST withholds.

Get a free key

Trial plan, no card. 20 requests a minute, 100 a day, the full board.

We send the key to your inbox and never show it here — that is what ties it to you rather than to whoever typed your address.

Plans

Rate limits per plan are below. Pricing is not published yet — the API is in private beta.

Trial

20 requests/minute · 100/day

  • Full board, all sports
  • Canonical keys and tiers
  • No live stream

Pro

10 requests/second

  • No daily cap
  • Full board, all sports
  • No live stream

Pro + Stream

10 requests/second

  • No daily cap
  • SSE live stream
  • One event per price push

Scale

30 requests/second

  • No daily cap
  • SSE live stream
  • Highest throughput

Rate limits are per key. /v1/health and /v1/me never count against them. See the docs for the 429 contract.

What we do not claim

Numbers on this page come from measured snapshots of the live board. They are not guarantees, and the ones that move are published on /v1/health so you can read the current value rather than trust this page.