get_prop_history
A player's prop lines against what he did, game by game, with the over rate.
Use it when you are asking whether a player beats his line: for one market, each game's closing line (the median across books), what he actually recorded in shots, goals or points from our play-by-play, and the over rate, from May 2023.
Parameters
player_idstring | numberrequired- Player id (e.g. 8478402) from search_players.
marketenum: player_points | player_goals | player_assists | player_shots_on_goal | player_blocked_shots | player_total_saves | player_goal_scorer_anytimerequired- The market.
from_datestringoptional- First date, YYYY-MM-DD (the game's date).
to_datestringoptional- Last date, YYYY-MM-DD (the game's date).
bookmakerstringoptional- One book's closing line instead of the median across books, e.g. draftkings.
limitintegeroptional- Games to return, oldest first (default 50, max 200). next_from_date says where to continue.
Notes
- Over MCP, ask for it in plain English and the client calls
get_prop_historyitself. Point any MCP client athttps://mcp.puckapi.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.puckapi.com/v1/get_prop_history \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"player_id": 8470000,
"market": "player_shots_on_goal"
}'Response
{
"player_id": 8470000,
"player_name": "Example Player",
"market": "player_shots_on_goal",
"stat": "shots on goal",
"bookmaker": null,
"games": [
{
"game_id": "2023020001",
"game_date": "2023-10-10",
"line": 3.5,
"open_line": 3.5,
"over_odds": -110,
"under_odds": -110,
"books": 7,
"actual": 4,
"result": "over",
"margin": 0.5
}
],
"count": 1,
"summary": {
"games": 1,
"graded": 1,
"overs": 1,
"unders": 0,
"pushes": 0,
"over_rate": 1,
"avg_line": 3.5,
"avg_actual": 4
},
"truncated": false,
"next_from_date": null,
"note": "Illustrative example: made-up player and numbers, to show the shape of a response."
}Response fields
player_idnumber- The player
marketstring- The market asked for
statstring- What the market settles on, e.g. shots on goal
games[]array- One row per game, oldest first
games[].linenumber | null- Closing line: the median across books, or the one book asked for
games[].open_linenumber | null- Opening line, same rule
games[].booksnumber- Books the closing line is drawn from
games[].actualnumber | null- What the player recorded; null where we have no result
games[].resultstring | null- over, under or push against the closing line
summaryobject- Games, graded, overs, unders, pushes, over_rate, avg_line, avg_actual
next_from_datestring | null- Where to continue when more games matched than one call returns
Related endpoints
Returns the player_id this one takes.
Find players by name, team, or position.
Takes the player_id this one returns.
Player bio and goalie stats (if goalie). For skaters, returns bio info and team context.
Returns the player_id this one takes.
Goalie leaderboard sorted by save%, GAA, GSAX or wins, with high-danger save%, recent form and rest days.
Takes the player_id this one returns.
A player's game-by-game stat lines for a season: date, opponent, home/away, and the box score for each game.
Try it
500 credits free on signup: 50 calls to get_prop_history, and no card.