Player Props API
Real-time player prop odds for NFL, NBA, MLB, NHL, UFC, college sports, soccer and more, sourced from 85+ sportsbooks. One clean REST API, with scores and results included on every plan.
What you get
- 85+ sportsbooks compared side by side on every prop, including alternate lines.
- Sub-minute refresh on the Pro plan, so your lines never go stale before tip-off. Free and Rookie plans refresh on a longer interval — see pricing for the update frequency on each tier.
- NFL, NBA, MLB, NHL, UFC, college sports and soccer player markets including passing, rushing, receiving, points, rebounds, assists, goalscorers, and more.
- Scores and results included on every plan, so you can settle props without a second data source.
- One REST endpoint returns a game's full odds tree; player props are filtered by a single field (statEntityID).
How to get player props from the API
Player props come back from the same /v2/events endpoint as game lines — there is no separate props endpoint to integrate. Request a league and the response includes every market for those games, props included:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&leagueID=NBA&oddsAvailable=true&limit=10
To pull one prop type instead of the whole tree, filter with oddIDs. This returns passing yard over/unders for every NFL player on the slate:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&leagueID=NFL&oddsAvailable=true&oddIDs=passing_yards-PLAYER_ID-game-ou-over,passing_yards-PLAYER_ID-game-ou-under
The full list of prop types is in the stats reference, and markets & coverage documents how markets are structured.
What a player prop looks like in the API
Every event returns an odds object. Team markets (spreads, totals) use statEntityID values of all, home, or away. Player props use the player's ID instead — that one field is how you tell them apart. Each prop then carries a byBookmaker block with every book's line and price.
Here's a trimmed response for a single NBA points prop:
{
"eventID": "abc123",
"leagueID": "NBA",
"teams": {
"away": { "names": { "long": "Los Angeles Lakers" } },
"home": { "names": { "long": "Denver Nuggets" } }
},
"odds": {
"points-LEBRON_JAMES_1_NBA-game-ou-over": {
"oddID": "points-LEBRON_JAMES_1_NBA-game-ou-over",
"opposingOddID": "points-LEBRON_JAMES_1_NBA-game-ou-under",
"marketName": "LeBron James Points Over/Under",
"statID": "points",
"statEntityID": "LEBRON_JAMES_1_NBA",
"playerID": "LEBRON_JAMES_1_NBA",
"periodID": "game",
"betTypeID": "ou",
"sideID": "over",
"fairOdds": "-108",
"fairOverUnder": "25.5",
"bookOdds": "-110",
"bookOverUnder": "25.5",
"byBookmaker": {
"draftkings": {
"available": true,
"overUnder": "25.5",
"odds": "-110",
"lastUpdatedAt": "2026-01-14T18:42:07.000Z"
},
"fanduel": {
"available": true,
"overUnder": "25.5",
"odds": "-108",
"lastUpdatedAt": "2026-01-14T18:42:11.000Z"
},
"betmgm": {
"available": true,
"overUnder": "24.5",
"odds": "-105",
"lastUpdatedAt": "2026-01-14T18:41:55.000Z"
}
}
}
}
}
Filtering for player props is one check: keep any odd whose statEntityID is not all, home, or away.
Three things to note when you parse this. Odds and lines come back as strings, not numbers, which is what keeps the leading + on plus-money prices intact — cast them yourself if you need arithmetic. fairOdds is the vig-free consensus across every book while bookOdds is the consensus with the juice left in, so you get a benchmark without computing one. And each book carries its own overUnder as well as its own price: BetMGM is on 24.5 above while the other two are on 25.5, so comparing prices without comparing lines will give you a false edge.
For a worked end-to-end example, see Build a Player Props Analyzer with Python, which pulls every prop for a game, builds a consensus line, and flags books that are off it.
Coverage by sport
Football — NFL & College (NCAAF)
Passing: yards, touchdowns, attempts, completions, interceptions, longest completion, passing + rushing yards. Rushing: yards, attempts, touchdowns, longest rush. Receiving: yards, receptions, touchdowns, longest reception, rushing + receiving yards. Touchdowns: anytime, first, last, over/under. Defense: solo tackles, assisted tackles, combined tackles, sacks, interceptions. Kicking: field goals made, extra points made, kicking total points, longest field goal. Plus turnovers, fantasy score, and player score — with full-game, half, and quarter variants where available.
College football (NCAAF) coverage mirrors these same passing, rushing, receiving, defensive, and kicking markets across major conference matchups.
Full market list: NFL odds API and NCAAF odds API.
Basketball — NBA & College (NCAAB)
Points, rebounds, assists; points + rebounds, points + assists, rebounds + assists, points + rebounds + assists (PRA); three-pointers made/attempted, field goals made/attempted, free throws made/attempted, two-pointers made/attempted; steals, blocks, blocks + steals, turnovers, fouls; double-double, triple-double; fantasy score, first basket. Full-game plus 1st/2nd/3rd/4th quarter and half variants where available.
College basketball (NCAAB) coverage mirrors these same scoring, rebounding, assist, and defensive markets.
Full market list: NBA odds API and NCAAB odds API.
Baseball (MLB)
Batting: hits, total bases, home runs, RBIs, runs, singles, doubles, triples, walks, stolen bases, strikeouts, hits + runs + RBIs, first home run, fantasy score. Pitching: strikeouts, outs recorded, earned runs, hits allowed, walks, pitches thrown, pitching win. Plus full-game, first-half, F3/F5/F7, and inning-by-inning team and game markets.
Full market list: MLB odds API.
Hockey (NHL)
Goals, assists, points (goals + assists); shots on goal, shots, blocks, hits, faceoffs won; power-play points, plus/minus, minutes played, fantasy score; goalie saves and goals against; first/last goalscorer. Full-game plus 1st/2nd/3rd-period variants where available.
Full market list: NHL odds API.
Soccer
Goals (anytime, first, last scorer); assists, goals + assists; shots, shots on goal, shots assisted; tackles, clearances, fouls committed, fouls drawn, dribbles attempted, passes attempted; goalkeeper saves and goals against; yellow cards, red cards, combined cards. Full-match plus 1st/2nd half variants where available.
Leagues covered: Premier League (EPL), La Liga, Bundesliga, Serie A, Ligue 1, UEFA Champions League, UEFA Europa League, MLS, and Liga MX. See the full league list for all 67+ leagues.
Tennis — ATP & WTA
Serving aces and break points won, available as match totals and as per-player lines, plus fantasy score for DFS formats.
Tennis addresses per-player markets differently from the team sports above, and it's worth knowing before you integrate. Each player occupies a participant slot on the event rather than a roster position, so there is no player ID to filter on — request serving_aces-home-game-ou-over for one player's ace total, or serving_aces-all-game-ou-over for the combined match total. Set-level variants use the 1s through 5s period codes.
Full market list: ATP odds API and WTA odds API, or the tennis odds API for both tours in one request.
Try it Out
See live odds for an upcoming game
https://api.sportsgameodds.com/v2/eventsRequest Parameters
leagueID=NFLOnly NBA games
oddsAvailable=trueOnly games with available odds
includeAltLines=falseDon't return alt-lines
limit=1Number of games to return
Why developers choose SportsGameOdds for player prop odds
- Real, checkable numbers: 85+ books, 875+ markets, alternate lines included.
- Integrate in hours. One REST call returns the whole odds tree; no per-book stitching.
- Pay per event, not per market. A game with hundreds of props counts once against your quota.
- Battle-tested data. Running in production across multiple platforms.
- A free tier to start. Test the full shape of the data before you commit, then trial the Rookie or Pro plan for 7 days.
If you are still weighing providers, our player prop odds API provider guide compares the main options on prop depth, market coverage and pricing model.
Building something specific with props? See how teams use the API for DFS and lineup tools, parlay builders, and positive EV betting.
Player Props API Pricing
Start free and scale as you grow. Player props are included on every plan, including the free tier.
What is a player props API?
Which sports and leagues have player props in this API?
How often do player prop odds update?
How many sportsbooks does the API cover?
Is there a free player props API?
When do player props become available before a game?
How do I tell player props apart from team bets in the response?
Can I request a single player or a single prop type?
Does the API include scores and results?
Get Started
Ready to integrate player prop odds into your platform?