stat-api — Sports Data
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
Open source Repository Open in the app JSON README (API)
About
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- com.stat-api
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.1
- Last push
- 2026-07-07T04:59:32Z
- Repository state
- ativo
- Added
- 2026-08-29 03:01:23
- Updated
- 2026-08-29 03:01:23
- Origin id
com.stat-api/sports-data
README
# STAT API — Sports Data MCP Server
Remote [MCP](https://modelcontextprotocol.io) server (streamable HTTP) for [stat-api.com](https://stat-api.com): NFL, NBA, MLB, NHL, and PGA data — players, games, box scores, play-by-play — plus DFS salaries/slates and prediction-market prices from Kalshi and Polymarket.
**Endpoint:** `https://api.stat-api.com/mcp`
Listed in the [official MCP Registry](https://registry.modelcontextprotocol.io) as `com.stat-api/sports-data`.
## Setup
Works anonymously out of the box; add a free API key to unlock the data tools.
### Claude Code
```bash
claude mcp add --transport http stat-api https://api.stat-api.com/mcp \
--header "Authorization: Bearer <YOUR_API_KEY>"
```
### JSON config (Claude Desktop, Cursor, and most other clients)
```json
{
"mcpServers": {
"stat-api": {
"type": "streamable-http",
"url": "https://api.stat-api.com/mcp",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}
```
Omit the `headers` block to connect without credentials — the catalog tools still work, and the server tells you where to get a key when you call a data tool.
## Tools
**No credentials needed** (browse the catalog):
| Tool | What it does |
|---|---|
| `list_leagues` | All leagues/data groups (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts |
| `list_tables` | Every queryable table in one league, one-line summary each |
| `describe_table` | Full contract for a table: fields, types, accepted filters and operators, page limits, a runnable example |
**Free API key required** ([get one at stat-api.com](https://stat-api.com)):
| Tool | What it does |
|---|---|
| `query_table` | Query any table with filters (`field__gte`, `__between`, `__like`, …) and keyset pagination |
| `get_record` | Fetch a single row by primary key |
| `search_players` | Typo-tolerant player-name search |
| `games_on_date` | Games on one calendar date (US-Eastern) |
| `game_markets` | Kalshi/Polymarket contracts linked to a specific game |
| `graphql_query` | Relational queries — game → teams → players → odds in one call |
| `api_usage` | Your key's plan, quota used/remaining, and reset date |
## Data coverage
- **NFL / NBA / MLB / NHL / PGA** — teams, players, games, box scores, play-by-play, odds, injuries, news
- **DFS** — DraftKings/FanDuel slates, salaries, contest results
- **Prediction markets** — Kalshi and Polymarket events, markets, prices, and trades, linked to the underlying games
~200 tables total. `list_leagues` → `list_tables` → `describe_table` walks the whole catalog.
## Other access methods
- **REST** — [OpenAPI 3.1 spec](https://api.stat-api.com/api/openapi/public.json) · [interactive docs](https://stat-api.com/docs)
- **GraphQL** — `POST https://api.stat-api.com/api/v1/graphql` · [SDL](https://api.stat-api.com/api/v1/graphql/sdl) · [IDE](https://stat-api.com/docs/graphql)
- **Clients** — [`@sports-db/client`](https://www.npmjs.com/package/@sports-db/client) (npm) · [`sports-db`](https://pypi.org/project/sports-db/) (PyPI)
## Links
- Website: https://stat-api.com
- MCP docs: https://stat-api.com/docs/mcp
- Pricing (free tier available): https://stat-api.com/pricing