Teams & Players
Access team information, rosters, injury reports, player stats, and schedules across all supported leagues. Player stats are refreshed daily and support both season-level summaries and per-game logs.
Teams
/v1/teamsList all teams, optionally filtered by league.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Optional league filter: nba, nfl, mlb, nhl, ncaa_basketball, ncaa_football |
Response
{
"success": true,
"data": [
{
"teamId": "nba-lal",
"name": "Los Angeles Lakers",
"abbreviation": "LAL",
"leagueId": "nba"
}
],
"meta": { "count": 1, "league": "nba" }
}
/v1/leagues/:leagueId/teamsList all teams in a league.
| Parameter | Type | Required | Description |
|---|---|---|---|
| leagueId | string | Yes | The unique identifier of the league. |
Response
{
"success": true,
"data": [
{
"teamId": "nba-lal",
"name": "Los Angeles Lakers",
"abbreviation": "LAL",
"leagueId": "nba"
},
{
"teamId": "nba-bos",
"name": "Boston Celtics",
"abbreviation": "BOS",
"leagueId": "nba"
}
],
"meta": { "league": "nba", "count": 2 }
}
/v1/teams/:teamIdGet detailed information for a single team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | The unique identifier of the team. |
/v1/teams/:teamId/rosterGet the current roster for a team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | The unique identifier of the team. |
Response
{
"success": true,
"data": {
"teamId": "nba-lal",
"leagueId": "nba",
"players": [
{
"playerId": "nba-p-2544",
"name": "LeBron James",
"position": "SF",
"number": 23
},
{
"playerId": "nba-p-203076",
"name": "Anthony Davis",
"position": "PF",
"number": 3
}
]
},
"meta": { "league": "nba", "team": "nba-lal" }
}
/v1/teams/:teamId/injuriesGet the latest injury report for a team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | The unique identifier of the team. |
Response
{
"success": true,
"data": {
"teamId": "nba-lal",
"leagueId": "nba",
"players": [
{
"name": "Anthony Davis",
"status": "Questionable",
"injury": "Right knee soreness"
},
{
"name": "Jarred Vanderbilt",
"status": "Out",
"injury": "Left foot surgery recovery"
},
{
"name": "Gabe Vincent",
"status": "Day-to-Day",
"injury": "Left ankle sprain"
}
]
},
"meta": { "league": "nba", "team": "nba-lal" }
}
/v1/teams/:teamId/statsGet current-season player stat summaries for a team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | The unique identifier of the team. |
| season | string | No | Season identifier (e.g. "2025"). Defaults to the current season. |
/v1/teams/:teamId/scheduleGet the upcoming and past schedule for a team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | Yes | The unique identifier of the team. |
Players
/v1/playersList players, optionally filtered by league or team.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Optional league filter: nba, nfl, mlb, nhl, ncaa_basketball, ncaa_football |
| team | string | No | Optional teamId filter |
| limit | number | No | Max 100, default 50 |
| page | number | No | Page number, default 1 |
Response
{
"success": true,
"data": [
{
"playerId": "nba-p-2544",
"playerName": "LeBron James",
"teamId": "nba-lal",
"leagueId": "nba",
"position": "SF"
}
],
"meta": { "count": 1, "total": 1, "page": 1, "pages": 1, "league": "nba" }
}
/v1/players/:playerIdGet detailed information for a single player.
| Parameter | Type | Required | Description |
|---|---|---|---|
| playerId | string | Yes | The unique identifier of the player. |
/v1/players/:playerId/statsGet season summaries or per-game logs for a single player.
| Parameter | Type | Required | Description |
|---|---|---|---|
| playerId | string | Yes | The unique identifier of the player. |
| type | string | No | Stat type: "season" or "game". Defaults to season. |
| season | string | No | Season identifier (e.g. "2025"). Defaults to the current season. |
| eventId | string | No | For type=game only. Filter to one exact event ID. |
| date | string | No | For type=game only. Exact date in YYYY-MM-DD. |
| from | string | No | For type=game only. Inclusive start date/time in YYYY-MM-DD or ISO 8601. |
| to | string | No | For type=game only. Inclusive end date/time in YYYY-MM-DD or ISO 8601. |
Response
{
"success": true,
"data": [
{
"playerId": "nba-p-12345",
"playerName": "Jayson Tatum",
"teamId": "nba-bos",
"leagueId": "nba",
"sport": "basketball",
"season": "2025-26",
"statType": "game",
"eventId": "nba-ev-311286",
"gameDate": "2026-03-09T00:00:00.000Z",
"stats": {
"points": 32,
"rebounds": 8,
"assists": 5
}
}
],
"meta": {
"player": "nba-p-12345",
"type": "game",
"season": "2025-26",
"count": 1
}
}
Player stats query rules
- If you omit
type, the API returns season summaries. type=seasonsupportsseasononly.type=gamesupportsseason,eventId,date,from, andto.datecannot be combined withfromorto.- Use
eventIdwhen you want the stat line for one exact game. type=careeris not supported in this version.
Player Analysis
These endpoints combine historical game stats with live betting data to surface hit rates, trending players, and integrated player analysis views.
/v1/players/trendingGet players sorted by hit rate, paired with their best available prop line and odds. Designed for discovery surfaces.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | Yes | League ID: nba, nfl, mlb, nhl, ncaa_basketball, ncaa_football |
| market | string | Yes | Prop market key (e.g. player_points) |
| sortBy | string | No | Hit-rate window to sort by: l5, l10, l25, season. Default l5 |
| direction | string | No | over or under. Default over |
| limit | number | No | Max 50, default 25 |
| page | number | No | Page number for pagination |
Response
{
"success": true,
"data": [
{
"playerId": "nba-p-4065648",
"playerName": "Coby White",
"teamId": "nba-cha",
"position": "PG",
"market": "player_points",
"bestLine": 14.5,
"bestOdds": -108,
"bookmakerName": "DraftKings",
"hitRates": {
"L5": { "games": 5, "hits": 4, "rate": 0.800 },
"L10": { "games": 10, "hits": 6, "rate": 0.600 },
"L25": { "games": 25, "hits": 15, "rate": 0.600 }
}
}
],
"meta": { "count": 25, "total": 87, "page": 1, "league": "nba", "market": "player_points" }
}
/v1/players/trendsGet each player's highest-profit active prop trend over a rolling game window, including matchup context and flat-stake profit.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Optional league ID filter: nba, nfl, mlb, nhl, ncaa_basketball, ncaa_football |
| window | number | No | Rolling game window size. Integer 1-100, default 25 |
| bookmaker | string | No | Optional bookmaker key or display name filter |
| sourceType | string | No | all, sportsbook, dfs, exchange. Default all |
| limit | number | No | Max 50, default 25 |
| page | number | No | Page number for pagination |
Response
{
"success": true,
"data": [
{
"player": {
"playerId": "nba-p-4065648",
"name": "Coby White",
"teamId": "nba-chi",
"team": "CHI",
"matchup": "CHI @ NYK"
},
"eventId": "nba-ev-311286",
"leagueId": "nba",
"bet": {
"market": "player_points",
"marketName": "Player Points",
"direction": "under",
"line": 24.5,
"price": 125,
"bookmakerId": "bovada",
"bookmakerName": "Bovada",
"sourceType": "sportsbook"
},
"sampleSize": 25,
"performance": {
"wins": 20,
"losses": 5,
"pushes": 0,
"hitRate": 0.8,
"stake": 100
},
"profit": 2000
}
],
"meta": { "count": 25, "total": 73, "page": 1, "pages": 3, "window": 25, "stake": 100, "league": "nba", "sourceType": "all" }
}
/v1/players/:playerId/hit-ratesGet hit rates (L5, L10, L25, season) for a player against a specific prop line.
| Parameter | Type | Required | Description |
|---|---|---|---|
| playerId | string | Yes | The unique identifier of the player. |
| market | string | Yes | Prop market key (e.g. player_points) |
| line | number | No | Required for standard line-based markets. Omit or use 0 for yes/no and over-only markets. |
Response
{
"success": true,
"data": {
"playerId": "nba-p-4065648",
"market": "player_points",
"line": 14.5,
"direction": "over",
"hitRates": {
"L5": { "games": 5, "hits": 4, "rate": 0.800 },
"L10": { "games": 10, "hits": 6, "rate": 0.600 },
"L25": { "games": 25, "hits": 15, "rate": 0.600 },
"season": { "games": 62, "hits": 37, "rate": 0.597 }
}
}
}
/v1/players/:playerId/odds-historyCross-event consensus odds history for a single player. Each snapshot row contains the cross-book average, best, and no-vig fair price for the player's prop lines at that moment. Pairs well with a player detail page that charts how the market has moved on a player over time.
| Parameter | Type | Required | Description |
|---|---|---|---|
| playerId | string | Yes | The unique identifier of the player. |
| market | string | No | Optional exact prop market filter (e.g. player_points, player_rebounds) |
| eventId | string | No | Optional exact event filter — scope to one game |
| from | string | No | Optional ISO 8601 timestamp lower bound on snapshotAt |
| to | string | No | Optional ISO 8601 timestamp upper bound on snapshotAt |
| limit | number | No | Max snapshots returned. Default 500, max 2000 |
Response
{
"success": true,
"data": {
"playerId": "nba-p-4065648",
"count": 8,
"snapshots": [
{
"eventId": "nba-ev-311286",
"leagueId": "nba",
"sport": "basketball",
"snapshotAt": "2026-04-08T19:00:00.000Z",
"markets": [
{
"marketType": "player_points",
"outcome": "Over",
"player": "Jayson Tatum",
"playerId": "nba-p-4065648",
"point": 28.5,
"avgPrice": -112,
"avgImpliedProb": 0.5283,
"bestPrice": -105,
"bestBook": "fanduel",
"fairOdds": -108,
"bookCount": 9
}
],
"playerIds": ["nba-p-4065648"]
}
]
},
"meta": { "player": "nba-p-4065648" }
}
/v1/players/:playerId/analysisIntegrated player analysis: current best bet, game-by-game chart data, and hit rates in one response.
| Parameter | Type | Required | Description |
|---|---|---|---|
| playerId | string | Yes | The unique identifier of the player. |
| market | string | Yes | Prop market key (e.g. player_points) |
| window | string | No | Time window for chart data: l5, l10, l25, season. Default l5 |
| season | string | No | Optional season filter for chart and hit-rate inputs |
| eventId | string | No | Optional exact game filter for chart and hit-rate inputs |
| date | string | No | Optional exact game date in YYYY-MM-DD |
| from | string | No | Optional inclusive range start in YYYY-MM-DD or ISO 8601 |
| to | string | No | Optional inclusive range end in YYYY-MM-DD or ISO 8601 |
Response
{
"success": true,
"data": {
"player": { "playerId": "nba-p-4065648", "playerName": "Coby White", "teamId": "nba-cha" },
"currentEvent": { "eventId": "nba-ev-311286", "startTime": "2026-03-26T23:10:00Z" },
"bestBet": { "market": "player_points", "line": 14.5, "odds": -108, "bookmakerName": "DraftKings" },
"hitRates": {
"L5": { "games": 5, "hits": 4, "rate": 0.800 },
"L10": { "games": 10, "hits": 6, "rate": 0.600 }
},
"chart": {
"window": "l5",
"line": 14.5,
"games": [
{ "gameDate": "2026-03-14T00:00:00Z", "opponent": "SAS", "value": 18, "hit": true },
{ "gameDate": "2026-03-17T00:00:00Z", "opponent": "MIA", "value": 24, "hit": true },
{ "gameDate": "2026-03-21T00:00:00Z", "opponent": "MEM", "value": 12, "hit": false }
]
}
}
}