API Documentation

Complete reference for accessing NBA, MLB, FIFA World Cup 2026, and NCAAB analytics data programmatically. Build custom integrations, mobile apps, and automated workflows with SportsFBI's powerful multi-sport REST API.

Getting Started

Prerequisites

To use the SportsFBI API, you need:

  • ELITE subscription (or Admin) - direct API access is limited to ELITE and Admin accounts; PRO accounts can use Pro-tier features inside the SportsFBI app but cannot generate an API key
  • API Key - Generate from your API Keys page
  • HTTPS support - All API requests must use HTTPS

Base URL

https://app.sportsfbi.com/api

Quick Start

Make your first API request in under 60 seconds:

# Get today's NBA games curl -X GET "https://app.sportsfbi.com/api/nba/games/today" \ -H "Authorization: Bearer YOUR_API_KEY"

Authentication

All API requests require authentication using Bearer tokens. Include your API key in the Authorization header:

Authorization: Bearer sfbi_abc123...

Getting Your API Key

  1. Sign in to your SportsFBI account
  2. Navigate to API Keys
  3. Click "Generate New API Key"
  4. Copy and securely store your key (shown only once)

⚠️ Security Best Practices

  • Never commit API keys to version control
  • Use environment variables to store keys
  • Rotate keys regularly (at least every 90 days)
  • Revoke compromised keys immediately
  • Use different keys for development and production

Rate Limits

API access requires an ELITE subscription. Elite API keys are limited to 600 requests per minute and enforce fair usage across all users.

Rate Limit Headers

Every API response includes rate limit information in headers:

RateLimit-Limit: 600 RateLimit-Remaining: 587 RateLimit-Reset: 1672531200

Handling Rate Limits

When you exceed your rate limit, the API returns a 429 Too Many Requests status. Implement exponential backoff:

// Example: Exponential backoff in JavaScript async function fetchWithRetry(url, retries = 3) { for (let i = 0; i < retries; i++) { const response = await fetch(url); if (response.status !== 429) return response; const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s await new Promise(resolve => setTimeout(resolve, delay)); } throw new Error('Max retries exceeded'); }

API Endpoints

All endpoints are served from: https://app.sportsfbi.com

Free endpoints require no authentication and can be called directly. Elite endpoints require a valid API key — since API keys are only issued to ELITE and Admin accounts, this covers every endpoint that needs any form of sign-in or subscription tier, not just ones restricted to ELITE inside the app.

Games

GET /api/nba/games/today Free

Today's (or a given date's) NBA games with quality ratings, betting odds, team standings, and injuries.

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD (defaults to today)
tzOffsetMinintegerOptionalTimezone offset in minutes, −720 to 720 (e.g. −300 for EST)
vendorstringOptionaldraftkings or fanduel (default: fanduel)
GET /api/nba/games/upcoming Free

Games for the next date that has non-final games after today, reusing the today endpoint's shape.

GET /api/nba/games/{nbaGameId}/lineups Free

Confirmed or predicted starting lineups, bench, injuries, and team standings for a specific game.

GET /api/nba/plays/{nbaGameId} Free

Play-by-play data grouped by quarter, plus live score, period, and clock.

GET /api/nba/betting-odds Free

Spreads, moneylines, and totals for up to 20 games at once.

Query Parameters

ParameterTypeRequiredDescription
gameIdsstringRequiredComma-separated NBA game IDs, max 20
vendorstringRequiredOne of fanduel, draftkings, betmgm, betrivers, caesars, fanatics, prizepicks
GET /api/nba/games/{nbaGameId}/key-suspects Free

Key Suspects analysis — players likely to exceed prop projections based on matchup, role, and usage trends.

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaldfs or props (default: dfs)
vendorstringOptionalSportsbook vendor (default: fanduel)
GET /api/nba/games/{nbaGameId}/streaks Free

Notable consecutive-game stat streaks (30+ pts, double-double, triple-double, etc.) for starters, plus each team's win/loss streak.

GET /api/nba/games/{nbaGameId}/team-trends Free

Team points-for/points-against trend over the last 10 games vs. season averages, for both teams.

GET /api/nba/games/{nbaGameId}/ou-history Free

Historical Over/Under hit-rate splits (home/road) for both teams against a given odds vendor.

Query Parameters

ParameterTypeRequiredDescription
vendorstringOptionalOdds vendor (default: draftkings)
GET /api/nba/games/{nbaGameId}/four-factors Free

Team Four Factors comparison (eFG%, TOV%, OREB%, FTA rate — offensive and defensive) plus league averages.

GET /api/nba/games/{nbaGameId}/player/{playerId}/box-score Free

A single player's box score for a specific game.

GET /api/nba/games/{nbaGameId}/box-score Free

Every player's box score for a game in one request, keyed by player ID.

Slate & DFS

GET /api/nba/slate/dfs-ranking Free

Precomputed DFS score ranking for today's slate, refreshed every 5 minutes.

Query Parameters

ParameterTypeRequiredDescription
vendorstringOptionaldraftkings (default) or fanduel
GET /api/nba/slate/streak-board Elite

Players on today's slate on an active consecutive-over prop streak (minimum streak of 2), sorted by streak length.

Query Parameters

ParameterTypeRequiredDescription
propTypestringOptionalpoints_rebounds_assists (default) or another combo stat
GET /api/nba/slate/summary Free

Full slate analysis — game environment, spreads/totals, rest days, injuries, and blowout-risk classification. Elite accounts additionally receive playerTags and slateEdge fields in the same response.

GET /api/nba/slate/value-plays Elite

Slate players whose recent average for a stat meets or exceeds today's prop line (ratio ≥ 1.0).

Query Parameters

ParameterTypeRequiredDescription
propTypestringOptionalCombo stat, default points_rebounds_assists
vendorstringOptionalSportsbook vendor (default: draftkings)
GET /api/nba/slate/first-team-scorers Elite

Slate players who scored within the first 3 minutes of Q1 in at least one recent game.

Query Parameters

ParameterTypeRequiredDescription
windowintegerOptionalGames to look back: 0 (season), 5, 10, 15, or 20 (default: 5)
GET /api/nba/slate/quarter-scorers Elite

Slate players who scored 3+ points in every quarter in at least one recent game.

Query Parameters

ParameterTypeRequiredDescription
windowintegerOptionalGames to look back: 0 (season), 5, 10, 15, or 20 (default: 5)
GET /api/nba/slate/hit-rate Elite

Historical Key Suspects hit/miss results for a given (or most recent completed) slate date.

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaldfs or props
datestringOptionalYYYY-MM-DD, defaults to most recent completed date

Signals

GET /api/nba/slate/signals Elite

Projected stat leaders for the next slate date, with a 5-game sparkline, opponent matchup rating, trend %, and a signal badge (elite_spot, rising, risky, consistent, value, blowout_risk).

Query Parameters

ParameterTypeRequiredDescription
statstringOptionalOne of pts, ast, reb, blk, stl, fg3m, min (default: pts)

Players — Free Tier

GET /api/nba/players/{playerId} Free

Player profile (name, position, height, weight, team).

GET /api/nba/players/{playerId}/seasons Free

List of seasons the player has box-score data for.

GET /api/nba/players/{playerId}/vs-opponent Free

The player's last 20 games (min ≥5 minutes) against a specific team, with a per-game log and averages.

Query Parameters

ParameterTypeRequiredDescription
teamAbbrstringRequiredTeam abbreviation (e.g. LAL)
GET /api/nba/players/{playerId}/game-log Free

Game-by-game statistics for a season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year (e.g. 2025)
GET /api/nba/players/{playerId}/advanced-stats Free

Game-by-game advanced metrics: PIE, pace, usage%, ORtg, DRtg, TS%, and more.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/stats Free

Season averages (pts, reb, ast, etc.) and games-played count.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/injuries Free

Current injury status and history for a player.

GET /api/nba/players/{playerId}/contracts Free

Player contract details by season (cap hit, total cash, base salary, rank).

GET /api/nba/players/{playerId}/role-breakdown Free

Detailed 18-role archetype breakdown with scores and probabilities for the player's current classification.

GET /api/nba/players/{playerId}/role-analysis Free

Condensed role analysis: primary role and top-3 role distribution, with generated insight text.

GET /api/nba/players/{playerId}/matchup-analysis/{opponentTeamAbbr} Free

Comprehensive matchup analysis: player archetype, opponent defensive profile, usage trends, zone data, and a projected score delta.

GET /api/nba/players/{playerId}/shot-chart Free

Shot chart data — FGA/FGM/FG% across 7 distance zones plus rim/midrange/three frequencies and pull-up vs. catch-and-shoot splits.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/shot-profile Free

Shot-selection shift detector comparing last-10-games shot selection to season norms, flagging shifts of 12+ percentage points.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/defender-matchup Free

How opponents have performed when guarded by this player, plus a computed 0–100 defense score.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
opponentTeamIdintegerOptionalFilter to a single opponent team
GET /api/nba/players/{playerId}/clutch-stats Free

Clutch performance (final margin ≤5) vs. overall season averages, plus a computed 0–100 clutch score.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/hustle-stats Free

Hustle Index — a 0–100 composite of deflections, contested shots, charges, screen assists, loose balls, and box-outs vs. league average.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/quarter-stats Free

Quarter-by-quarter (Q1–Q4) performance breakdown with a "closer" or "fast starter" trend tag.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/scoring-sources Free

Season averages for scoring source breakdown (paint, fast break, second chance, off turnovers) and shot-location scoring %.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/ball-movement Free

Touches, passes, secondary/FT assists, speed, and distance, plus a computed touch-based opportunity score.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerRequiredSeason start year
GET /api/nba/players/{playerId}/schedule-difficulty Free

Upcoming schedule with a per-game opponent difficulty score based on defensive rating and opponent shooting.

Query Parameters

ParameterTypeRequiredDescription
daysintegerOptional1–14 days ahead (default: 7)
GET /api/player-injuries Free

All current player injuries across the league.

Query Parameters

ParameterTypeRequiredDescription
teamIdintegerOptionalFilter by team ID
statusstringOptionalout, doubtful, questionable, dtd, probable, out for season

Players — Elite

GET /api/nba/players/{playerId}/matchup-stats Elite

Last-5-games averaged advanced stats with archetype/role detection and generated insights.

GET /api/nba/players/{playerId}/props Elite

Player prop betting lines (line, over/under odds, per vendor and prop type) for a specific game.

Query Parameters

ParameterTypeRequiredDescription
game_idstringRequiredNBA game ID
GET /api/nba/players/{playerId}/props/hit-rate Elite

Historical over/under hit rates by prop type.

Query Parameters

ParameterTypeRequiredDescription
limitintegerOptionalRecent games to analyze, 1–50 (default: 25)
prop_typestringOptionalFilter to one prop category
vendorstringOptionalFilter to one vendor
GET /api/nba/players/{playerId}/props/line-movement Elite

Intraday prop line-movement history for a game. Elite/Admin accounts additionally see cross-vendor consensus-shift detection.

Query Parameters

ParameterTypeRequiredDescription
game_idstringRequiredNBA game ID
GET /api/nba/players/{playerId}/matchup-verdict/{opponentTeamAbbr} Elite

Lightweight verdict-only endpoint (favorable/neutral/unfavorable) for icon color-coding in lineup cards, skipping the full projection engine.

POST /api/nba/matchup-verdicts/batch Elite

Batch version of matchup-verdict for up to 30 player/opponent pairs in one request.

Body Parameters

FieldTypeRequiredDescription
requestsarrayRequired1–30 items, each { playerId, opponentTeamAbbr }

Leaderboards

GET /api/nba/leaderboard/{category} Free

Statistical leaderboards for live, daily, or full-season stats.

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaltoday (live), daily (completed games), or season — default: today
limitintegerOptionalMax results (default: 10)
seasonYearintegerOptionalSeason year for season mode
datestringOptionalYYYY-MM-DD for daily mode
tzOffsetMinintegerOptionalTimezone offset in minutes
onlyTodayPlayersbooleanOptionalSeason mode — restrict to players in today's games
GET /api/nba/rules Free

DFS scoring rules reference (DraftKings and FanDuel point values).

GET /api/nba/league-averages Free

Current cached league averages (pace, defensive rating, etc.) used by the matchup engine. Force-recalculation via refresh=true is admin-only.

Teams

GET /api/nba/teams/{teamAbbr}/defensive-stats Elite

Detailed defensive statistics: season averages, rim protection, paint defense, pace, and positional matchup breakdowns.

GET /api/nba/team/{teamId}/predicted-lineup Free

Predicted starting lineup based on the last 15 games of player usage.

GET /api/nba/team/{teamId}/schedule Free

Team schedule with results and upcoming games.

GET /api/nba/team/{teamId}/roster Free

Full team roster with positions, jersey numbers, and contract status.

GET /api/nba/team/{teamId}/season-stats Free

Team season averages — PPG, PAPG, pace, offensive and defensive ratings.

DFS Lineup Projections

POST /api/nba/lineup/projections Elite

DFS lineup projection engine — per-player projections, lineup synergy scoring, opponent defensive profile, and role compatibility for a 2–5 player lineup.

Body Parameters

FieldTypeRequiredDescription
playerIdsarrayRequiredArray of 2–5 internal player IDs
opponentTeamAbbrstringRequiredOpponent team abbreviation (e.g. GSW)

Games

GET /api/mlb/games/today Free

Today's MLB schedule with betting odds and heavy matchup context — rest days, injuries, probable-pitcher ERA/WHIP/FIP, team OPS/wOBA, bullpen quality, and recent run differential.

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD (defaults to today)
vendorstringOptionalOdds vendor (default: draftkings)
GET /api/mlb/games/{gameId} Free

Single game detail — full box score, odds from every vendor, pre-game lineup, and the last 50 plays.

GET /api/mlb/betting-odds Free

Spreads, moneylines, and totals for one or more games.

Query Parameters

ParameterTypeRequiredDescription
gameIdsstringOptionalComma-separated MLB game IDs (one of gameIds or date required)
datestringOptionalYYYY-MM-DD — fetches odds for every game that day
vendorstringOptionalFilter to one vendor
GET /api/mlb/games/{mlbGameId}/analysis Free

Game-level matchup analysis — run-environment/stack recommendation and pitcher-vs-lineup breakdown for both sides.

Query Parameters

ParameterTypeRequiredDescription
langstringOptionalen or es (default: en)
GET /api/mlb/games/{gameId}/player/{playerId}/box-score Free

A single player's batting or pitching box score line for a specific game.

GET /api/mlb/games/{gameId}/lineups Free

Batting lineup and probable pitchers for both teams, with standings, injuries, and predicted lineups for games without a confirmed one yet.

GET /api/mlb/plays/{mlbGameId} Free

Full play-by-play, grouped by inning (top/bottom), including pitch type, velocity, and trajectory where available.

Slate & DFS

GET /api/mlb/slate/summary Free

Today's slate overview — spread/total/win probability per game, run-environment classification, key injuries, probable pitchers, and per-game player tags (core/value/fade batters).

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD (defaults to today)
GET /api/mlb/slate/hit-rate Elite

Historical hit/miss results for the Key Suspects engine on a completed slate date (backtesting view).

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaldfs or props (default: dfs)
vendorstringOptionalSportsbook vendor (default: fanduel)
datestringOptionalYYYY-MM-DD, defaults to most recent completed date
GET /api/mlb/slate/value-plays Elite

Batters and pitchers whose recent average for a stat meets or exceeds today's live prop line.

Query Parameters

ParameterTypeRequiredDescription
propTypestringOptionalhits, total_bases, home_runs, rbis, strikeouts, runs_scored, pitcher_strikeouts (default: hits)
vendorstringOptionalSportsbook vendor (default: draftkings)
lookbackstringOptional5, 10, 20, or season (default: 5)
GET /api/mlb/slate/batting-signals Elite

Today's projected batting-stat leaders with a sparkline, trend %, opposing-pitcher matchup rating, pitcher fatigue, and a signal badge (elite_spot, rising, risky, and more).

Query Parameters

ParameterTypeRequiredDescription
statstringOptionalhits, hr, rbi, runs, sb, tb, walks, strikeouts (default: hits)
GET /api/mlb/slate/stacks Elite

Today's games ranked by DFS/props stack attractiveness — run environment, favored stack side, pitcher-vs-lineup matchup, and top recommended batters to stack.

GET /api/mlb/slate/case-builder Elite

Auto-built parlay "cases" assembled from the Key Suspects engine across the slate, scored by suspicion score, hit rate, and odds value.

Query Parameters

ParameterTypeRequiredDescription
legsintegerOptional2–10 legs per case (default: 4)
minOddsintegerOptionalAmerican-odds floor (default: -150)
gamesstringOptionalComma-separated game IDs or all
vendorstringOptionalSportsbook vendor (default: fanduel)
GET /api/mlb/slate/ev Elite

EV Finder — every vendor's game odds, plus player props with at least a +3% edge against the offered odds based on recent hit rate.

Key Suspects

GET /api/mlb/games/{mlbGameId}/key-suspects Free

Ranked list of a game's most notable player-prop/DFS suspects. Free/Pro/Elite see 1/3/7 of the same curated list.

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaldfs or props (default: dfs)
vendorstringOptionalSportsbook vendor (default: fanduel)
POST /api/mlb/matchup-verdicts/batch Elite

Batch-computes a cached matchup verdict (favorable/unfavorable) for up to 30 players at once.

Body Parameters

FieldTypeRequiredDescription
gameIdstringRequiredMLB game ID
requestsarrayRequiredUp to 30 items, each { playerId }

Players

GET /api/mlb/players/{playerId} Free

Player profile — name, position, jersey, bats/throws, physicals, birthplace, debut year, draft info, and current team.

GET /api/mlb/players/{playerId}/stats Free

Season totals and rate stats (batting and/or pitching) for one player-season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
season_typestringOptionalregular or postseason (default: regular)
GET /api/mlb/players/{playerId}/splits Free

Split-stat breakdown by arena, pitcher hand, day/night, month, opponent, situation, batting order, count, and position.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
categorystringOptionalbatting or pitching (default: both)
GET /api/mlb/players/{playerId}/game-log Free

Per-game batting and pitching stat lines for the current season, most recent first.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
limitintegerOptionalMax games (default: 30, max: 162)
GET /api/mlb/players/{playerId}/props Free

Player prop lines across all prop types and vendors for a specific game.

Query Parameters

ParameterTypeRequiredDescription
game_idstringRequiredMLB game ID (mlb_game_id or internal ID)
vendorstringOptionalFilter to one vendor
GET /api/mlb/players/{playerId}/props/hit-rate Elite

Historical hit-rate tracker — how often the player's actual result beat the line, all-time and over the last 10 games.

Query Parameters

ParameterTypeRequiredDescription
limitintegerOptionalGames considered per prop type (default: 25, max: 50)
GET /api/mlb/players/{playerId}/props/line-movement Elite

Intraday line movement per prop type and vendor. Elite/Admin accounts also see cross-book consensus-shift detection.

Query Parameters

ParameterTypeRequiredDescription
game_idstringRequiredMLB game ID
GET /api/mlb/players/{playerId}/pitch-type/arsenal Elite

A pitcher's per-pitch-type arsenal — usage%, zone%, chase%, whiff%, contact%, and results allowed by pitch type.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
GET /api/mlb/players/{playerId}/pitch-type/movement Elite

Statcast-derived pitch movement — average velocity, spin rate, induced vertical break, horizontal break, and release extension per pitch type.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
GET /api/mlb/players/{playerId}/pitch-type/splits Elite

A hitter's performance against each pitch type — whiff/chase/contact/zone %, BA/SLG/wOBA, and outcome counts.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
GET /api/mlb/players/{playerId}/injuries Free

Current injury status, return date, and description for a player.

GET /api/mlb/players/{playerId}/batter-matchup Free

Pre-game matchup packet — the batter's season stats and splits against the opposing probable pitcher's profile, plus career stats vs. that opponent.

Query Parameters

ParameterTypeRequiredDescription
game_idstringRequiredMLB game ID

Leaderboards

GET /api/mlb/leaderboard/{category} Free

Ranked season leaderboard for one batting or pitching stat category, with a 5-game sparkline.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
season_typestringOptionalregular or postseason (default: regular)
limitintegerOptionalMax results (default: 25, max: 100)
onlyTodayPlayersbooleanOptionalRestrict to players in today's lineups
datestringOptionalYYYY-MM-DD, used only with onlyTodayPlayers

Teams

GET /api/mlb/teams Free

All MLB teams — ID, abbreviation, names, league, and division.

GET /api/mlb/team/{teamId}/schedule Free

Full season schedule for a team with scores, status, and opponent info.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
GET /api/mlb/team/{teamId}/roster Free

Current active roster with each player's current-season batting/pitching stat line attached.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year
GET /api/mlb/team/{teamId}/standings Free

A team's standings row (wins, losses, streak) for a season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current year

Matches

GET /api/fifa/matches Free

List of matches for a given date, each with team info, stadium, and primary-vendor odds attached.

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD (defaults to today)
seasonintegerOptionalDefaults to 2026
vendorstringOptionalSportsbook vendor (default: fanduel)
GET /api/fifa/matches/{matchId} Free

Full match detail — events, lineups, team stats, best players, odds from every vendor, shot map (xG/xGOT), per-minute momentum, and head-to-head history.

Odds

GET /api/fifa/odds/futures Free

Tournament and group winner futures odds, grouped by market.

Query Parameters

ParameterTypeRequiredDescription
vendorstringOptionalSportsbook vendor
market_typestringOptionale.g. tournament_winner
GET /api/fifa/odds/match/{matchId} Free

Full match odds — 3-way moneyline, spread, and total per vendor, plus exotic markets and their outcomes.

Query Parameters

ParameterTypeRequiredDescription
vendorstringOptionalFilter to one vendor
GET /api/fifa/odds/match/{matchId}/props Free

Player prop odds (milestone/over/under) for a single match.

Query Parameters

ParameterTypeRequiredDescription
vendorstringOptionalFilter to one vendor

Teams

GET /api/fifa/teams Free

All teams with their current group-stage standing for the season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
GET /api/fifa/teams/{teamId} Free

Team detail — group standing, full roster with aggregated tournament stats, all matches, average team stats, and current manager.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026

Players

GET /api/fifa/players Free

Search or list players by name, team, or position.

Query Parameters

ParameterTypeRequiredDescription
qstringOptionalName substring search, min 2 characters
team_idintegerOptionalFilter by team
positionstringOptionalExact match, e.g. Forward
seasonintegerOptionalDefaults to 2026
GET /api/fifa/players/{playerId} Free

Player detail (bio, team) plus every match's stat line for the player this season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026

Standings

GET /api/fifa/standings Free

Group-stage standings grouped by group letter.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
groupstringOptionalSingle letter, e.g. A, filters to one group

Bracket

GET /api/fifa/bracket Elite

Knockout-stage bracket, grouped by round (Round of 32 through Final) in bracket order.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026

Leaderboards

GET /api/fifa/leaderboards Elite

Tournament-wide statistical leaderboard for a chosen stat, top 100.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
statstringOptionalgoals, assists, xg, rating, shots, or saves (default: goals)

Signals

GET /api/fifa/signals Elite

Six pre-match betting-edge signals per upcoming match — xG Edge, Possession, Set Piece, Press Intensity, Form, and Late Momentum — each with a winner, tag, and implication.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
datestringOptionalYYYY-MM-DD (defaults to today)

Key Suspects

GET /api/fifa/matches/{matchId}/suspects Free

Weighted 0–100 Suspicion Score per player prop for a match, with an evidence breakdown, trend, and sparkline.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
vendorstringOptionalFilter to one vendor

Value Plays

GET /api/fifa/value-plays Elite

Player prop value plays for upcoming matches — players whose season hit rate/average beats the prop line, sorted by ratio.

Query Parameters

ParameterTypeRequiredDescription
propTypestringRequiredanytime_goal, first_goal, shots_on_target, assists, goal_or_assist, saves, or tackles
seasonintegerOptionalDefaults to 2026
vendorstringOptionalFilter to one vendor

Streak Board

GET /api/fifa/streak-board Elite

Players currently on active consecutive-match statistical streaks (minimum length 2).

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026
streakTypestringOptionalgoal, shot, rating, or clean_sheet (omit for all four)

Expected Lineup

GET /api/fifa/matches/{matchId}/expected-lineup Free

Projected starting XI and bench for both teams based on this season's formation and starter frequency, with tournament-average stats per player.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026

Hit Rate

GET /api/fifa/slate/hit-rate Elite

For all completed matches on a target date, compares each player prop line to the actual result and returns HIT/MISS per player.

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD, defaults to most recent completed date
vendorstringOptionalSportsbook vendor (default: fanduel)
seasonintegerOptionalDefaults to 2026

Case Preview

GET /api/fifa/matches/{matchId}/case-preview Free

Pre-match context for both teams — last-5-match form, season momentum profile, top-3 key players per side, and head-to-head history.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to 2026

Games

GET /api/ncaab/games/today Free

Today's NCAAB games with team info, scores, status, and game quality ratings.

Query Parameters

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD (defaults to today)
tzOffsetMinintegerOptionalTimezone offset in minutes, −720 to 720
GET /api/ncaab/betting-odds Free

Spreads, moneylines, and totals for NCAAB games.

Query Parameters

ParameterTypeRequiredDescription
gameIdsstringRequiredComma-separated NCAAB game IDs, max 100
vendorstringRequiredSportsbook vendor name
GET /api/ncaab/games/{ncaabGameId}/lineups Free

Starting lineups, bench players, injuries, and team standings for a specific game.

GET /api/ncaab/games/{ncaabGameId}/player/{playerId}/box-score Free

A single player's box score for a specific game.

GET /api/ncaab/plays/{ncaabGameId} Free

Play-by-play data organized by half.

GET /api/ncaab/games/{ncaabGameId}/key-suspects Free

Key Suspects analysis for NCAAB — college players likely to exceed projections based on matchup and usage context.

Players

GET /api/ncaab/players/{playerId} Free

Player profile (name, position, height, weight, team, jersey number).

GET /api/ncaab/players/{playerId}/seasons Free

List of seasons the player has box-score data for.

GET /api/ncaab/players/{playerId}/game-log Free

Game-by-game statistics for a NCAAB season.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current calendar year
GET /api/ncaab/players/{playerId}/stats Free

Season averages for a NCAAB player.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current calendar year
GET /api/ncaab/players/{playerId}/matchup-analysis/{opponentTeamAbbr} Free

A player's last-10-game averages compared against an opponent's defensive profile, with generated insight strings and an overall verdict.

Teams

GET /api/ncaab/team/{teamId}/schedule Free

NCAAB team schedule with results and upcoming games.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to current calendar year
GET /api/ncaab/team/{teamId}/roster Free

Full team roster with player positions, jersey numbers, and current-season per-game averages.

GET /api/ncaab/team/{teamId}/stats Free

Team's individual per-game box scores for a season, newest first.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to the current NCAAB season-start year
GET /api/ncaab/team/{teamId}/season-stats Free

Team statistics including PPG, PAPG, pace, and offensive/defensive breakdowns.

Query Parameters

ParameterTypeRequiredDescription
seasonintegerOptionalDefaults to the current NCAAB season-start year

Leaderboards

GET /api/ncaab/leaderboard/{category} Free

Statistical leaderboards for NCAAB — live, daily, or season modes.

Query Parameters

ParameterTypeRequiredDescription
modestringOptionaltoday, daily, or season (default: today)
limitintegerOptionalMax results, 5–50 (default: 20)
seasonYearintegerOptionalSeason year for season mode
datestringOptionalYYYY-MM-DD for daily mode
onlyTodayPlayersbooleanOptionalSeason mode — restrict to players whose team plays on date

System & Utilities

GET /api/health Free

System health check. Reports database connectivity, Redis status, and feature store pipeline freshness (gameFeatures and playerFeatures staleness flags).

GET /rate-limit-status Free

Your current rate-limit usage and remaining quota for the active window.

GET /auth/status Free

Current authentication status — tier, subscription state, and API key validity.

Error Handling

The API uses standard HTTP status codes and returns errors in JSON format:

HTTP Status Codes

Status Code Meaning Description
200 OK Request successful
400 Bad Request Invalid request parameters
401 Unauthorized Missing or invalid API key
403 Forbidden Insufficient subscription tier
404 Not Found Resource doesn't exist
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error

Error Response Format

{ "error": "Invalid API key", "statusCode": 401, "timestamp": "2026-02-09T12:34:56.789Z" }

Code Examples

JavaScript (Node.js)

const fetch = require('node-fetch'); const API_KEY = process.env.SPORTSFBI_API_KEY; const BASE_URL = 'https://app.sportsfbi.com/api'; async function getTodayGames() { const response = await fetch(`${BASE_URL}/nba/games/today`, { headers: { 'Authorization': `Bearer ${API_KEY}` } }); if (!response.ok) { throw new Error(`API error: ${response.status}`); } return await response.json(); } getTodayGames() .then(games => console.log(games)) .catch(err => console.error(err));

Python

import requests import os API_KEY = os.environ['SPORTSFBI_API_KEY'] BASE_URL = 'https://app.sportsfbi.com/api' def get_today_games(): headers = { 'Authorization': f'Bearer {API_KEY}' } response = requests.get( f'{BASE_URL}/nba/games/today', headers=headers ) response.raise_for_status() return response.json() try: games = get_today_games() print(games) except requests.exceptions.RequestException as e: print(f'Error: {e}')

cURL

# Get today's games curl -X GET "https://app.sportsfbi.com/api/nba/games/today" \ -H "Authorization: Bearer YOUR_API_KEY" # Get player profile curl -X GET "https://app.sportsfbi.com/api/nba/players/123" \ -H "Authorization: Bearer YOUR_API_KEY" # Get leaderboard curl -X GET "https://app.sportsfbi.com/api/nba/leaderboard/pts?mode=today&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" # Get matchup analysis curl -X GET "https://app.sportsfbi.com/api/nba/players/123/matchup-analysis/LAL" \ -H "Authorization: Bearer YOUR_API_KEY"

Response Example

{ "success": true, "data": [ { "id": 1234, "nbaGameId": "0022600789", "status": "live", "homeTeam": { "id": 5, "name": "Lakers", "abbreviation": "LAL", "score": 98 }, "awayTeam": { "id": 10, "name": "Warriors", "abbreviation": "GSW", "score": 95 }, "period": 3, "gameClock": "5:23", "startTime": "2026-02-09T19:30:00Z" } ] }

Support & Resources

Need help with the API? We're here to assist:

📧 Contact Support

For API-specific questions or issues, please contact our support team with your API key ID (not the full key) and a description of your issue.