{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f0cb3c13-063b-490a-aa7f-5af135aacbe6","name":"NBA Statistics Go","description":"# NBA Statistics API\n\nThe NBA Statistics Go API provides comprehensive access to NBA player statistics, game data, and shot chart information.\n\nThis RESTful API allows developers to retrieve historical and current season data for players, teams, and games across both regular season and playoff periods.\n\n## [Interactive Swagger Docs Here](https://api.server.nbaapi.com)\n\n---\n\n### New Postman Visualizations\n\n<img src=\"https://files.catbox.moe/sfi5z7.png\" alt=\"Preview Player Advanced\">\n\n<img src=\"https://files.catbox.moe/no1mpw.png\" alt=\"Preview Games\">\n\n<img src=\"https://files.catbox.moe/ol7sjl.png\" alt=\"Preview Games Detailed\">\n\n## Base URL\n\nAll API requests should be made to the base URL stored in the `{{base_url}}` variable:\n\n``` curl\nhttps://api.server.nbaapi.com\n\n ```\n\n## Authentication\n\n**No authentication is currently required** for accessing public endpoints. All endpoints are openly accessible without API keys or tokens.\n\n**Future Considerations:** Upcoming versions may introduce API key authentication via the `x-api-key` header for rate limiting and usage tracking purposes.\n\n## Pagination\n\nThe API implements cursor-based pagination for endpoints that return large datasets. Pagination behavior varies by endpoint:\n\n### Stats Endpoints (`/api/playertotals` and `/api/playeradvancedstats`)\n\nThese endpoints return a `pagination` object in the response containing:\n\n- **`page`** (integer): Current page number\n    \n- **`pageSize`** (integer): Number of results per page (configurable via query parameter)\n    \n- **`totalPages`** (integer): Total number of pages available\n    \n- **`totalResults`** (integer): Total number of records matching the query\n    \n\n**Query Parameters:**\n\n- `page` (integer, optional): Page number to retrieve. Defaults to `1`.\n    \n- `pageSize` (integer, optional): Number of results per page. Defaults to `20`. Maximum recommended: `100`.\n    \n\n### Shot Chart Endpoint (`/api/playershotchart`)\n\nThis endpoint has a **fixed page size of 50 results** per page. Use the `page` parameter to navigate through results.\n\n### Games Endpoint (`/api/games`)\n\nSupports flexible pagination with `page` and `pageSize` parameters similar to stats endpoints.\n\n## Common Query Parameters\n\nMany endpoints share common query parameters for filtering and sorting:\n\n| Parameter | Type | Description | Example |\n| --- | --- | --- | --- |\n| `season` | integer | Four-digit season year (year the season ends) | `2025` for 2024-25 season |\n| `team` | string | Three-letter team abbreviation | `LAL`, `BOS`, `GSW` |\n| `playerId` | string | Unique player identifier (Basketball Reference format) | `jamesle01`, `curryst01` |\n| `page` | integer | Page number for pagination | `1`, `2`, `3` |\n| `pageSize` | integer | Results per page (where applicable) | `20`, `50`, `100` |\n| `isPlayoff` | boolean | Filter for playoff vs regular season data | `true`, `false` |\n| `sortBy` | string | Field name to sort results by | `points`, `assists`, `winShares` |\n| `ascending` | boolean | Sort order direction | `true` (ascending), `false` (descending) |\n\n## Response Format\n\nAll API responses are returned in **JSON format** with the following general structure:\n\n### Successful Response (Games Endpoint)\n\n``` json\n{\n    \"data\": [\n        {\n            \"gameId\": \"202512140POR\",\n            \"date\": \"2025-12-14T14:00:00Z\",\n            \"isPlayoff\": false,\n            \"startTimeET\": \"9:00p\",\n            \"arena\": \"Moda Center\",\n            \"visitorTeam\": \"GSW\",\n            \"visitorPts\": 131,\n            \"homeTeam\": \"POR\",\n            \"homePts\": 136,\n            \"gameDuration\": \"2:23\"\n        },\n        {\n            \"gameId\": \"202512140PHO\",\n            \"date\": \"2025-12-14T13:00:00Z\",\n            \"isPlayoff\": false,\n            \"startTimeET\": \"8:00p\",\n            \"arena\": \"Mortgage Matchup Center\",\n            \"visitorTeam\": \"LAL\",\n            \"visitorPts\": 116,\n            \"homeTeam\": \"PHX\",\n            \"homePts\": 114,\n            \"gameDuration\": \"2:43\"\n        },\n        {\n            \"gameId\": \"202512140CHI\",\n            \"date\": \"2025-12-14T12:00:00Z\",\n            \"isPlayoff\": false,\n            \"startTimeET\": \"7:00p\",\n            \"arena\": \"United Center\",\n            \"visitorTeam\": \"NOP\",\n            \"visitorPts\": 114,\n            \"homeTeam\": \"CHI\",\n            \"homePts\": 104,\n            \"gameDuration\": \"2:14\"\n        }\n    ],\n    \"pagination\": {\n        \"total\": 26101,\n        \"page\": 1,\n        \"pageSize\": 3,\n        \"pages\": 8701\n    }\n}\n\n ```\n\n### Successful Response (Player Total Stats)\n\n``` json\n{\n    \"data\": [\n        {\n            \"playerId\": \"duranke01\",\n            \"playerName\": \"Kevin Durant\",\n            \"position\": \"SF\",\n            \"age\": 37,\n            \"games\": 20,\n            \"gamesStarted\": 20,\n            \"minutesPg\": 707,\n            \"fieldGoals\": 172,\n            \"fieldAttempts\": 345,\n            \"fieldPercent\": 0.499,\n            \"threeFg\": 36,\n            \"threeAttempts\": 91,\n            \"threePercent\": 0.396,\n            \"twoFg\": 136,\n            \"twoAttempts\": 254,\n            \"twoPercent\": 0.535,\n            \"effectFgPercent\": 0.551,\n            \"ft\": 116,\n            \"ftAttempts\": 130,\n            \"ftPercent\": 0.892,\n            \"offensiveRb\": 6,\n            \"defensiveRb\": 86,\n            \"totalRb\": 92,\n            \"assists\": 77,\n            \"steals\": 19,\n            \"blocks\": 12,\n            \"turnovers\": 59,\n            \"personalFouls\": 48,\n            \"points\": 496,\n            \"team\": \"HOU\",\n            \"season\": 2026,\n            \"isPlayoff\": false\n        },\n        {\n            \"playerId\": \"sengual01\",\n            \"playerName\": \"Alperen Şengün\",\n            \"position\": \"C\",\n            \"age\": 23,\n            \"games\": 20,\n            \"gamesStarted\": 20,\n            \"minutesPg\": 718,\n            \"fieldGoals\": 170,\n            \"fieldAttempts\": 341,\n            \"fieldPercent\": 0.499,\n            \"threeFg\": 20,\n            \"threeAttempts\": 55,\n            \"threePercent\": 0.364,\n            \"twoFg\": 150,\n            \"twoAttempts\": 286,\n            \"twoPercent\": 0.524,\n            \"effectFgPercent\": 0.528,\n            \"ft\": 100,\n            \"ftAttempts\": 136,\n            \"ftPercent\": 0.735,\n            \"offensiveRb\": 60,\n            \"defensiveRb\": 128,\n            \"totalRb\": 188,\n            \"assists\": 140,\n            \"steals\": 29,\n            \"blocks\": 19,\n            \"turnovers\": 67,\n            \"personalFouls\": 69,\n            \"points\": 460,\n            \"team\": \"HOU\",\n            \"season\": 2026,\n            \"isPlayoff\": false\n        },\n        {\n            \"playerId\": \"thompam01\",\n            \"playerName\": \"Amen Thompson\",\n            \"position\": \"PG\",\n            \"age\": 23,\n            \"games\": 22,\n            \"gamesStarted\": 22,\n            \"minutesPg\": 796,\n            \"fieldGoals\": 150,\n            \"fieldAttempts\": 310,\n            \"fieldPercent\": 0.484,\n            \"threeFg\": 9,\n            \"threeAttempts\": 47,\n            \"threePercent\": 0.191,\n            \"twoFg\": 141,\n            \"twoAttempts\": 263,\n            \"twoPercent\": 0.536,\n            \"effectFgPercent\": 0.498,\n            \"ft\": 76,\n            \"ftAttempts\": 94,\n            \"ftPercent\": 0.809,\n            \"offensiveRb\": 58,\n            \"defensiveRb\": 99,\n            \"totalRb\": 157,\n            \"assists\": 115,\n            \"steals\": 30,\n            \"blocks\": 11,\n            \"turnovers\": 57,\n            \"personalFouls\": 56,\n            \"points\": 385,\n            \"team\": \"HOU\",\n            \"season\": 2026,\n            \"isPlayoff\": false\n        }\n    ],\n    \"pagination\": {\n        \"total\": 14,\n        \"page\": 1,\n        \"pageSize\": 3,\n        \"pages\": 5\n    }\n}\n\n ```\n\n### Error Response\n\n``` json\n{\n    \"error\": \"Cannot GET /api/playertotal\"\n}\n\n ```\n\n## Error Handling\n\nThe API uses standard HTTP status codes to indicate success or failure:\n\n| Status Code | Meaning | Common Causes |\n| --- | --- | --- |\n| `200 OK` | Request successful | Valid request with results |\n| `400 Bad Request` | Invalid request parameters | Malformed query parameters, invalid data types |\n| `404 Not Found` | Resource not found | Invalid endpoint or no data matching criteria |\n| `500 Internal Server Error` | Server error | Unexpected server-side issue |\n| `503 Service Unavailable` | Service temporarily unavailable | Maintenance or high load |\n\n**Best Practices:**\n\n- Always check the HTTP status code before processing response data\n    \n- Implement retry logic with exponential backoff for 5xx errors\n    \n- Validate query parameters before making requests\n    \n\n## Rate Limiting\n\n**Current Status:** No rate limiting is enforced on public endpoints.\n\n**Recommendations:**\n\n- Implement client-side throttling to avoid overwhelming the API\n    \n- Cache responses when appropriate to reduce redundant requests\n    \n- Consider batching requests during off-peak hours for large data pulls\n    \n\n## Data Information\n\n### Season Year Format\n\nSeason years are represented by the **year in which the season ends**. For example:\n\n- `2025` represents the 2024-25 NBA season\n    \n- `2024` represents the 2023-24 NBA season\n    \n\n### Player ID Format\n\nPlayer IDs follow the Basketball Reference naming convention:\n\n- Format: First 5 letters of last name + first 2 letters of first name + `01` (incremented for duplicates)\n    \n- Examples: `jamesle01` (LeBron James), `curryst01` (Stephen Curry), `duranke01` (Kevin Durant)\n    \n\n### Playoff vs Regular Season Data\n\nUse the `isPlayoff` parameter to distinguish between regular season and playoff statistics:\n\n- `isPlayoff=false` or omitted: Regular season data\n    \n- `isPlayoff=true`: Playoff data only\n    \n\n**Note:** Playoff data is only available for players/teams that qualified for the playoffs in a given season.\n\n### Data Freshness\n\n- **Historical Data:** Complete data available from the 1946-47 season onwards\n    \n- **Current Season:** Data is updated daily, typically within 2-4 hours after games conclude\n    \n- **Live Data:** This API does not provide real-time game data\n    \n\n### Team Abbreviations\n\nThe API uses standard three-letter NBA team abbreviations. Common examples:\n\n| Team | Abbreviation | Team | Abbreviation |\n| --- | --- | --- | --- |\n| Atlanta Hawks | ATL | Memphis Grizzlies | MEM |\n| Boston Celtics | BOS | Miami Heat | MIA |\n| Brooklyn Nets | BKN | Milwaukee Bucks | MIL |\n| Charlotte Hornets | CHA | Minnesota Timberwolves | MIN |\n| Chicago Bulls | CHI | New Orleans Pelicans | NOP |\n| Cleveland Cavaliers | CLE | New York Knicks | NYK |\n| Dallas Mavericks | DAL | Oklahoma City Thunder | OKC |\n| Denver Nuggets | DEN | Orlando Magic | ORL |\n| Detroit Pistons | DET | Philadelphia 76ers | PHI |\n| Golden State Warriors | GSW | Phoenix Suns | PHX |\n| Houston Rockets | HOU | Portland Trail Blazers | POR |\n| Indiana Pacers | IND | Sacramento Kings | SAC |\n| LA Clippers | LAC | San Antonio Spurs | SAS |\n| Los Angeles Lakers | LAL | Toronto Raptors | TOR |\n| Utah Jazz | UTA | Washington Wizards | WAS |\n\n**Note:** Historical teams use their abbreviations from the respective era (e.g., SEA for Seattle SuperSonics).\n\n## API Endpoints Overview\n\nThis collection includes the following endpoints:\n\n1. **Games** - Retrieve game schedules and results\n    \n2. **Player Totals Stats** - Traditional counting statistics (points, rebounds, assists, etc.)\n    \n3. **Player Totals Playoffs Stats** - Playoff-specific counting statistics\n    \n4. **Player Advanced Stats** - Advanced metrics (PER, Win Shares, VORP, etc.)\n    \n5. **Player Advanced Playoff Stats** - Playoff-specific advanced metrics\n    \n6. **Shot Chart** - Detailed shot location and outcome data\n    \n\n## Additional Resources\n\n- **API Status:** Check service status and uptime at the provider's status page\n    \n- **Support:** For questions or issues, contact the API maintainers\n    \n- **Updates:** Monitor the changelog for API updates and new features\n    \n\n## Tips for Optimal Usage\n\n1. **Use Specific Filters:** Narrow down queries with season, team, or player filters to reduce response size\n    \n2. **Implement Caching:** Cache frequently accessed data (e.g., historical statistics) to improve performance\n    \n3. **Batch Requests:** When retrieving data for multiple entities, consider batching requests\n    \n4. **Monitor Response Times:** Track API response times and adjust `pageSize` if experiencing slowdowns\n    \n5. **Handle Empty Results:** Always check if the `data` array is empty before processing results\n    \n6. **Validate Player IDs:** Verify player ID format before making requests to avoid 404 errors\n    \n\n---\n\n#### NEW ENDPOINTS AND ENHANCED DATA COMING SOON.\n\n<video src=\"https://youtube.com/embed/XG7loUH_934\" alt=\"Preview\" width=\"704\" height=\"412\"></video>\n\n<img src=\"https://files.catbox.moe/xi66gb.png\" alt=\"Preview Player Totals\">\n\n---\n\n**Version:** 1.1  \n**Last Updated:** 2025","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"25652688","team":5323179,"collectionId":"f0cb3c13-063b-490a-aa7f-5af135aacbe6","publishedId":"2sB34Zs4xZ","public":true,"publicUrl":"https://documenter-api.postman.tech/view/25652688/2sB34Zs4xZ","privateUrl":"https://go.postman.co/documentation/25652688-f0cb3c13-063b-490a-aa7f-5af135aacbe6","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"This collection provides access to the NBA_Go API, a service for retrieving comprehensive NBA player statistics. You can fetch total stats, advanced metrics, and detailed shot chart data."},{"name":"title","value":"NBA Stats API"}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2025-12-30T09:20:51.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"NBA Stats API","description":"This collection provides access to the NBA_Go API, a service for retrieving comprehensive NBA player statistics. You can fetch total stats, advanced metrics, and detailed shot chart data."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/d1e65c4ec762c0328d0934f8cb4f9416092e576fcf8b5e757b657e49a730af93","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sB34Zs4xZ"}