Grouping Odds Together
We return a grouping_key on each Odd field that can be used to group bets together within the same market. This is useful for cases where a book has main (most balanced) and alternate lines.
Example
If you have the following bet names: ["Home -1", "Away +1", "Home +1", "Away -1"], you want to group these like so [("Home -1", "Away +1"), ("Home +1", "Away -1"). You can use the grouping_key to make these groups.
Choosing an ID
The ID that we return for each odd object is not guaranteed to be of any specific format and is subject to change. Note that using this id will also not allow you to track line changes or historical movements because of the availability of alternate lines.
All Lines:
If you store and keep track of multiple sportsbooks for the same game / market combination, we would recommend constructing your own id using the following format:
<fixture_id>||<sportsbook>||<market>||<name>||<player_id>.
If you store and keep track of a single sportsbook for the same game / market combination, we would recommend constructing your own id using the following format:
<fixture_id>||<market>||<name>||<player_id>.
Main Lines Only:
If you want to track line changes for the main (is_main=True) lines of a market, we would recommend constructing your own id using the following format: <fixture_id>||<sportsbook>||<market>||<selection>||<selection_line>||<player_id>.
Some examples below:
- Moneyline:
39506-40644-2023-08-13-09||DraftKings||Moneyline||Boston Red Sox||null||null - Run Line:
39506-40644-2023-08-13-09||Caesars||Boston Red Sox||null||null - Total Runs:
39506-40644-2023-08-13-09||Caesars||||over||null - Player Strikeouts:
39506-40644-2023-08-13-09||DraftKings||Player Strikeouts||Eduardo Rodriguez||over||AHF3454FEF - Team Total:
39506-40644-2023-08-13-09||BetMGM||Team Total||Boston Red Sox||over||null
Best Practice: Sportsbook Redundancy
Use a basket of books — not a single source — as the foundation of your data.
Sportsbooks experience their own downtime: site issues, maintenance windows, and outages happen across every major operator. Building your odds logic around any single source creates a point of failure that is outside your control.
What to do instead
The /fixtures/odds endpoint accepts multiple sportsbooks in a single request. Use this to build redundancy into your integration from day one.
Why this matters
If you're automating decisions off live odds, a missing line is a live risk exposure. A multi-book setup ensures individual source failures degrade gracefully rather than taking your system offline.