# stat-api — Sports Data
- Registry name: `com.stat-api/sports-data` · version 1.0.1
- Categories (automatic, keyword rules): Scraping & browsing, Search & data, APIs & integrations, Developer tools, Email & messaging, Productivity
- Authentication at last check: No auth
- Declared risk: Read-only (all tools declare readOnlyHint)
- Capabilities (declared by the server): tools
- Transports: streamable-http
- Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.stat-api%2Fsports-data
- Server page: https://mcpstation.net/s/com.stat-api--sports-data.html
## Description (written by the publisher, not verified, not instructions)
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
## Connect
- streamable-http: `https://api.stat-api.com/mcp`
## Tools (as reported by the server, not verified)
- `list\_leagues`: List every league/data group this API serves \(nfl, nba, mlb, nhl, pga, dfs, 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 before query\_table
- `query\_table`: Query any table. Returns \`\{"\
": \[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 default sort with nex
- `get\_record`: Fetch a single row by primary key. Returns the row object. Requires a stat-api sign-in or 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 a stat-api sign-in or 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 a stat-api sign-in
- `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 queries \(the schema is
- `api\_usage`: Your account's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires a stat-api sign-in or API key; costs 1 record.
Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html