Documentation Index
Fetch the complete documentation index at: https://docs.oddspapi.io/llms.txt
Use this file to discover all available pages before exploring further.
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 thebookmakers channel for fixtures.
Routing
- Entity key:
payload.futureId - Filters:
sportIds,tournamentIds,futureIds,bookmakers - Access: determined by your
apiKey - Bookmaker-gated: ✅ Yes
Payload structure
| Field | Type | Description |
|---|---|---|
futureId | string | The future this update applies to |
bookmakers | object | Map of <bookmaker> → metadata object |
bookmakers.<bk>.bookmaker | string | Bookmaker slug (e.g. "stake", "pinnacle") |
bookmakers.<bk>.bookmakerFutureId | string | null | Optional bookmaker-side identifier for this future |
bookmakers.<bk>.futurePath | string | null | Optional deeplink or path to the future at the bookmaker |
bookmakers.<bk>.hasOdds | boolean | True if the bookmaker currently offers odds |
bookmakers.<bk>.staleOdds | boolean | Critical for trading. True if the connection to this bookmaker was lost and odds freshness can no longer be guaranteed |
bookmakers.<bk>.suspended | boolean | True if the bookmaker has suspended this future |
bookmakers.<bk>.meta | object | null | Optional bookmaker-specific metadata |
bookmakers.<bk>.updatedAt | string | Last update timestamp (ISO 8601) |
Example message
Critical fields for automated trading
staleOdds — odds freshness guarantee
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
staleOddsreturns tofalse
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
oddsFutureschannel - Combine
staleOdds,suspended, andhasOddsto determine whether a bookmaker’s odds should be trusted - Semantics are intentionally identical to
bookmakers(fixture-level), just scoped tofutureId