Odds Data Type — oddID
An oddID is a unique identifier for a specific betting option: a specific side/outcome within a specific market.
oddID format
{statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}| Component | Description | Examples |
|---|---|---|
| statID | The statistic being wagered on | points, disposals, tries |
| statEntityID | Who the stat applies to | home, away, all, or a playerID |
| periodID | The time period covered | game, 1h, 1q |
| betTypeID | The type of bet | ml, sp, ou |
| sideID | Which side of the bet | home, away, over, under |
Example oddIDs
| oddID | Description |
|---|---|
points-home-game-ml-home | Head to head on the home team, full game |
points-away-game-sp-away | Line on the away team, full game |
points-all-game-ou-over | Over on total points, full game |
points-home-1h-ml-home | Head to head on the home team, 1st half |
disposals-LACHIE_NEALE_1_AFL-game-ou-over | Over on Lachie Neale's disposals |
anytimeTryScorer-PLAYER_ID-game-yn-yes | Anytime try scorer, every player (query form) |
Accessing odds
Each event from /events has an odds object keyed by oddID:
{
"eventID": "…",
"odds": {
"points-home-game-ml-home": {
"oddID": "points-home-game-ml-home", "statID": "points", "statEntityID": "home", "periodID": "game", "betTypeID": "ml", "sideID": "home",
"opposingOddID": "points-away-game-ml-away", "marketName": "Head to Head — Brisbane Lions",
"fairOdds": "-115", "fairOddsAvailable": true, "bookOdds": "-108", "bookOddsAvailable": true,
"bookSpread": null, "bookOverUnder": null, "fairSpread": null, "fairOverUnder": null,
"started": false, "ended": false, "cancelled": false, "scoringSupported": true,
"byBookmaker": {
"sportsbet": { "bookmakerID": "sportsbet", "odds": "-108", "decimal": 1.93, "available": true, "lastUpdatedAt": "2026-09-06T08:27:48.000Z", "eventName": "Brisbane - Adelaide" },
"tab": { "bookmakerID": "tab", "odds": "-110", "decimal": 1.91, "available": true, "lastUpdatedAt": "2026-09-06T08:27:31.000Z" }
}
},
"points-all-game-ou-over": {
"oddID": "points-all-game-ou-over", "statID": "points", "statEntityID": "all", "periodID": "game", "betTypeID": "ou", "sideID": "over",
"fairOdds": "-108", "fairOverUnder": "165.5", "bookOdds": "-110", "bookOverUnder": "165.5",
"byBookmaker": { "sportsbet": { "odds": "-110", "decimal": 1.91, "overUnder": "165.5", "available": true } }
}
}
}
Key odds fields
| Field | Description |
|---|---|
fairOdds | Consensus odds without juice (vig removed), from exchange/sharp sources; Base and above |
bookOdds | Consensus odds across bookmakers (includes juice) |
fairSpread / bookSpread | The line for spread bets |
fairOverUnder / bookOverUnder | The line for O/U bets |
fairOddsAvailable / bookOddsAvailable | Whether each could be computed / is open at at least one book |
byBookmaker | Odds broken down by individual bookmaker, each with decimal |
started / ended / cancelled | Whether the bet period has started, ended or been cancelled |
scoringSupported | Whether the source can grade this market from results |
altLines | Alternate lines keyed by line (with includeAltLines=true) |
Open/close odds by bookmaker
SportsGameOdds returns openOdds, closeOdds, openSpread, closeSpread, openOverUnder and closeOverUnder with includeOpenCloseOdds=true. SockOdds accepts the parameter for compatibility but does not snapshot opening and closing prices yet, so those fields are absent; use lastUpdatedAt and your own snapshots.
Filtering by oddID
/events?oddID=points-home-game-ml-home,points-all-game-ou-over&includeOpposingOdds=trueUse includeOpposingOdds=true to automatically include the opposite side of each requested oddID. See Supported Markets for the complete list of oddIDs by league and bookmaker.