Skip to main content
Version: 2.0.0

Game Odds API Documentation

Description

This endpoint returns all the available betting odds for a specific game, team, player, sportsbook or market. Including American odds, decimal & fractional.

REQUIREMENT

You'll need a license key to use OpticOdds' API. You can get one by contacting us at www.opticodds.com.

API Endpoint

https://api.opticodds.com/api/v2/game-odds

Parameters

key (required)

Your OpticOdds API license key.

NOTE

You can only pass in five or less game_id, player_id, or team_id per request.

NOTE

A game_id, player_id, or team_id is required per request.

A sportsbook is required per request.

game_id

NOTE

You can pass in multiple of this parameter.

The game_id you want to receive odds for (e.g. 13602-17233-23-06)

team_id

NOTE

You can pass in multiple of this parameter.

The team_id you want to receive odds for (e.g. EDF03AD3C346)

player_id

NOTE

You can pass in multiple of this parameter.

The player_id you want to receive odds for (e.g. E61E5ECAC811)

The OpticOdds game ID you want to receive odds for (e.g. 39341-78014-2022-01-17)

sportsbook (required)

NOTE

You can pass in multiple of this parameter.

The sportsbook(s) you want to receive odds for. You must pass at least one sportsbook. We support the following:

  • 10bet
  • 1XBet
  • 22bet
  • 5Dimes
  • 888sport
  • Action 24/7
  • Bally Bet
  • Barstool
  • BC.GAME
  • bet365
  • BET99
  • Bet America
  • Betano
  • BetAnySports
  • Betcris
  • BetDEX
  • BetDSI
  • Betfair
  • Betfair Exchange
  • Betfred
  • betJACK
  • Betly
  • BetMGM
  • Betnacional
  • BetNow
  • BetOnline
  • BetonUSA
  • BetOpenly
  • betPARX
  • Betplay
  • betr
  • Bet Right
  • BetRivers
  • Betr Picks
  • Betsafe
  • Betsson
  • Betstar
  • BetUK
  • BetUS
  • BetVictor
  • Betway
  • betwhale
  • BetWildwood
  • BlueBet
  • Bodog
  • BookMaker
  • Bookmaker
  • BoomBet
  • Boom Fantasy
  • Borgata
  • Bovada
  • bwin
  • Caesars
  • Casumo
  • Chalkboard
  • Circa Sports
  • Circa Vegas
  • ClutchBet
  • Codere
  • ComeOn!
  • Coolbet
  • Coral
  • Crab Sports
  • Dabble
  • Dafabet
  • DAZN Bet
  • Desert Diamond
  • DraftKings
  • DRF
  • Elite Sportsbook
  • ESPN BET
  • Everygame
  • Fanatics
  • FanDuel
  • FireKeepers
  • Fliff
  • Four Winds
  • FOX Bet
  • Galera.bet
  • GambetDC
  • GGBet
  • Golden Nugget
  • Hard Rock
  • Heritage
  • HotStreak
  • Intertops
  • Jazz Sports
  • Jock MKT
  • JuiceBet
  • Kutt
  • Ladbrokes
  • LeoVegas
  • Looselines
  • LowVig
  • MaximBet
  • Mise-o-jeu
  • Mojo Fantasy
  • Monkey Knife Fight
  • Mr Green
  • MyBookie
  • Neds
  • Nitrogen
  • No House Advantage
  • NorthStar Bets
  • Novig
  • OddsJam Algo Odds
  • Paddy Power
  • Palmerbet
  • ParlayPlay
  • partypoker
  • Picklebet
  • Pinnacle
  • Pinny
  • Play Alberta
  • Play Eagle
  • Play Maverick
  • PlayNow
  • PlayUp
  • PointsBet
  • PowerPlay
  • PrizePicks
  • Proline
  • Prophet Exchange
  • Prophet X
  • Rebet
  • Resorts
  • Resorts World Bet
  • Rivalry
  • Royal Panda
  • SaharaBets
  • SBK
  • SI
  • Sky Bet
  • Sleeper
  • Smarkets
  • Spin Sports
  • Sportingbet
  • SportsBattle
  • Sportsbet
  • Sportsbetting.ag
  • SportsBetting.com
  • Sports Interaction
  • SportsQuack
  • Sporttrade
  • Stake
  • STN Sports
  • SugarHouse
  • Superbet
  • SuperBook
  • SuperDraft
  • Suprabets
  • SX Bet
  • TAB
  • TABtouch
  • theScore
  • Thrillzz
  • ThriveFantasy
  • Tipico
  • TonyBet
  • TwinSpires
  • Underdog Fantasy
  • Underdog Sportsbook
  • Unibet
  • Vivid Picks
  • Westgate
  • William Hill
  • Wind Creek
  • WynnBET
  • Xbet
  • YouWager

To pass multiple sportsbooks, you pass it like this: &sportsbook=FanDuel&sportsbook=DraftKings

market_name

NOTE

You can pass in multiple of this parameter.

The market you want to receive odds for (e.g. Moneyline)

is_main

Flag to filter for odds for main lines (supports values true, yes, t, 1). This parameter indicates whether a line is the "main" or "given" line for a market. For example, the +/- 6 Point Spread and the Over/Under 46.5 Total Points lines are the "main" lines for the DraftKings game below:

odds_format

The format of the odd price. Options are AMERICAN|PROBABILITY|DECIMAL. We default to american prices.

Please contact us for access to deep link urls.

This will cause deep_link_url to be returned as:

deep_link_url: {"mobile": "...", "desktop": "..."}

include_team_ids

Whether or not to include the team_id field on the odds returned, if there is no matching team id, this will default to null.

include_grouping_keys

This is an optional field, and if it is set to true, it will add a grouping_key field to each odd that you can use to group odds across bet points. This is useful for cases when you have a spread market with these bet names: ["Home -1", "Away +1", "Home +1", "Away -1"], it is not straightforward how to know which home/away pair makeup the same market. The grouping_key will be unique for a given market and should faciliate this.

Example Response

{
"data": [
{
"id": "39506-40644-2023-08-13-09",
"start_date": "2023-08-13T12:05:00-04:00",
"home_team": "Boston Red Sox",
"away_team": "Detroit Tigers",
"is_live": false,
"is_popular": true,
"tournament": null,
"status": "unplayed",
"sport": "baseball",
"league": "MLB",
"odds": [
{
"id": "39506-40644-2023-08-13-09:draftkings:player_strikeouts:eduardo_rodriguez_over_5_5",
"sports_book_name": "DraftKings",
"name": "Eduardo Rodriguez Over 5.5",
"price": -135,
"timestamp": 1691932813.2485504,
"bet_points": 5.5,
"is_main": true,
"is_live": false,
"market_name": "Player Strikeouts",
"market": "player_strikeouts",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": "1703DC89B0A0",
"selection": "Eduardo Rodriguez",
"normalized_selection": "eduardo_rodriguez",
"selection_line": "over",
"selection_points": 5.5
},
{
"id": "39506-40644-2023-08-13-09:draftkings:run_line:boston_red_sox_+1_5",
"sports_book_name": "DraftKings",
"name": "Boston Red Sox +1.5",
"price": -215,
"timestamp": 1691906920.9585743,
"bet_points": 1.5,
"is_main": false,
"is_live": false,
"market_name": "Run Line",
"market": "run_line",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": null,
"selection": "Boston Red Sox",
"normalized_selection": "boston_red_sox",
"selection_line": null,
"selection_points": 1.5
},
{
"id": "39506-40644-2023-08-13-09:draftkings:run_line:boston_red_sox_-1_5",
"sports_book_name": "DraftKings",
"name": "Boston Red Sox -1.5",
"price": 154,
"timestamp": 1691899249.0454822,
"bet_points": -1.5,
"is_main": true,
"is_live": false,
"market_name": "Run Line",
"market": "run_line",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": null,
"selection": "Boston Red Sox",
"normalized_selection": "boston_red_sox",
"selection_line": null,
"selection_points": -1.5
},
{
"id": "757CD7617965",
"sports_book_name": "Caesars",
"name": "Boston Red Sox",
"price": -130,
"timestamp": 1691929868.4992077,
"bet_points": null,
"is_main": true,
"is_live": false,
"market_name": "Moneyline",
"market": "moneyline",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": null,
"selection": "Boston Red Sox",
"normalized_selection": "boston_red_sox",
"selection_line": null,
"selection_points": null
},
{
"id": "470BBEE6141F",
"sports_book_name": "Caesars",
"name": "Over 9.5",
"price": 100,
"timestamp": 1691932202.0163093,
"bet_points": 9.5,
"is_main": true,
"is_live": false,
"market_name": "Total Runs",
"market": "total_runs",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": null,
"selection": "",
"normalized_selection": "",
"selection_line": "over",
"selection_points": 9.5
},
{
"id": "39506-40644-2023-08-13-09:fanduel:team_total:boston_red_sox_over_4_5",
"sports_book_name": "FanDuel",
"name": "Boston Red Sox Over 4.5",
"price": -128,
"timestamp": 1691932509.6268106,
"bet_points": 4.5,
"is_main": true,
"is_live": false,
"market_name": "Team Total",
"market": "team_total",
"home_rotation_number": null,
"away_rotation_number": null,
"deep_link_url": null,
"player_id": null,
"selection": "Boston Red Sox",
"normalized_selection": "boston_red_sox",
"selection_line": "over",
"selection_points": 4.5
},
...
]
}
]
}

Notes

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: <game_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: <game_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: <game_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:Fanduel:Team Total:Boston Red Sox:over:null