Sportsbook

Fanatics Odds API

Pull Fanatics Sportsbook prices through the SportsGameOdds API, normalised into the same structure as 85+ other books. Player props and game lines arrive on the same oddID, in one request.

Look at where Fanatics turns up in our own coverage tables and a pattern shows up quickly. It is not in the rows for moneylines and spreads, where almost every book appears and the numbers mostly agree. It is in the prop rows.

That is the case for carrying it, and it is a narrower case than "one more book on the list."

Where Fanatics actually shows up

Across the league pages, Fanatics sits in the player prop rows more consistently than the game line rows:

  • NFL — passing props (passing_yards, passing_touchdowns, passing_completions) and rushing and receiving props (rushing_yards, receiving_yards, receiving_receptions)
  • MLB — batting props (batting_hits, batting_homeRuns, batting_totalBases) and pitching props (pitching_strikeouts)
  • Soccer — card markets, including yellowCards, redCards and combinedCards
  • NHL — the core game lines alongside the other major US books

Game lines and props are not the same problem. A spread on a major NFL game is priced by dozens of books watching each other, and the numbers cluster. A prop on a third receiver is priced with less liquidity and more room for a book's own view, so the spread between the best and worst available number is wider — and which books you happen to carry matters more.

That is the argument for a prop-heavy book specifically. On a spread, the marginal book changes your best price by a cent or two. On a prop, it can change it by a lot more.

Which plan includes Fanatics

Fanatics is available on the Pro plan and above, in the same group as Bet365, Circa, Pinnacle and PrizePicks. Neither the free Amateur tier nor the Rookie plan carries it, so a request filtered to fanatics on those plans returns an empty result rather than an error. Pricing lists the books on each tier.

Worth knowing if you are building prop tools: PrizePicks is gated the same way. A product whose whole premise is comparing prop lines is a Pro-tier product, not a Rookie one.

Requesting Fanatics prices

Filter to Fanatics alone with bookmakerID=fanatics:

curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=fanatics&oddsAvailable=true" \
  -H "x-api-key: YOUR_API_KEY"

For prop comparison you want several books on the same market, which is the same request with a longer list:

curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=fanatics,draftkings,fanduel,prizepicks&oddsAvailable=true" \
  -H "x-api-key: YOUR_API_KEY"

Props come back in the same /v2/events response as the game lines. There is no separate props endpoint to call and reconcile.

What a Fanatics prop looks like

Player props use the player's ID as the statEntityID, so the oddID follows the same {statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID} pattern as everything else:

{
  "eventID": "...",
  "leagueID": "NFL",
  "odds": {
    "passing_yards-JALEN_HURTS_1_NFL-game-ou-over": {
      "oddID": "passing_yards-JALEN_HURTS_1_NFL-game-ou-over",
      "marketName": "Jalen Hurts Passing Yards Over/Under",
      "statID": "passing_yards",
      "statEntityID": "JALEN_HURTS_1_NFL",
      "periodID": "game",
      "betTypeID": "ou",
      "sideID": "over",
      "fairOdds": "-108",
      "fairOverUnder": "224.5",
      "bookOdds": "-112",
      "byBookmaker": {
        "fanatics": { "odds": "-105", "overUnder": "223.5", "available": true },
        "draftkings": { "odds": "-115", "overUnder": "224.5", "available": true }
      }
    }
  }
}

Two things that matter here. Odds and lines are both strings, so -105 arrives as "-105" and "223.5" stays a string rather than becoming a float you have to guard against. And the two books are not on the same number — Fanatics is at 223.5 and DraftKings at 224.5. On props that happens constantly, and handling a line difference rather than only a price difference is most of the work in a prop comparison tool.

fairOdds and fairOverUnder give you the vig-free consensus across every book pricing that market, so you have a reference without building one.

Coverage, honestly

Fanatics does not price every prop, and no single book does. Read byBookmaker on each odd rather than assuming it is there, and treat its absence as normal rather than as an error. The /markets endpoint returns the supported set by league if you would rather check before requesting odds than handle it at runtime.

Prop catalogues also change more than game lines do. Books add and drop prop types between seasons and sometimes within them, so anything you hardcode is a bug waiting for a quiet week.

Coverage is also uneven by sport rather than uniformly deep. Fanatics is strongest on the US prop categories; the soccer attacking props are named to a different set of books again, which the BetOnline Odds API page covers.

Use cases for Fanatics data

Prop comparison is the direct one. Wider spreads between books mean more to find, and the finding only works if the lines as well as the prices line up on a shared oddID. See the odds comparison API.

For positive EV work, props are usually where the edge is, precisely because they are priced with less scrutiny than a marquee spread. A book with deep prop coverage gives your model more markets to disagree with.

Player prop tooling more broadly benefits from carrying books that price the long tail rather than only the headline markets, and DFS-style products can put a sportsbook prop line next to a fantasy projection on the same player and stat. Our provider guide compares what the main prop data sources actually return.

Fanatics API technical specifications

Fanatics comes through the standard /v2/events endpoint, with no separate call, credential or schema.

Billing is per event object rather than per market or per book. A ten-game NFL Sunday is ten objects whether the response carries four books or eighty, and whether it carries four markets per game or four hundred. Props are the clearest case where that matters: a single football game can return hundreds of prop markets and still counts once.

Odds refresh sub-minute on Pro. The API documentation covers authentication, pagination and the full parameter list, and handling odds covers reading byBookmaker in code.

Frequently asked questions

What is the bookmakerID for Fanatics?
fanatics, in lowercase. Pass bookmakerID=fanatics to /v2/events and read the price from byBookmaker.fanatics on each odd. Build against the ID rather than the display name, since the two do not always match across books.
Which plans include Fanatics?
Pro and above. Fanatics sits in the same group as Bet365, Circa, Pinnacle and PrizePicks, none of which are on the free Amateur tier or the Rookie book list. A request filtered to bookmakerID=fanatics on a plan that does not carry it returns an empty result rather than an error.
Do I need a separate request to get Fanatics player props?
No. Props come back in the same /v2/events response as the game lines, keyed by the same oddID pattern with the player's ID as the statEntityID. There is no separate props endpoint to call and reconcile against the event.
Why do two books show different lines on the same prop?
Because props are priced with less liquidity and more room for a book's own view than a marquee spread, so books disagree on the line as well as the price. A prop comparison tool has to handle both: Fanatics at 223.5 and DraftKings at 224.5 on the same market is normal, not an error. Both the odds and the line arrive as strings.
Which props does Fanatics price?
Coverage is strongest on the main US prop categories: NFL passing, rushing and receiving props, MLB batting and pitching props, and soccer card markets. Availability changes between and within seasons, so read byBookmaker on each odd or query the /markets endpoint rather than hardcoding a list.
Does requesting props cost more than requesting game lines?
No. Billing is per event object rather than per market, so one NFL game counts once whether the response returns four markets or four hundred. Adding Fanatics and its prop coverage to a request you were already making costs response size and nothing else.

Compare prop lines across books

Fanatics, PrizePicks and every other book we carry on the same oddID, in one request.

1xBet
Sportsbook
888 Sport
Sportsbook
Bally Bet
Sportsbook
Barstool
Sportsbook
Bet365
Sportsbook
BetAnySports
Sportsbook
BetClic
Sportsbook
Betfair Sportsbook
Sportsbook
BetMGM
Sportsbook
BetOnline
Sportsbook
BetPARX
Sportsbook
BetRivers
Sportsbook
Betr Sportsbook
Sportsbook
Betsson
Sportsbook
BetUS
Sportsbook
Bet Victor
Sportsbook
Betway
Sportsbook
BlueBet
Sportsbook
Bookmaker.eu
Sportsbook
Bovada
Sportsbook
BoyleSports
Sportsbook
Caesars
Sportsbook
Casumo
Sportsbook
Circa
Sportsbook
Coolbet
Sportsbook
Coral
Sportsbook
DraftKings
Sportsbook
ESPN BET
Sportsbook
Everygame
Sportsbook
FanDuel
Sportsbook
Fliff
Sportsbook
FOX Bet
Sportsbook
FourWinds
Sportsbook
Grosvenor
Sportsbook
GTbets
Sportsbook
Ladbrokes
Sportsbook
LeoVegas
Sportsbook
LiveScore Bet
Sportsbook
LowVig
Sportsbook
Marathon Bet
Sportsbook
Mr Green
Sportsbook
MyBookie
Sportsbook
Neds
Sportsbook
NordicBet
Sportsbook
Paddy Power
Sportsbook
Pinnacle
Sportsbook
PlayUp
Sportsbook
PointsBet
Sportsbook
Prophet Exchange
Sportsbook
SI Sportsbook
Sportsbook
Sky Bet
Sportsbook
SportsBet
Sportsbook
SugarHouse
Sportsbook
SportsBetting.ag
Sportsbook
Superbook
Sportsbook
Suprabets
Sportsbook
TAB
Sportsbook
TABtouch
Sportsbook
Tipico
Sportsbook
TopSport
Sportsbook
Unibet
Sportsbook
Virgin Bet
Sportsbook
William Hill
Sportsbook
Wind Creek (Betfred PA)
Sportsbook
WynnBet
Sportsbook
Betfred
Sportsbook
Betsafe
Sportsbook
BoomBet
Sportsbook
NorthStar Bets
Sportsbook
Stake
Sportsbook
theScore Bet
Sportsbook
Bodog
Sportsbook
Prime Sports
Sportsbook