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}
ComponentDescriptionExamples
statIDThe statistic being wagered onpoints, disposals, tries
statEntityIDWho the stat applies tohome, away, all, or a playerID
periodIDThe time period coveredgame, 1h, 1q
betTypeIDThe type of betml, sp, ou
sideIDWhich side of the bethome, away, over, under

Example oddIDs

oddIDDescription
points-home-game-ml-homeHead to head on the home team, full game
points-away-game-sp-awayLine on the away team, full game
points-all-game-ou-overOver on total points, full game
points-home-1h-ml-homeHead to head on the home team, 1st half
disposals-LACHIE_NEALE_1_AFL-game-ou-overOver on Lachie Neale's disposals
anytimeTryScorer-PLAYER_ID-game-yn-yesAnytime 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

FieldDescription
fairOddsConsensus odds without juice (vig removed), from exchange/sharp sources; Base and above
bookOddsConsensus odds across bookmakers (includes juice)
fairSpread / bookSpreadThe line for spread bets
fairOverUnder / bookOverUnderThe line for O/U bets
fairOddsAvailable / bookOddsAvailableWhether each could be computed / is open at at least one book
byBookmakerOdds broken down by individual bookmaker, each with decimal
started / ended / cancelledWhether the bet period has started, ended or been cancelled
scoringSupportedWhether the source can grade this market from results
altLinesAlternate 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=true

Use 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.

Need help?FAQ · Email · Contact