ESPN BET reaches people who arrive through ESPN rather than through a betting app, which makes it a book worth showing in any consumer-facing product — users recognise the name before they recognise the price.
Its market coverage follows the same logic. It concentrates on what a mainstream audience actually bets rather than spreading across every stat split available.
Where ESPN BET shows up
Full game lines in every major league we cover — NFL, NBA, MLB, NHL and the Premier League — plus the headline prop category for each sport:
- NFL — passing props, rushing and receiving props, and touchdown props
- MLB — batting props, pitching props and home run props
- NBA — scoring props and team milestones
- NHL — scoring props and power play props
- Premier League — goal and scorer props
The NFL coverage is worth calling out. ESPN BET appears in the passing props and rushing and receiving props categories, both of which Bet365, the book with the most NBA markets we carry, is absent from. On the football props most people actually bet, it is in the room.
Baseball is similar. On MLB pitching props it sits alongside Pinnacle, Fanatics and the DFS operators rather than only the mainstream names.
Coverage centres on these headline categories rather than extending into every deeper stat split, so read byBookmaker on each odd rather than assuming parity with the largest books. The /markets endpoint returns the supported set by league from live data, which is the authoritative version.
Which plan includes ESPN BET
ESPN BET is on the free Amateur tier, alongside DraftKings, FanDuel, BetMGM, Caesars, 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 ESPN BET prices
Filter to ESPN BET alone with bookmakerID=espnbet:
curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=espnbet&oddsAvailable=true" \
-H "x-api-key: YOUR_API_KEY"
More usefully, request the standard US set in one call:
curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=espnbet,draftkings,fanduel,betmgm&oddsAvailable=true" \
-H "x-api-key: YOUR_API_KEY"
All four of those books are on the free tier, so that request runs on a free key.
What an ESPN BET price 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": "NFL",
"odds": {
"passing_yards-PLAYER_ID-game-ou-over": {
"oddID": "passing_yards-PLAYER_ID-game-ou-over",
"opposingOddID": "passing_yards-PLAYER_ID-game-ou-under",
"marketName": "Passing Yards Over/Under",
"statID": "passing_yards",
"statEntityID": "PLAYER_ID",
"periodID": "game",
"betTypeID": "ou",
"sideID": "over",
"fairOdds": "-108",
"fairOverUnder": "248.5",
"bookOdds": "-112",
"byBookmaker": {
"espnbet": { "odds": "-110", "overUnder": "249.5", "available": true },
"draftkings": { "odds": "-115", "overUnder": "248.5", "available": true }
}
}
}
}
The two books are on different numbers — 249.5 against 248.5 — not just different prices. On props that is normal rather than an error, and handling the line difference as well as the price difference is most of the work in a prop comparison tool.
Odds and lines are both strings, so -110 arrives as "-110" and "249.5" stays a string rather than becoming a float you have to guard against. fairOdds is the vig-free consensus across every book pricing that market, which gives you a benchmark without computing one.
Coverage, honestly
ESPN BET 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 between and within seasons, so anything you hardcode is a bug waiting for a quiet week. 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 ESPN BET data
Odds comparison is the direct one, and brand recognition does real work here — a grid showing ESPN BET next to DraftKings, FanDuel and Caesars reads as complete to a mainstream user.
For sportsbook and fantasy apps, users pick a book by name before they pick one by price, which makes a recognisable brand worth carrying independently of where its number lands.
For player prop tools, ESPN BET adds a mainstream opinion on the football and baseball prop categories it covers.
For arbitrage and positive EV work, measure it against the vig-free fairOdds consensus rather than against any single rival book.
ESPN BET API technical specifications
ESPN BET 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, so a ten-game slate is ten objects whether you ask for ESPN BET alone or ESPN BET alongside eighty others. Adding books to a request you were already making costs response size and nothing else.
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 ESPN BET?
Which plans include ESPN BET?
Which markets does ESPN BET cover?
Is ESPN BET useful for NFL player props?
Why does ESPN BET show a different line to other books?
Does ESPN BET have a public odds API?
Are scores and results included?
Show the book users recognise
ESPN BET and every other book we carry on the same oddID, in one request.