NbaBoxScoreEntry
One player's line in an NBA game box score. Counting stats are integers and percentages are decimal strings as stored. `minutes` is WHOLE minutes, rounded; `seconds_played` carries the exact total when the feed supplies seconds and is null when it supplied only a whole minute. Corrected 2026-10-23: `minutes` was declared a string here, but the column is a smallint and the served value has always been a JSON number (verified against production). Rows written before that date read `seconds_played` null and carry a `minutes` value that was truncated rather than rounded, so it can read one minute low until the game is re-ingested.
Properties
| Name | Type | Description |
|---|---|---|
| player_id | stringnull | Null when the upstream player is not yet bridged to a BigBalls player |
| name | stringnull | |
| starter | booleannull | Null for games with no pre-tip lineup coverage |
| minutes | integernull | Whole minutes played, ROUNDED (half up) from the exact value. Agrees with /v1/stored/matches/{id}/stats, which is authoritative for minutes. |
| seconds_played | integernull | Exact total seconds played, as supplied. Null means the feed gave a whole minute and nothing finer, NOT that the player played no seconds; it is never minutes x 60. |
| points | integernull | |
| rebounds | integernull | |
| offensive_rebounds | integernull | |
| defensive_rebounds | integernull | |
| assists | integernull | |
| steals | integernull | |
| blocks | integernull | |
| turnovers | integernull | |
| fouls | integernull | |
| plus_minus | integernull | |
| field_goals_made | integernull | |
| field_goals_attempted | integernull | |
| field_goal_pct | stringnull | |
| three_pointers_made | integernull | |
| three_pointers_attempted | integernull | |
| three_point_pct | stringnull | |
| free_throws_made | integernull | |
| free_throws_attempted | integernull | |
| free_throw_pct | stringnull |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/bigballsdata-com/json-schema/bigballsdata-com-nba-box-score-entry-schema.json",
"title": "NbaBoxScoreEntry",
"description": "One player's line in an NBA game box score. Counting stats are integers and percentages are decimal strings as stored. `minutes` is WHOLE minutes, rounded; `seconds_played` carries the exact total when the feed supplies seconds and is null when it supplied only a whole minute. Corrected 2026-10-23: `minutes` was declared a string here, but the column is a smallint and the served value has always been a JSON number (verified against production). Rows written before that date read `seconds_played` null and carry a `minutes` value that was truncated rather than rounded, so it can read one minute low until the game is re-ingested.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/bigballsdata-com-api-openapi.json#/components/schemas/NbaBoxScoreEntry",
"type": "object",
"properties": {
"player_id": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "Null when the upstream player is not yet bridged to a BigBalls player"
},
"name": {
"type": [
"string",
"null"
]
},
"starter": {
"type": [
"boolean",
"null"
],
"description": "Null for games with no pre-tip lineup coverage"
},
"minutes": {
"type": [
"integer",
"null"
],
"description": "Whole minutes played, ROUNDED (half up) from the exact value. Agrees with /v1/stored/matches/{id}/stats, which is authoritative for minutes."
},
"seconds_played": {
"type": [
"integer",
"null"
],
"description": "Exact total seconds played, as supplied. Null means the feed gave a whole minute and nothing finer, NOT that the player played no seconds; it is never minutes x 60."
},
"points": {
"type": [
"integer",
"null"
]
},
"rebounds": {
"type": [
"integer",
"null"
]
},
"offensive_rebounds": {
"type": [
"integer",
"null"
]
},
"defensive_rebounds": {
"type": [
"integer",
"null"
]
},
"assists": {
"type": [
"integer",
"null"
]
},
"steals": {
"type": [
"integer",
"null"
]
},
"blocks": {
"type": [
"integer",
"null"
]
},
"turnovers": {
"type": [
"integer",
"null"
]
},
"fouls": {
"type": [
"integer",
"null"
]
},
"plus_minus": {
"type": [
"integer",
"null"
]
},
"field_goals_made": {
"type": [
"integer",
"null"
]
},
"field_goals_attempted": {
"type": [
"integer",
"null"
]
},
"field_goal_pct": {
"type": [
"string",
"null"
]
},
"three_pointers_made": {
"type": [
"integer",
"null"
]
},
"three_pointers_attempted": {
"type": [
"integer",
"null"
]
},
"three_point_pct": {
"type": [
"string",
"null"
]
},
"free_throws_made": {
"type": [
"integer",
"null"
]
},
"free_throws_attempted": {
"type": [
"integer",
"null"
]
},
"free_throw_pct": {
"type": [
"string",
"null"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/bigballsdata-com-nba-box-score-entry"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.