get_shot_chart
10 creditsMulti-tablePOST /v1/get_shot_chart
Shot profile by zone for a player, team or defence, with every shot's x/y
Use it when you want where a player or team shoots from and how well, by zone, with expected points per shot, or every shot's x/y to draw a chart.
Parameters
player_idstringoptionalteamstringoptional- Team id or abbreviation.
opponentbooleanoptional- With team: the shots its opponents took (its defence).
game_idstringoptionalseasonnumber | stringoptional- Season by the year it ends (default: the latest).
season_typeenum: regular | postseason | play_in | preseasonoptionalinclude_shotsbooleanoptional- Add each shot's x, y and result (up to 3,000).
Notes
- Over MCP, ask for it in plain English and the client calls
get_shot_chartitself. Point any MCP client athttps://mcp.dunkapi.com/mcp?key=YOUR_API_KEY. - Each call costs 10 credits, taken before it runs and refunded if the server errors.
- Not the call you need? Find the right call by what you are trying to answer.
Request
curl -X POST https://mcp.dunkapi.com/v1/get_shot_chart \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"player_id": "4065648",
"season": 2024
}'Response
json
{
"season": 2024,
"zones": [
{
"zone": "restricted_area",
"attempts": 364,
"made": 261,
"pct": 0.717,
"points_per_shot": 1.434,
"expected_points_per_shot": 1.27
},
{
"zone": "paint",
"attempts": 220,
"made": 91,
"pct": 0.414,
"points_per_shot": 0.827,
"expected_points_per_shot": 0.812
},
{
"zone": "midrange",
"attempts": 232,
"made": 91,
"pct": 0.392,
"points_per_shot": 0.784,
"expected_points_per_shot": 0.802
}
],
"field_goal_attempts": 1425,
"share": {
"restricted_area": 0.255,
"paint": 0.154,
"midrange": 0.163,
"corner_3": 0.027,
"above_break_3": 0.401
}
}Response fields
seasonnumberzones[]array- List of objects
zones[].zonestringzones[].attemptsnumberzones[].madenumberzones[].pctnumberzones[].points_per_shotnumberzones[].expected_points_per_shotnumberfield_goal_attemptsnumbershareobjectshare.restricted_areanumbershare.paintnumbershare.midrangenumbershare.corner_3numbershare.above_break_3number
Related endpoints
list_teams1 cr
Returns the team this one takes.
Team ids, abbreviations and colours for a season
search_players1 cr
Returns the player_id this one takes.
Find players by name
list_games2 cr
Returns the game_id this one takes.
Games with scores by season, date, range or team
get_standings2 cr
Returns the team this one takes.
Standings from every final game: overall, conference, home, away, last 10
Try it
500 credits free on signup: 50 calls to get_shot_chart, and no card.