Skip to main content
Glama

DunkAPI

Prop history

get_prop_history
Read-onlyIdempotent

Use to see how a player did against his prop line over time: for one market (points, rebounds, assists, threes, blocks, steals, one of the combos (points + rebounds + assists, points + rebounds, points + assists, rebounds + assists), double-double or triple-double), one row per game with the closing line (the median across books, or one book's), the opening line (the same as the close wherever only one capture was taken), the prices, what the player actually recorded from our box scores and the result against the line, plus the over rate, up to 200 games a call. Costs 10 credits for every 25 games already played that a call covers, and at least 10 a call (accounts opened before November 1 2026 pay 10 a call). Set estimate_only to get the price without being charged. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

Input Schema

NameRequiredDescriptionDefault
limitNoGames to return, oldest first (default 50, max 200). next_from_date says where to continue.
leagueNoLeague. Defaults to nba. One of: nba, wnba, ncaam.
marketYesThe market: player_points (points), player_rebounds (rebounds), player_assists (assists), player_threes (three-pointers made), player_points_rebounds_assists (points + rebounds + assists), player_blocks (blocks), player_steals (steals), player_points_rebounds (points + rebounds), player_points_assists (points + assists), player_rebounds_assists (rebounds + assists), player_double_double (double-double (over = yes)), player_triple_double (triple-double (over = yes))
to_dateNoLast date, YYYY-MM-DD (the game's date).
bookmakerNoOne book's closing line instead of the median across books, e.g. draftkings.
from_dateNoFirst date, YYYY-MM-DD (the game's date).
player_idYesPlayer id (e.g. 3945274) from search_players.
estimate_onlyNoReturn what this call would cost, without charging or running it.

Output Schema

NameRequiredDescriptionDefault
noteNo
statYes
toolNo
countYes
gamesYes
marketYes
creditsNo
summaryYes
bookmakerYes
player_idYes
truncatedNo
player_nameYes
estimate_onlyNo
next_from_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / market / description
      Previous value: -"The market: player_points (points), player_rebounds (rebounds), player_assists (assists), player_threes (three-pointers made), player_points_rebounds_assists (points + rebounds + assists), player_blocks (blocks), player_steals (steals)"New value: +"The market: player_points (points), player_rebounds (rebounds), player_assists (assists), player_threes (three-pointers made), player_points_rebounds_assists (points + rebounds + assists), player_blocks (blocks), player_steals (steals), player_points_rebounds (points + rebounds), player_points_assists (points + assists), player_rebounds_assists (rebounds + assists), player_double_double (double-double (over = yes)), player_triple_double (triple-double (over = yes))"
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "player_points",
      -  "player_rebounds",
      -  "player_assists",
      -  "player_threes",
      -  "player_points_rebounds_assists",
      -  "player_blocks",
      -  "player_steals"
      -]New value: +[
      +  "player_points",
      +  "player_rebounds",
      +  "player_assists",
      +  "player_threes",
      +  "player_points_rebounds_assists",
      +  "player_blocks",
      +  "player_steals",
      +  "player_points_rebounds",
      +  "player_points_assists",
      +  "player_rebounds_assists",
      +  "player_double_double",
      +  "player_triple_double"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / estimate_only
      Added value: +{
      +  "description": "Return what this call would cost, without charging or running it.",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Far exceeds the annotations: it discloses the credit cost model (10 credits per 25 games played, minimum 10, legacy 10-credit pricing), a 200-game-per-call cap with oldest-first ordering, and an explicit policy that prices are market information and no stake/payout advice may be derived. These are behavioral constraints an agent cannot get from readOnlyHint/idempotentHint alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the use case and output shape, then packs cost and policy details into the same paragraph. The single long sentence is dense and slightly run-on, but nearly every clause carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, and it still covers cost, per-call limits, continuation behavior, and the no-betting-advice policy. For an 8-parameter, credit-charging read tool this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the schema, which sets the baseline at 3. The description adds only marginal parameter meaning (the per-call 200-game cap, the opening-line-equals-close caveat) beyond what the schema states for bookmaker, market, and limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'see how a player did against his prop line over time,' then enumerates exactly what a row contains (closing line, opening line, prices, actual result, over rate). This is clearly distinguishable from siblings like get_player_props (current lines) and get_line_movement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use to see how a player did against his prop line over time' gives clear usage context, plus the estimate_only path for pricing without charge. It does not explicitly name when to prefer get_player_props or get_line_movement instead, so no true exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.