Underdog Fantasy is a daily fantasy product, not a sportsbook, and that changes the shape of the data. Underdog posts projection lines — over/under totals on an individual player's stat — that users combine into entries. It does not post moneylines, spreads, or prices with juice attached. The SportsGameOdds API delivers those projections in structured JSON and returns them next to sportsbook odds for the same player, so comparing an Underdog line against the wider market is one request.
How a DFS line differs from a sportsbook price
This is the part worth understanding before you integrate.
A sportsbook entry carries both a line and a price — the number, and what you're paid for taking it. A DFS projection carries only the line. There is no odds field on an Underdog entry, because a pick'em product doesn't price each side individually.
That single structural fact is what makes DFS +EV analysis possible: when Underdog's line sits away from where the sportsbooks have the same player, the gap is visible directly, without needing to strip vig out of a price first.
Quick Start: Requesting Underdog Lines
Underdog projections arrive inside the standard events response. Filter to Underdog alone with bookmakerID:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&leagueID=NBA&bookmakerID=underdog&oddsAvailable=true&limit=10
To pull Underdog next to sportsbooks for the same players — the setup most DFS tools want:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&leagueID=NBA&bookmakerID=underdog,draftkings,fanduel&oddsAvailable=true&limit=10
To narrow to one prop type across the slate, add oddIDs. This returns player points over/unders:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&leagueID=NBA&bookmakerID=underdog&oddIDs=points-PLAYER_ID-game-ou-over,points-PLAYER_ID-game-ou-under
What an Underdog line looks like
{
"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",
"playerID": "ANTHONY_EDWARDS_1_NBA",
"periodID": "game",
"betTypeID": "ou",
"sideID": "over",
"fairOdds": "-108",
"fairOverUnder": "26.5",
"byBookmaker": {
"underdog": {
"available": true,
"overUnder": "25.5",
"lastUpdatedAt": "2026-01-14T18:42:05.000Z"
},
"draftkings": {
"available": true,
"overUnder": "26.5",
"odds": "-115",
"lastUpdatedAt": "2026-01-14T18:41:59.000Z"
},
"fanduel": {
"available": true,
"overUnder": "26.5",
"odds": "-105",
"lastUpdatedAt": "2026-01-14T18:42:03.000Z"
}
}
}
}
}
Two things to read here. The Underdog entry has an overUnder but no odds field — that's the DFS shape, and code written for sportsbook entries will need to handle its absence rather than assume it. And Underdog's line sits a point below both books, which is the exact condition DFS +EV tools look for. Lines and odds are strings, not numbers, which is what preserves the leading + on plus-money prices.
Use Cases for Underdog Data
DFS & Lineup Tools — The core use. Pull Underdog's projections with sportsbook lines for the same players and surface where the two disagree.
Arbitrage & +EV Tools — A DFS line sitting off the market is a value signal that doesn't require de-vigging a price first. See also positive EV betting.
Player Prop Comparison — Show a player's projection across DFS operators and sportsbooks in one view.
Sports Analytics & Research — DFS projections are a distinct signal from bookmaker lines and behave differently as lineups firm up.
Underdog API Technical Specifications
API Architecture
- REST API — standard HTTP endpoints returning clean JSON
- WebSocket feeds — real-time push updates, no polling required
- Rate limits — scalable plans matched to your usage volume
- Authentication — secure API key access
Data Update Speed
- Line updates — sub-minute refresh on the Pro plan; Rookie and the free Amateur tier refresh on a longer interval. See pricing for the frequency on each tier.
- Live scores — updated in real time during events
Developer Resources
- Interactive documentation — live examples and copy-paste snippets
- SDKs & libraries — JavaScript/TypeScript, Python, Ruby, Go and Java
- Postman collection — pre-built requests ready to run
- Dedicated technical support across paid plans
More daily fantasy coverage:
PrizePicks Odds API · Player Props API · DFS Data API
What is the Underdog Fantasy API?
Does Underdog have an official public API?
Why is there no odds field on an Underdog entry?
How do I compare an Underdog line to sportsbook odds?
Which sports does Underdog coverage include?
How does Underdog compare to PrizePicks in the API?
Is there a free tier?
Ready to get started?
Join thousands of developers building the next generation of sports and betting applications.