Skip to main content
Glama

FastballAPI

Player props

get_player_props
Read-onlyIdempotent

Use for player prop lines by sportsbook: over/under on hits, home runs, total bases, RBI, pitcher strikeouts and pitcher outs, from May 2023 (DraftKings, FanDuel, BetMGM, ESPN BET, Pinnacle and others). Pass game_id for every player's props in one game, or player_id with from_date (and to_date) for one player across games (up to 100). A game costs 10 credits before it starts and 20 once it has (accounts opened before October 30 2026 pay 10 for every game). Returns the closing line by default (the last before the game starts) or the opening line, with each book's over and under prices. Each row has captured_at, scheduled_start and minutes_before_scheduled_start (negative when captured after the scheduled start); a row is kept when it was captured before the sportsbooks' listed start, which in the NBA is usually about 10 minutes after the scheduled one, so filter on minutes_before_scheduled_start > 0 for a strictly before-schedule backtest. Outside football the archive mostly holds one pre-game capture per line, so the opening and closing lines are usually the same; the opening line differs only where a second capture was taken (live capture from October 2026, and wherever else it is held). 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
marketNoOne market: batter_hits (hits), batter_home_runs (home runs), batter_total_bases (total bases), batter_rbis (runs batted in), pitcher_strikeouts (pitcher strikeouts), pitcher_outs (pitcher outs recorded)
game_idNoGame id: every player's props for that game.
to_dateNoWith player_id: last date (default: no end), YYYY-MM-DD (the game's date).
bookmakerNoBookmaker key, e.g. draftkings, fanduel, pinnacle.
from_dateNoWith player_id: first date, YYYY-MM-DD (the game's date).
player_idNoPlayer id (e.g. 33192) from search_players. With from_date: that player's props across games.
estimate_onlyNoReturn what this call would cost, without charging or running it.
snapshot_typeNoclosing (default): the last line before the game starts. opening: the first one captured, which is the same capture as the close wherever only one was taken.

Output Schema

NameRequiredDescriptionDefault
noteNo
toolNo
countNo
gamesNo
propsNo
creditsNo
estimate_onlyNo
snapshot_typeNo
next_from_dateNo
credits_per_gameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / props / items / properties / minutes_before_scheduled_start
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / props / items / properties / scheduled_start
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / snapshot_type / description
      Previous value: -"closing (default): the last line before the game starts. opening: the first one captured."New value: +"closing (default): the last line before the game starts. opening: the first one captured, which is the same capture as the close wherever only one was taken."
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the read-only annotations, it discloses credit costs, estimate_only behavior, default closing-line snapshot semantics, capture-timing fields, the archive's limited multi-capture coverage, and a backtest filtering rule. It also includes an explicit compliance constraint against calculating stakes or recommending bets.

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?

The purpose and access modes are front-loaded, and most of the long paragraph earns its place by explaining cost, snapshot behavior, and capture timing. It is dense and would benefit from bullets or shorter sentences, but it is not padded with empty filler.

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?

Given the output schema, the description does not need to explain return fields, yet it still covers the subtle cases an agent must know: opening vs closing lines, capture timing, archive limitations, billing, and estimate mode. Nothing material for correct invocation is missing.

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

Parameters4/5

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

Schema coverage is 100%, so parameter definitions are already documented. The description still adds meaningful relational semantics by emphasizing the two mutually exclusive access patterns, the 100-row limit, and how estimate_only interacts with billing.

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

Purpose4/5

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

It states a specific resource (player prop lines by sportsbook) and enumerates the covered markets, so the agent knows exactly what data is returned. It does not distinguish itself from nearby siblings such as get_prop_history or get_odds, which leaves some ambiguity at the selection stage.

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?

The description gives clear operational modes: pass game_id for a whole game, or player_id with from_date/to_date for one player across games, plus the 100-row cap. It does not state when not to use this tool or name the alternative sibling to use instead.

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.