Fine Print Analytics
NBA Fine Print API Live on RapidAPI

Analytics data
for the edge-seekers.

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.

3+
Seasons of History
99.8%
ATS Coverage
18
Endpoints
10am
Daily Update ET

Getting Started

01
Authentication
All endpoints require an X-RapidAPI-Key header. Subscribe to any plan on RapidAPI to receive your key.
02
Default Behavior
All endpoints default to the current season. Pass ?season=2024 for historical data. Historical access requires Ultra tier.
03
Team IDs
All team_id parameters use Basketball Reference abbreviations. See the full list below. Example: DET, LAL, BOS.
04
Data Freshness
Game results, ATS outcomes, referee assignments, and player stats updated daily at 10am ET. Real-time data is not available.

Plans

Basic
Free
100 calls / month
  • Team win/loss records
  • Game pace & possession data
  • Rest days & back-to-back flags
  • All-time head-to-head records
  • Current season only
Ultra
$99/mo
10,000 calls / month
  • Everything in Pro
  • Game ATS results back to 2023
  • Altitude fatigue per game & player
  • Team rolling averages — last 5 & 10 games
  • Team win/loss streaks
  • Player rolling averages — pts/reb/ast
  • Player hot/cold streaks
  • Player performance splits by referee
  • Historical seasons 2023–2026

Team IDs

All team_id parameters use Basketball Reference abbreviations.
ATLBOSBRKCHOCHICLEDALDENDETGSWHOUINDLACLALMEMMIAMILMINNOPNYKOKCORLPHIPHOPORSACSASTORUTAWAS

Basic Endpoints — Free

Get Team Records
GET/v1/teams/record
Basic · Free
Returns team win/loss records by season, including home record, away record, and overall win percentage. Defaults to the current season. Filter by team_id for a single team or leave blank to retrieve the full league.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Optional.
seasonnumber2026Season year. Defaults to current.
Get Team Pace
GET/v1/teams/pace
Basic · Free
Returns game pace and possession data by team, including average possessions per game and pace ranking relative to the league. One of the most underutilized signals in betting — pace mismatch between a fast and slow team has a measurable effect on game totals and scoring patterns.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific game date.
Get Team Rest
GET/v1/teams/rest
Basic · Free
Returns rest days and back-to-back flags per game by team. Includes days since last game for both home and away teams and flags whether the game is part of a back-to-back set.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific game date.
Get Head to Head
GET/v1/teams/head-to-head
Basic · Free
Returns all-time head-to-head record between two teams across all available seasons. Some matchups have persistent historical tendencies the market underweights.
Use Case

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.

Parameters
NameTypeExampleDescription
team_astringDETFirst team abbreviation. Required.
team_bstringLALSecond team abbreviation. Required.

Pro Endpoints — $49/mo

Get Referee Tendencies
GET/v1/referees/tendencies
Pro
Returns historical referee game tendencies including average pace, total fouls called, free throw rate, and home team win percentage. Defaults to refs with 20+ games; use min_games=1 to see all.
Use Case

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.

Parameters
NameTypeExampleDescription
referee_namestringScott FosterFull referee name. Optional.
min_gamesnumber20Minimum games officiated. Defaults to 20.
Get Referee ATS
GET/v1/referees/ats
Pro
Returns historical ATS and over/under splits for each referee, including home team ATS percentage, over percentage, and average ATS margin.
Use Case

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.

Parameters
NameTypeExampleDescription
referee_namestringScott FosterFull referee name. Optional.
min_gamesstring20Minimum games threshold. Defaults to 20.
Get Team Referee Record
GET/v1/teams/referee-record
Pro
Returns a team's win/loss record and weighted referee effect score split by individual referee. Surfaces which officials a specific team consistently performs well or poorly with.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
referee_namestringScott FosterFilter to a specific referee. Optional.
Get Team Referee ATS
GET/v1/teams/referee-ats
Pro
Returns a team's ATS record and over/under splits broken down by referee. Combines team-level betting tendencies with referee assignment to surface two-factor edges.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
referee_namestringScott FosterFilter to a specific referee. Optional.
Get Travel Data
GET/v1/games/travel
Pro
Returns travel distance and direction per game for both home and away teams. Measures miles traveled from previous game location, direction of travel, and whether the team crossed significant time zones.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific game date.
Get Timezone Lag
GET/v1/games/timezone-lag
Pro
Returns timezone shift data per game including home and away team timezone changes from their previous game location and overall lag advantage score.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific game date.

Ultra Endpoints — $99/mo

Get Game ATS Results
GET/v1/games/ats
Ultra
Returns game against-the-spread results including home line, over/under, ATS result, and line source. Covers 3+ seasons of regular season games with 99.8% ATS coverage.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETFilter to a specific team. Optional.
seasonnumber2026Season year. Historical requires Ultra.
game_datestring2026-03-17Filter to a specific date.
Get Altitude Fatigue
GET/v1/games/altitude-fatigue
Ultra
Returns altitude fatigue data per game including arena altitude, the away team's previous game altitude, and the altitude change they're experiencing.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETFilter to a specific team. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific date.
Get Team Streaks
GET/v1/teams/streaks
Ultra
Returns team win/loss streak data with streak length and streak label by game. Extended winning and losing streaks have measurable effects on market pricing.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
Get Team Rolling Averages
GET/v1/teams/rolling-averages
Ultra
Returns rolling averages for team stats including points scored, points allowed, win percentage, and pace over the last 5 and 10 games.
Use Case

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.

Parameters
NameTypeExampleDescription
team_idstringDETBasketball Reference abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Rolling averages as of this date.
Get Player Streak
GET/v1/players/streaks
Ultra
Returns player hot/cold streak data including points above or below their season average over the last 3 and 5 games. Player streaks drive prop market inefficiency — sportsbooks are slow to update props when a player is running significantly above or below their season average.
Use Case

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.

Parameters
NameTypeExampleDescription
player_namestringCade CunninghamFull player name. Required.
team_idstringDETTeam abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
Get Player Rolling Averages
GET/v1/players/rolling-averages
Ultra
Returns rolling averages for player stats including points, rebounds, and assists over the last 3 and 5 games, compared against their season average.
Use Case

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.

Parameters
NameTypeExampleDescription
player_namestringCade CunninghamFull player name. Required.
team_idstringDETTeam abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Rolling averages as of this date.
Get Player Referee Stats
GET/v1/players/referee-stats
Ultra
Returns player performance splits by referee, including average points, season average comparison, and plus/minus with that official.
Use Case

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.

Parameters
NameTypeExampleDescription
player_namestringCade CunninghamFull player name. Required.
team_idstringDETTeam abbreviation. Required.
referee_namestringScott FosterFilter to a specific referee. Optional.
min_gamesnumber5Minimum games with this referee. Defaults to 10.
Get Player Altitude Fatigue
GET/v1/players/altitude-fatigue
Ultra
Returns player performance data broken down by quarter in altitude games, including stats and altitude change from their previous game location.
Use Case

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.

Parameters
NameTypeExampleDescription
player_namestringCade CunninghamFull player name. Required.
team_idstringDETTeam abbreviation. Required.
seasonnumber2026Season year. Defaults to current.
game_datestring2026-03-17Filter to a specific game date.

Notes & Defaults

Referee Filters
Referee endpoints default to officials with 20+ games. Pass min_games=1 to include all referees regardless of sample size.
Player Filters
Player/referee endpoints default to a minimum of 10 games together. Use min_games=1 to see all combinations including small samples.
Historical Access
Historical seasons 2023–2025 require Ultra tier. Pass ?season=2023 through ?season=2025 for historical data.
Data Coverage
3+ complete NBA seasons (2023–2026). 99.8% ATS coverage. All referee data joined to named referees. Updated daily at 10am ET.

Ready to build?

Start free with 100 calls per month. No credit card required.