Skip to main content

stat-api — Sports Data

com.stat-api/sports-dataVersion 1.0.1

NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.

Status

Responds413 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:16 UTC
Latency
413 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.stat-api.com/mcpResponds413 ms
No sign-in

Claude Code

claude mcp add --transport http sports-data https://api.stat-api.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: sports-data
Remote MCP server URL: https://api.stat-api.com/mcp

Cursor

{
  "mcpServers": {
    "sports-data": {
      "url": "https://api.stat-api.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"sports-data","type":"http","url":"https://api.stat-api.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

9 tools

Tools of stat-api — Sports Data
Read-only
Idempotent
Open world
api_usageYour 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.NoYesYesNo
describe_tableFull 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 — filters not listed here are rejected.NoYesYesNo
games_on_dateGames 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 or API key; rows count against quota.NoYesYesNo
get_recordFetch a single row by primary key. Returns the row object. Requires a stat-api sign-in or API key; costs 1 record of quota.NoYesYesNo
graphql_queryRun 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 huge) — use describe_table instead; the SDL is at https://api.stat-api.com/api/v1/graphql/sdl. Requires a stat-api sign-in or API key; every row resolved anywhere in the tree counts against quota.NoYesYesNo
list_leaguesList 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.NoYesYesNo
list_tablesList every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.NoYesYesNo
query_tableQuery 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 default sort with next_from_id null. filters is a flat object of `field` or `field__op` keys from describe_table (e.g. {"season_id": 2024, "day__between": "20250101,20250131"}). Requires a stat-api account: sign in when the app asks (free account at https://stat-api.com), or send an API key as Authorization: Bearer <key>. Every returned row counts against the monthly record quota.NoYesYesNo
search_playersFuzzy 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.NoYesYesNo

Details

Registry status
Active
Published
Jul 7, 2026
Updated
Jul 7, 2026
Categories (suggested)
Data and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing