NBA odds API
Every NBA game from 46 books in one JSON shape, with alternate lines, halves, quarters, team totals, player props and in-play.
Ask the odds route for nba and you get each game with every book's price side by side. Each game has one stable id, so you never match team names across books, and prices come as American or decimal odds.
You also get the full spread and total ladders, the first half, second half and each quarter, and team totals. Player props cover points, rebounds, assists, threes and combos, and live odds are included from the Growth plan.
curl -H "X-API-Key: $ODDSLINK_KEY" \
"https://oddslink.app/v1/sports/nba/odds?markets=h2h,spreads,totals"import os, requests
r = requests.get(
"https://oddslink.app/v1/sports/nba/odds",
params={"markets": "h2h,spreads,totals"},
headers={"X-API-Key": os.environ["ODDSLINK_KEY"]},
)
r.raise_for_status()
for game in r.json():
print(game["away_team"], "at", game["home_team"])[
{
"id": "nba:bostonceltics-detroitpistons:2026-10-20",
"sport_key": "nba",
"sport_title": "NBA",
"commence_time": "2026-10-20T19:00:00.000Z",
"is_live": false,
"status": "scheduled",
"home_team": "Detroit Pistons",
"away_team": "Boston Celtics",
"bookmakers": [
{
"key": "pinnacle",
"title": "Pinnacle",
"last_update": "2026-10-11T05:26:28.215Z",
"markets": [
{
"key": "h2h",
"last_update": "2026-10-11T05:26:28.215Z",
"outcomes": [
{
"name": "Boston Celtics",
"price": 107
},
{
"name": "Detroit Pistons",
"price": -120
}
]
},
{
"key": "spreads",
"last_update": "2026-10-11T05:26:28.215Z",
"outcomes": [
{
"name": "Boston Celtics",
"price": 115,
"point": -1,
"size": {
"kind": "posted_limit",
"amount": 3000
}
},
{
"name": "Detroit Pistons",
"price": -132,
"point": 1,
"size": {
"kind": "posted_limit",
"amount": 3000
}
}
]
},
{
"key": "totals",
"last_update": "2026-10-11T05:26:28.215Z",
"outcomes": [
{
"name": "Over",
"price": -138,
"point": 218,
"size": {
"kind": "posted_limit",
"amount": 1125
}
},
{
"name": "Under",
"price": 118,
"point": 218,
"size": {
"kind": "posted_limit",
"amount": 1125
}
}
]
}
]
},
{
"key": "draftkings",
"title": "Draftkings",
"last_update": "2026-10-11T05:26:30.773Z",
"markets": [
{
"key": "h2h",
"last_update": "2026-10-11T05:26:30.773Z",
"outcomes": [
{
"name": "Boston Celtics",
"price": 105
},
{
"name": "Detroit Pistons",
"price": -125
}
]
},
{
"key": "spreads",
"last_update": "2026-10-11T05:26:30.773Z",
"outcomes": [
{
"name": "Boston Celtics",
"price": -105,
"point": 1.5
},
{
"name": "Detroit Pistons",
"price": -116,
"point": -1.5
}
]
},
{
"key": "totals",
"last_update": "2026-10-11T05:26:30.773Z",
"outcomes": [
{
"name": "Over",
"price": -111,
"point": 220.5
},
{
"name": "Under",
"price": -111,
"point": 220.5
}
]
}
]
}
],
"unmatched_bookmakers": [
"4casters",
"betfair",
"circa",
"kalshi",
"matchbook",
"polymarket",
"prophetx",
"sbobet"
]
}
]A real NBA response from 11 Oct 2026, trimmed.
More than the main line
Moneyline, spread, total
The main NBA lines from 46 books, in the same fields for every book.
Alternate lines
Ask for spreads or totals and get the whole ladder, main line first.
Halves and quarters
First half, second half and each quarter, for moneyline, spread and total.
Team totals
Each team's own over/under, with its alternate lines.
Player props
Points, rebounds, assists, threes, combos, first basket, double-doubles and more, on Growth and up.
In-play
Yes. Live NBA prices while the game is on, from the Growth plan and up.
Markets
| Market | Periods |
|---|---|
| Moneyline | Full game, halves, quarters |
| Spread, with alternate lines | Full game, halves, quarters |
| Total, with alternate lines | Full game, halves, quarters |
| Team totals, with alternate lines | Full game, first half |
| Player props: points, rebounds, assists, threes, combos | None |
Books for NBA
Every book on every plan
| Plan | Per month | Requests a month | In-play and props | History |
|---|---|---|---|---|
| Free | $0 | 1,000 | No | No |
| Starter | $24 | 20,000 | No | No |
| Growth | $49 | 100,000 | Yes | No |
| Scale | $99 | 500,000 | Yes | 2 years |
| Business | $199 | 5,000,000 | Yes | All of it |
Questions
What is the NBA sport key?
nba. Our sport keys are short and lowercase, for example nba, wnba and mlb.
Which books carry NBA?
All 46 books. A book shows up on a game once it prices it. Use the bookmakers filter to choose some, or leave it off to get every book.
Can I get NBA quarter and half lines?
Yes. Add periods=1h,2h,1q,2q,3q,4q to the request. Each period market comes back with its own period field.
Are NBA player props included?
Yes, on Growth and up. Props have their own route and you name the markets, such as player_points or player_rebounds.
Is in-play included?
Yes. Live NBA prices are on the Growth plan and up, and so are player props.
Can I get NBA opening and closing lines?
Yes, for finished games. Openers and closing prices for the full-game moneyline, spread and total are on Scale (the last 2 years) and Business (everything recorded).