stat-api — Sports Data
by stat-api.com in Markets & finance
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
https://api.stat-api.com/mcp
Last 30 days
- Uptime
- 100%
- Response time
- 588 ms typical, 588 ms slowest 5%
- Last check
- 32 min ago
- Next check
- in 6 h
How to call it
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"stat-api-sports-data": {
"type": "http",
"url": "https://api.stat-api.com/mcp"
}
}
}9 tools
- list_leagues
List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.
- list_tables
List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.
- describe_table
Full contract for one table: fields with types and descriptions, the filters query_table accepts (with operators like __gte/__lte/__between/__like and required filter combinations), page-size limits, primary key, and a runnable example URL. No credentials needed. Always call this
- query_table
Query any table. Returns `{"<table>": [rows], "limit": N, "next_from_id": M|null, "has_more": bool}`. To read every row, start with from_id=0 and re-call with from_id set to the previous next_from_id until it is null. A call without from_id returns the first page in the table's d
- get_record
Fetch a single row by primary key. Returns the row object. Requires an API key; costs 1 record of quota.
- search_players
Fuzzy player-name search (typo-tolerant). Currently NBA only — for other leagues query the players table with a name filter via query_table. Returns player rows ordered by match quality. Requires an API key; rows count against quota.
- games_on_date
Games scheduled/played on one calendar date (US-Eastern) for nba, mlb, or nhl; defaults to today. Returns the same envelope as query_table on the games table. NFL is week-based, not date-based — for nfl, use query_table on nfl/games with season_id + week filters instead. Requires
- graphql_query
Run a GraphQL query against the same data with relations — nest from a game to its teams/players/odds in one call. Root fields are leagues (nfl, nba, …), each exposing its tables with the same filter arguments as REST plus `first`/`after` pagination. Do NOT send introspection que
- api_usage
Your key's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires an API key; costs 1 record.
Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 32 min ago | Passed | 200 | 537 ms |
| 10 h ago | Passed | 200 | 616 ms |
| 20 h ago | Passed | 200 | 588 ms |