FanDuel is one of the two prices almost every US-facing product has to show. Its real strength is ice hockey: it carries more NHL markets than any other book we cover, and it spans 33 leagues, second only to Pinnacle for breadth. On basketball it is strong but not first — Bet365 prices noticeably more NBA markets.
Its coverage is sport-shaped rather than uniform, though, and that is the part worth knowing before you build against it.
Strong on basketball, thinner on baseball
Baseball is where FanDuel gives most ground. It is absent from several MLB categories we list — pitching props (strikeouts, earned runs, outs recorded), the individual inning markets, and team and game specials. Bet365 and Pinnacle appear in all three, with DraftKings and BetMGM covering the pitching props and the inning markets.
On soccer it is missing from two Premier League categories: card props and passing and defensive props.
None of that makes it a weak book. It means that if your product is baseball-first, treating FanDuel and DraftKings as interchangeable will leave holes in exactly the markets a baseball product cares about. On basketball the same assumption is safe.
The /markets endpoint returns the supported set by league from live data, which is the version to build against rather than any table.
Which plan includes FanDuel
FanDuel is on the free Amateur tier, alongside DraftKings, BetMGM, Caesars, ESPN BET, Bovada, Unibet, PointsBet and William Hill. The free tier limits the league list, the request rate and the refresh interval rather than the book's markets. Pricing has the detail.
Requesting FanDuel prices
Filter to FanDuel alone with bookmakerID=fanduel:
curl "https://api.sportsgameodds.com/v2/events?leagueID=NBA&bookmakerID=fanduel&oddsAvailable=true" \
-H "x-api-key: YOUR_API_KEY"
More usefully, request it next to the books you are comparing it against:
curl "https://api.sportsgameodds.com/v2/events?leagueID=NBA&bookmakerID=fanduel,draftkings,betmgm,pinnacle&oddsAvailable=true" \
-H "x-api-key: YOUR_API_KEY"
Player props come back in the same response as the game lines. There is no separate props endpoint to call and reconcile.
What a FanDuel prop looks like
Player props use the player's ID as the statEntityID, following the same {statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID} pattern as every other market:
{
"eventID": "...",
"leagueID": "NBA",
"odds": {
"points-ANTHONY_EDWARDS_1_NBA-game-ou-over": {
"oddID": "points-ANTHONY_EDWARDS_1_NBA-game-ou-over",
"opposingOddID": "points-ANTHONY_EDWARDS_1_NBA-game-ou-under",
"marketName": "Anthony Edwards Points Over/Under",
"statID": "points",
"statEntityID": "ANTHONY_EDWARDS_1_NBA",
"periodID": "game",
"betTypeID": "ou",
"sideID": "over",
"fairOdds": "-108",
"fairOverUnder": "26.5",
"bookOdds": "-112",
"byBookmaker": {
"fanduel": { "odds": "-105", "overUnder": "27.5", "available": true },
"draftkings": { "odds": "-115", "overUnder": "26.5", "available": true }
}
}
}
}
Look at the two overUnder values before the two prices. FanDuel is a full point higher than DraftKings on the same player, in the same game. Comparing prices without comparing lines is the single most common mistake in building a consensus, and on props it happens constantly.
Odds and lines are both strings, so -105 arrives as "-105" and "27.5" stays a string rather than becoming a float you have to guard against.
Coverage, honestly
FanDuel does not price every market, 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.
Prop catalogues change more than game lines do — books add and drop prop types between seasons and sometimes within them. Query /markets if you would rather check up front than handle it at runtime. Every book we carry, and the plan each one is on, is listed on the bookmakers index.
Use cases for FanDuel data
Odds comparison is the direct one — FanDuel and DraftKings are the two prices US users expect to see side by side.
For player prop tools, FanDuel's basketball depth makes it a strong anchor, especially against the DFS operators. Our provider guide compares what the main prop data sources actually return.
For arbitrage and positive EV work, measure FanDuel against the vig-free fairOdds consensus rather than against any single rival book.
For DFS and lineup tools, you can put a FanDuel prop line next to a PrizePicks or Underdog number on the same player and stat.
FanDuel API technical specifications
FanDuel comes through the standard /v2/events endpoint, with no separate call, credential or schema for any individual book.
Billing is per event object rather than per market or per book. A ten-game slate 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 game can return hundreds of prop markets and still counts once.
Odds refresh sub-minute on Pro, with a longer interval on Rookie and the free Amateur tier. Scores and settlement data ship alongside the odds, so there is no separate results integration — see bet tracking and settlement. The API documentation covers authentication, pagination and the full parameter list, handling odds covers reading byBookmaker in code, and there are SDKs for TypeScript, Python, Ruby, Go and Java.
Frequently asked questions
What is the bookmakerID for FanDuel?
Which plans include FanDuel?
Which markets does FanDuel cover?
Can I treat FanDuel and DraftKings as interchangeable?
Why does FanDuel show a different line to other books?
Do I need a separate request to get FanDuel player props?
Does FanDuel have a public odds API?
Compare lines, not just prices
FanDuel and every other book we carry on the same oddID, in one request.