How often does an NBA big man go over his blocks line?
One row per game with a player's blocks line, the price, how many he blocked and whether he went over. Victor Wembanyama went over in 30 of 65.
Code verified October 21, 2026. One call to get_prop_history, 10 credits.
The call
player_id comes from search_players. Other markets: points, rebounds, assists, threes, points + rebounds + assists and steals. Blocks lines are low and move in half-block steps, so a one-block move in the line is a big change.
import requests
import pandas as pd
API_KEY = "YOUR_API_KEY"
resp = requests.post(
"https://mcp.dunkapi.com/v1/get_prop_history",
headers={"x-api-key": API_KEY},
json={
"player_id": "5104157",
"market": "player_blocks",
"from_date": "2025-10-01",
"to_date": "2026-04-15",
"limit": 100,
},
timeout=60,
)
resp.raise_for_status()
data = resp.json()["data"]
games = pd.DataFrame(data["games"])
s = data["summary"]
print(data["player_name"], data["stat"], "|", s["overs"], "overs,", s["unders"], "unders, over rate", s["over_rate"])
print("average line", s["avg_line"], "average actual", s["avg_actual"])
print(games[["game_date", "open_line", "line", "actual", "result"]].tail(6).to_string(index=False))
# Games, overs and average blocks at each line the books set.
games["over"] = (games["result"] == "over").astype(int)
print(games.groupby("line").agg(games=("over", "size"), overs=("over", "sum"), avg_blocks=("actual", "mean")).round(2))
# Quiet nights: the share of games with one block or none.
print("one block or fewer in", round((games["actual"] <= 1).mean(), 3), "of games")
Replace YOUR_API_KEY with a key from your dashboard. Python needs requests and pandas (pip install requests pandas). JavaScript runs on Node 18 or newer, or in the browser.
Or use the official client: pip install dunkapi
What comes back
The data object of the response, trimmed to the first rows. Every field is real output from the run above.
{
"player_id": "5104157",
"player_name": "Victor Wembanyama",
"market": "player_blocks",
"stat": "blocks",
"bookmaker": null,
"games": [
{
"game_id": "401809235",
"game_date": "2025-10-22",
"line": 3.5,
"open_line": 3.5,
"over_odds": -120,
"under_odds": -110,
"books": 5,
"actual": 3,
"result": "under",
"margin": -0.5
},
{
"game_id": "401809949",
"game_date": "2025-10-24",
"line": 3.5,
"open_line": 3.5,
"over_odds": -160,
"under_odds": 115,
"books": 4,
"actual": 9,
"result": "over",
"margin": 5.5
},
{
"game_id": "401809960",
"game_date": "2025-10-26",
"line": 3.5,
"open_line": 3.5,
"over_odds": -200,
"under_odds": 118,
"books": 4,
"actual": 6,
"result": "over",
"margin": 2.5
},
{
"game_id": "401809973",
"game_date": "2025-10-27",
"line": 4.5,
"open_line": 4.5,
"over_odds": 120,
"under_odds": -159,
"books": 4,
"actual": 1,
"result": "under",
"margin": -3.5
}
],
"count": 65,
"summary": {
"games": 65,
"graded": 65,
"overs": 30,
"unders": 35,
"pushes": 0,
"over_rate": 0.462,
"avg_line": 2.8,
"avg_actual": 3.1
},
"truncated": false,
"next_from_date": null
}The example player is Victor Wembanyama. The record against the line, market by market, is on the Victor Wembanyama prop history page.
What to do next
- get_player_props (10 credits). Every sportsbook's blocks line for tonight's game.
- get_player_games (5 credits). The player's blocks, minutes and fouls by game.
More guides
The same guide for other sports
The latest lines from every book are on the odds board. Today's props, with the best price on each side, are on the player props board. Rather ask Claude? 16 free Claude skills call these endpoints for you.
Start with 500 free credits every month
No card. REST or MCP.