Skip to main content

What it streams

Metadata per bookmaker describing whether a bookmaker offers odds for a given future, and whether those odds are active, stale, or suspended. This is the future equivalent of the bookmakers channel for fixtures.

Routing

  • Entity key: payload.futureId
  • Filters: sportIds, tournamentIds, futureIds, bookmakers
  • Access: determined by your apiKey
  • Bookmaker-gated: ✅ Yes

Payload structure


Example message


Critical fields for automated trading

staleOdds — odds freshness guarantee

If you are running automated trading strategies on top of OddsPapi, staleOdds is one of the most important fields you must check.
When staleOdds = true, the connection between OddsPapi and this bookmaker has been lost or interrupted. This means:
  • Odds you received earlier may no longer reflect the bookmaker’s current prices
  • No further updates can be guaranteed until the connection is restored
  • You should immediately pause any automated betting logic for this bookmaker
  • Treat all existing odds from this bookmaker as unvalidated until staleOdds returns to false

Notes

  • Odds data itself is streamed via oddsFutures
  • If a bookmaker is missing from bookmakers, assume no current odds
  • Use this channel as a pre-filter before processing any odds from the oddsFutures channel
  • Combine staleOdds, suspended, and hasOdds to determine whether a bookmaker’s odds should be trusted
  • Semantics are intentionally identical to bookmakers (fixture-level), just scoped to futureId