PrizePicks API MCP server
Which MCP servers are PrizePicks API's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-11-03
- Registry namecom.prizepicksapi/serververified in the MCP registry
The registry name sits under prizepicksapi.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-11-03
- Tools30
- Server calls itselfprizepicksapi
- Server version1.0.0
- Protocol version2025-06-18
On 2026-11-03 the server answered initialize and tools/list without a sign-in. First answer in 132 ms.
- Its tools do every use case we checked: track PrizePicks line moves against recorded sportsbook prices; grade picks against final box score results.
- Checked on 1 of the 7 days it takes to judge reliability.
Once connected
- For "grade picks against final box score results", the likely first call is get_results.
- Keep approval on for send_feedback: they delete, send or pay without saying so.
- send_feedback change data without a sign-in: anyone with the address can call them.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
- What an agent can do with it2 of 2 use cases
- Answeredmeasuring1 of the 7 daily checks it takes to print a share
- Median first answer125 ms
- Space in an agent's context≈ 11,915 tokensthe definitions of all its tools (30), which an agent carries on every turn
- Tool definitionsA · 97 of 100
- Typed results2 of 30 toolsdeclared outputSchema: results come typed, read once
- No description an agent can choose by: 1 of 30
- Parameters without a description: in 5 of 30
What an agent can do with it
- can do · track PrizePicks line moves against recorded sportsbook prices
- not sure · backtest prop models on labelled historical training rows
- can do · grade picks against final box score results
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that delete, send or pay, marked as not destructive: send_feedback
- Tools that change data, on a server that answers without a sign-in: send_feedback
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
get_coverageStart here. Every league on the board now, with offer counts and available stats, plus which have history and graded results.
get_projectionsThe first place to get current PrizePicks lines, with goblin and demon tiers labeled. Filter by one league or comma-separated leagues (NBA,NFL,NHL), stat, player or team search, and tier (standard, goblin, demon). Exact league codes only…
get_line_historyEvery recorded change to one projection, oldest first. Use an id from get_projections. Free plan: the last 7 days.
get_changesChange feed across the board: new, changed, pulled and restored lines. Save next_cursor and pass it back to read only what moved since. This is the cheap way to stay current. Free plan: the last 7 days.
get_board_atThe board as it stood at a past instant (as_of, ISO 8601 with a time zone). For backtests and point-in-time questions. Free plan: the last 7 days.
get_imported_linesPast lines supplied by third parties, not recorded by this API. Every row carries provenance. Empty until meta.available_datasets is above 0. Never present these as lines this API observed. Free plan: games from the last 7 days.
get_resultsLines graded against final box scores, NBA and the leagues in meta.leagues_graded: closing line, actual value, over, under, push or void. Free plan: the last 7 days.
get_hit_ratesHow often one player has gone over, per stat, across their last graded games. Free plan: the last 10 games, with per-game rows from the last 7 days.
get_game_logsA player's box score line for each past game, newest first: minutes, opponent, home or away, and every stat. Use for recent form and for prop model features. Pass player_id (from get_projections or find_players), or player and league…
get_team_statsA team's stats per game with the opponent's beside them, or group_by=season for per-game averages and totals. Needs league, one of meta.stats_leagues. Send team, or a season to read every team. Free plan: one team, its last 10 games.
get_opponent_statsWhat a team gives up per game to opposing teams, or by=position for what each position records against it. Needs league, one of meta.stats_leagues. Send team, or a season to read every team. Set end_date to read it as of a past day. Free…
get_training_setOne flat row per graded line for building a prop model: opening and closing line, tier, opponent, home or away, rest days, minutes, actual value, result. Voids left out unless include_void=true. Page with cursor; save rows as you go…
compare_linesPrizePicks lines beside offered sportsbook prices for a league. Use it to see where a line differs from the market. Free plan: prices run 5 minutes behind, and as_of is off.
get_live_sportsDeveloper or Production: latest source-pushed game scores, period, clock and status. Optional league and source filters. Use source=prizepicks for PrizePicks game state; default is polymarket. These are game updates, not projection lines…
get_stale_linesPrizePicks lines (NBA, NFL, NHL, before the game) where the BetRivers or Kalshi price for the same player and stat moved materially while the PrizePicks line stayed. Each row has the line, the book move in probability points, when it…
get_trendingCurrent lines by reported pick count, or with sort=change by how fast the count is rising. Most lines report no count. For screens and alerts.
get_line_popularityThe reported pick count of one line every 15 minutes, and its value at the start. Use an id from get_projections.
get_oddsPrizePicks lines and book prices grouped by fixture. Needs fixture_id or league.
find_playersStable player ids by name, league or team.
get_fixturesGames with lines on the board, by league, date or status.
get_fixtureOne fixture by id.
get_injuriesCurrent third-party injury reports for NBA, NFL, NHL and WNBA.
get_payoutsStandard PrizePicks payout tables with per-leg break-even rates.
get_demo_projectionsFictional sample rows in the live response shape, for trying the API without a key. Never present these as real lines.
searchFind a player, league, guide or answer on prizepicksapi.com. Needs no key. Then call fetch with a result id. Use this when no API key is connected.
fetchThe full text of one search result: a player's current lines and recent graded results, a league summary, a guide or an answer. Needs no key. Quote the read time when you state a line.
start_signupStarts getting a free API key. Say what data your user wants and what they want to do with it; ask them if you do not know, and do not guess. Returns a link for your user to approve in the browser. Show them the link and code, then call…
finish_signupCall with device_code from start_signup, every few seconds, until your user has approved. Returns the key once. Store it as an environment variable, never in a repo.
complete_setupRequired once per account before the data tools work. Say what data your user is looking for and what they want to do with it, in your own words. Ask your user if you do not already know; do not guess or make it up. Costs no quota. Leave…
send_feedbackReport data or a feature you needed and could not get, wrong data, or anything confusing. Be specific about league, stat, field and what you were trying to do. Leave out personal data. Needs no key and costs no quota.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"prizepicksapi": {
"type": "http",
"url": "https://prizepicksapi.com/api/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http prizepicksapi https://prizepicksapi.com/api/mcpclaude.ai, ChatGPT and other clients: add https://prizepicksapi.com/api/mcp as a custom connector in the settings.
OpenAPI spec
36 paths, read 2026-11-03. Open the spec ↗
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.