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