Basketball Quarter and Half Odds API
Handicap and totals odds for every half and quarter, not just the full game.
By the HoopsAPI team · Updated
HoopsAPI returns handicap and totals odds for both halves and all four quarters of basketball games, from every bookmaker that prices them, in the same JSON structure as the full-game markets. Most odds APIs stop at the full game; period odds are usually available in the last couple of days before tip-off.
Which periods are covered?
| Period | Covers |
|---|---|
ft | Full game, including overtime |
h1, h2 | First and second half |
q1–q4 | Each quarter |
Every period uses the same handicap and totals markets as the full game: spread, total, team_total_home and team_total_away, each with the same fields:
"q1": {
"betway": {
"spread": { "line": -1.5, "home": 1.90, "away": 1.90 },
"total": { "line": 41.5, "over": 1.87, "under": 1.87 }
}
}How do I get quarter and half odds?
Both GET /v1/games and GET /v1/games/{game_id} key odds by period first, then by bookmaker:
import requests
r = requests.get(
"https://hoopsapi.com/api/v1/games",
params={"competition": "NBA"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
for game in r.json()["games"]:
q1 = game["periods"].get("q1", {})
for bookmaker, markets in q1.items():
print(game["home"], "v", game["away"], bookmaker, markets.get("total"))Period coverage varies by league and bookmaker: the NBA and major European competitions usually have every quarter, smaller leagues often only halves or the full game. The NBA odds page shows live coverage for upcoming games.
Try it with real data
The free plan includes 10 requests a day across every league and market. No credit card.