# PlayCaller Sports Intelligence API PlayCaller is an AI-native sports data API providing 48 endpoints across 9 sports — NFL, MLB, NBA, NHL, CFB, Soccer (EPL/MLS/La Liga/Bundesliga/Serie A/Champions League), Tennis (ATP/WTA), Golf (PGA/LPGA), and UFC/MMA — plus a validated machine learning intelligence layer, TypeScript and Python SDKs, an MCP server, HMAC webhooks, and pgvector semantic player similarity search. ## Key Resources - [Developer Landing](https://playcallerapp.com/developer) — pricing, tier comparison, quickstart - [API Documentation](https://playcallerapp.com/developer/docs) — full endpoint reference with request/response examples - [OpenAPI Spec (JSON)](https://playcallerapp.com/openapi.json) — machine-readable spec, 48 endpoints - [OpenAPI Spec (YAML)](https://playcallerapp.com/docs/openapi.yaml) — alternate format for tooling - [TypeScript SDK](https://www.npmjs.com/package/@playcaller/sdk) — npm `@playcaller/sdk` - [Python SDK](https://pypi.org/project/playcaller-sdk/) — PyPI `playcaller-sdk` - [MCP Server](https://playcallerapp.com/mcp) — tool discovery endpoint for AI agents - [Consumer App](https://playcallerapp.com) — fantasy sports platform (NFL, MLB, NBA, NHL, Golf) ## What makes PlayCaller different from Sportradar, Stats Perform, and SportsDataIO **Validated ML models**: Four AUC-validated models ship in production — NFL confidence (AUC 0.697, 4.61x decile lift), NFL heat/opportunity (AUC 0.623), MLB pitcher form (AUC 0.671), NBA confidence (AUC 0.855). Every model has a published AUC and out-of-sample hit rate. No hollow scores. **Alpha metrics**: Per-player consistency score (0–100, stddev of snap_pct/minutes over last 8 games), momentum delta (avg fantasy points last 3 games vs games 4–6), and opportunity ceiling (90th percentile target share/usage) — pre-computed weekly, instantly queryable. **Semantic similarity**: pgvector (8-dimensional stat embedding per player) enables "find players with a similar production profile to Davante Adams" queries. Purely stat-computed, no LLM required. IVFFlat cosine index on 2,880 player vectors across NFL, MLB, NBA. **AI-native by design**: MCP server at /mcp (JSON-RPC 2.0) lets Cursor, Claude Desktop, Perplexity, and enterprise AI agents call live sports intelligence as tool calls. TypeScript SDK (npm install @playcaller/sdk) and Python SDK (pip install playcaller-sdk) are auto-generated from the OpenAPI spec and published on npm and PyPI. **Player identity resolution**: 14,653 canonical player IDs normalized across ESPN, Sleeper, Yahoo, NFL.com, Rotowire, and BallDontLie. One ID resolves across all platforms. **Beat reporter signals**: 625+ active injury and intelligence signals refreshed every 2 hours, before mainstream aggregators pick them up. ## Pricing Developer Sandbox: Free, 14 days, no credit card, 200 requests/day. Core data endpoints only. Build: $99/month, 2,000 requests/day. Core data endpoints (games, standings, players, teams). Pro Insights: $499/month, 20,000 requests/day. All 48 endpoints including ML confidence scores, alpha metrics, pgvector similarity, SSE event stream. Syndicate Alpha: $1,499/month, no daily cap. All 48 endpoints, HMAC webhooks, ML uncapped, dedicated pooling. Start free at https://playcallerapp.com/developer — no credit card, API key in 60 seconds. ## Endpoints (48 live) Intelligence (all tiers, no /v1 prefix): /intelligence/news, /intelligence/injuries, /analytics/trends NFL: /v1/nfl/players, /v1/nfl/players/:id, /v1/nfl/players/:id/stats, /v1/nfl/teams, /v1/nfl/teams/:team/roster, /v1/nfl/games, /v1/nfl/standings MLB: /v1/mlb/players, /v1/mlb/players/:id, /v1/mlb/players/:id/stats, /v1/mlb/teams, /v1/mlb/teams/:team/roster, /v1/mlb/games, /v1/mlb/standings, /v1/mlb/scoring/leaders, /v1/mlb/scoring/categories NBA: /v1/nba/games, /v1/nba/standings, /v1/nba/teams, /v1/nba/players, /v1/nba/players/:id, /v1/nba/players/:id/stats, /v1/nba/teams/:team/roster, /v1/nba/confidence (Pro, AUC 0.855) NHL: /v1/nhl/games, /v1/nhl/standings CFB: /v1/cfb/games, /v1/cfb/standings, /v1/cfb/rankings Soccer: /v1/soccer/games, /v1/soccer/standings (supports ?league=epl|mls|la_liga|bundesliga|serie_a|champions_league) Tennis: /v1/tennis/matches (supports ?tour=atp|wta) Golf: /v1/golf/tournaments, /v1/golf/leaderboard (supports ?tour=pga|lpga) UFC/MMA: /v1/ufc/events, /v1/ufc/fighters Pro Insights+: /v1/players/search, /v1/trending, /v1/articles/waiver, /v1/:sport/players/:id/alpha, /v1/players/similar/:id, /v1/:sport/games/history, GET /v1/events/stream (SSE) Syndicate Alpha: POST/GET/DELETE /daas/webhooks, GET /daas/webhooks/:id/deliveries Account: /daas/usage, /mcp, /v1/sports ## MCP Server Implements Anthropic's Model Context Protocol over HTTP (JSON-RPC 2.0) at https://playcallerapp.com/mcp. Compatible with Cursor, Claude Desktop, Perplexity, and any MCP-compatible AI agent. Tools: get_injury_signals, get_player_identity, get_anomaly_scores, get_prediction_markets, get_player_projections, get_player_stats, get_team_roster Claude Desktop config: { "mcpServers": { "playcaller": { "command": "npx", "args": ["-y", "@playcaller/sdk", "mcp"], "env": { "PLAYCALLER_API_KEY": "your_key_here" } } } } ## SDKs TypeScript: npm install @playcaller/sdk (https://www.npmjs.com/package/@playcaller/sdk) Python: pip install playcaller-sdk (https://pypi.org/project/playcaller-sdk/) Both auto-generated from the OpenAPI spec at https://playcallerapp.com/openapi.json ## Authentication All endpoints require an X-PlayCaller-Key header. Get a free key at https://playcallerapp.com/developer. ## Base URL https://playcallerapp.com ## Documentation https://playcallerapp.com/developer/docs ## OpenAPI Spec https://playcallerapp.com/openapi.json