Professional-grade NBA analytics built for developers, quantitative bettors, and model builders. Referee ATS splits, pace profiles, travel burden, timezone lag, player streaks, and more. 3+ seasons of history. Updated daily at 10am ET.
X-RapidAPI-Key header. Subscribe to any plan on RapidAPI to receive your key.?season=2024 for historical data. Historical access requires Ultra tier.team_id parameters use Basketball Reference abbreviations. See the full list below. Example: DET, LAL, BOS.team_id parameters use Basketball Reference abbreviations.team_id for a single team or leave blank to retrieve the full league.Quickly assess how a team performs at home vs on the road before evaluating a spread. A team with a strong home record but a losing away record is a very different bet depending on location.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Optional. |
| season | number | 2026 | Season year. Defaults to current. |
When a high-pace team plays a slow defensive team, the total line often doesn't fully account for pace suppression. Pull both teams' pace profiles, calculate the mismatch, and compare against the posted total.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific game date. |
An away team playing their second game in two nights while the home team has had three days off is a significant structural disadvantage. Systematically identify those spots across the full slate rather than manually checking schedules.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific game date. |
Before betting a close line on a divisional rivalry game, pull the head-to-head record to see if there's a persistent historical edge. A team that's 18-6 against a specific opponent over 4 seasons is a meaningful data point.
| Name | Type | Example | Description |
|---|---|---|---|
| team_a | string | DET | First team abbreviation. Required. |
| team_b | string | LAL | Second team abbreviation. Required. |
min_games=1 to see all.If Scott Foster has a 68% home win rate in his career sample, that's a structural edge for the home team regardless of who's playing. Pull tonight's referee assignments and factor their home win tendencies into your model before the line moves.
| Name | Type | Example | Description |
|---|---|---|---|
| referee_name | string | Scott Foster | Full referee name. Optional. |
| min_games | number | 20 | Minimum games officiated. Defaults to 20. |
A referee with a 61% over rate across 200+ games reflects their foul-calling style inflating scoring through free throws. If tonight's ref has a persistent over lean and the total is on a key number, that's actionable.
| Name | Type | Example | Description |
|---|---|---|---|
| referee_name | string | Scott Foster | Full referee name. Optional. |
| min_games | string | 20 | Minimum games threshold. Defaults to 20. |
Query DET with Scott Foster and see Detroit's historical record when he's officiating. If a team is 3-14 with a specific referee over three seasons, that's a statistically significant pattern worth factoring in.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| referee_name | string | Scott Foster | Filter to a specific referee. Optional. |
If LAL covers at 65% when a specific official is assigned to their home games, that's not something the closing line accounts for. Build a lookup table of team/referee ATS combinations and query it nightly as referee assignments post.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| referee_name | string | Scott Foster | Filter to a specific referee. Optional. |
An away team that flew 2,400 miles west from Miami to Denver the previous night, playing at altitude against a rested home team, is at a structural disadvantage on multiple dimensions. Stack this with rest data and timezone lag.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific game date. |
A West Coast team playing a 1pm ET road game on the East Coast is essentially playing at 10am their body time. Use the lag advantage score to filter for the highest-impact timezone spots without manually tracking every team's schedule.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific game date. |
Build a backtest: pull all games where a West team traveled east on a back-to-back, cross-reference with the ATS result from this endpoint, and measure historical cover rate. That three-endpoint workflow is how systematic bettors validate edges.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Filter to a specific team. Optional. |
| season | number | 2026 | Season year. Historical requires Ultra. |
| game_date | string | 2026-03-17 | Filter to a specific date. |
A team flying from Miami (sea level) to Denver (5,280 ft) faces a physiological disadvantage that doesn't appear in any box score. Identify the highest altitude-change spots and factor that into your totals model.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Filter to a specific team. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific date. |
A team on a 7-game winning streak gets inflated public betting action, moving the line against their actual edge. Use streak data to identify when the market has overreacted to momentum.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
Compare both teams' last-5-game points allowed averages to build a dynamic total estimate. If one team has allowed 118+ in 4 of their last 5 while their season average is 112, the market total is likely stale.
| Name | Type | Example | Description |
|---|---|---|---|
| team_id | string | DET | Basketball Reference abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Rolling averages as of this date. |
If Cade Cunningham has scored 8+ points above his season average in each of his last 4 games, his points prop line is likely lagging behind his current form. Flag players 5+ points above or below their average and compare against posted prop lines.
| Name | Type | Example | Description |
|---|---|---|---|
| player_name | string | Cade Cunningham | Full player name. Required. |
| team_id | string | DET | Team abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
Building a same-game parlay? Pull last-3 and last-5 rolling averages across all three categories. A player trending up across points, rebounds, and assists simultaneously is a more reliable parlay leg than one hot on just one stat.
| Name | Type | Example | Description |
|---|---|---|---|
| player_name | string | Cade Cunningham | Full player name. Required. |
| team_id | string | DET | Team abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Rolling averages as of this date. |
Pull Cade Cunningham's stats with Scott Foster assigned. If he averages 28 points with Foster but 21 with other officials over a meaningful sample, that's a prop edge. The prop line is set on his season average — not his referee-specific average. That gap is the edge.
| Name | Type | Example | Description |
|---|---|---|---|
| player_name | string | Cade Cunningham | Full player name. Required. |
| team_id | string | DET | Team abbreviation. Required. |
| referee_name | string | Scott Foster | Filter to a specific referee. Optional. |
| min_games | number | 5 | Minimum games with this referee. Defaults to 10. |
If a star player consistently scores below their average in Q1 when traveling to altitude, that's a first-half prop edge. Pull their altitude game quarter splits before betting first-half player props in Denver or Salt Lake City.
| Name | Type | Example | Description |
|---|---|---|---|
| player_name | string | Cade Cunningham | Full player name. Required. |
| team_id | string | DET | Team abbreviation. Required. |
| season | number | 2026 | Season year. Defaults to current. |
| game_date | string | 2026-03-17 | Filter to a specific game date. |
min_games=1 to include all referees regardless of sample size.min_games=1 to see all combinations including small samples.?season=2023 through ?season=2025 for historical data.Start free with 100 calls per month. No credit card required.