Documentation
17 soccer data endpoints over REST and MCP. One key, credits per call.
Your first call
Sign up for a free key (500 credits, no card), swap it in for YOUR_API_KEY, and send this. get_standings costs 2 credits.
Request
curl -X POST https://mcp.strikerapi.com/v1/get_standings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"season": 2025
}'Response
{
"season": 2025,
"source": "espn_table",
"standings": [
{
"group_name": "English Premier League 2025-2026",
"rank": 1,
"team_id": "359",
"abbrev": "ARS",
"display_name": "Arsenal",
"played": 38,
"wins": 26,
"draws": 7,
"losses": 5,
...First 14 lines. Full response and every field
REST / cURL
POST to /v1/{tool_name} with your params as JSON body. No MCP client needed:
curl -X POST https://mcp.strikerapi.com/v1/list_teams \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY"With parameters:
curl -X POST https://mcp.strikerapi.com/v1/get_standings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"season":2025}'Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"strikerapi": {
"url": "https://mcp.strikerapi.com/mcp?key=YOUR_API_KEY"
}
}
}Claude Code
One command:
claude mcp add strikerapi https://mcp.strikerapi.com/mcp?key=YOUR_API_KEY --transport streamable-httpFind the right call
All 17 questions- What is the Premier League table right now?get_standings
- Which clubs are in the league this season, and their ids?list_teams
- Every match Haaland played this season, with minutesget_player_games
- What are Arsenal's results this season?list_games
- Who plays this weekend, and at what price?get_schedule
- Box scores and key events for one matchget_game
Endpoints
17 endpoints by category. Each page has parameters, requests in three formats, a full example response and every response field.
Static reference1 credit/call
Basic lookup2 credits/call
- list_games2 creditsFixtures and results by season, stage, date, range or club
- get_schedule2 creditsUpcoming fixtures with the median three-way line across sportsbooks
- get_standings2 creditsThe league table: points, deductions, goal difference, home and away, form
- get_ratings2 creditsOur club Elo ratings, ranked
- get_head_to_head2 creditsTwo clubs' meetings: record, goals and every result
Stats + aggregation5 credits/call
- get_game5 creditsOne match: score, both box scores, every player's line, key events, each book's line
- get_lineups5 creditsFormations, starting XIs, benches and substitutions with minutes
- get_player5 creditsProfile, per-season totals and per-90 rates, last 10 matches
- get_player_games5 creditsA player's full match log
- get_leaders5 creditsSeason leaders: goals, assists, shots, xG, cards, saves
- get_team_stats5 creditsPer-match averages: goals, xG, shots, possession, passing, discipline, for and against
- get_odds5 creditsEvery sportsbook's three-way moneyline, goal handicap and total for a match (5) or a day (10), with results
Multi-table10 credits/call
Time-series10 credits/call
Reference
Authentication
Every request requires an API key. Pass it via header or query parameter:
x-api-key: YOUR_API_KEY
# or
Authorization: Bearer YOUR_API_KEY
# or (MCP only)
?key=YOUR_API_KEYVerify your email, then create an API key from the dashboard. Free accounts get 500 credits.
Base URL
https://mcp.strikerapi.comREST API: POST /v1/{tool} with JSON body. Works with cURL, Python, any HTTP client.
MCP: POST /mcp via Streamable HTTP. Works with Claude Desktop, Claude Code, Cursor, and any MCP client.
Rate limits
| Credit balance | Rate limit |
|---|---|
| 100 credits or more | 60 req/min |
| Under 100 credits | 10 req/min |
The limit is the same on every plan. It is burst protection, not the spend boundary; credits are that, and they are enforced per request. Running low slows you down so you notice before the balance reaches zero.
Error handling
| Code | Meaning | What to do |
|---|---|---|
| 400 | Invalid parameters | Check required fields and value types |
| 401 | Invalid or missing API key | Check your x-api-key header |
| 402 | Insufficient credits | Top up your wallet or upgrade your plan |
| 429 | Rate limit exceeded | Wait and retry (see limits above) |
| 500 | Server error | Retry with idempotency key. Credits auto-refund on server errors. |
Pass x-idempotency-key or x-request-id headers to make retries duplicate-safe.
Data coverage
Major League Soccer (MLS)
StrikerAPI also serves the MLS. Pass "league": "mls" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/mls. What the MLS data covers.
Spanish La Liga (Primera Division) (La Liga)
StrikerAPI also serves the La Liga. Pass "league": "laliga" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/laliga. What the La Liga data covers.
Italian Serie A (Serie A)
StrikerAPI also serves the Serie A. Pass "league": "seriea" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/seriea. What the Serie A data covers.
German Bundesliga (Bundesliga)
StrikerAPI also serves the Bundesliga. Pass "league": "bundesliga" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/bundesliga. What the Bundesliga data covers.
French Ligue 1 (Ligue 1)
StrikerAPI also serves the Ligue 1. Pass "league": "ligue1" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/ligue1. What the Ligue 1 data covers.
UEFA Champions League (Champions League)
StrikerAPI also serves the Champions League. Pass "league": "ucl" to any tool that lists it, or connect to https://mcp.strikerapi.com/mcp/ucl. What the Champions League data covers.
| Data | Status | Coverage | Volume |
|---|---|---|---|
Fixtures and results Date, stage, score, extra time and shootout, venue and attendance. | Available | 2001-02 to current | Every match ESPN lists |
Lineups and box scores Formations, starting XIs, substitutions with minutes, and each player's goals, assists, shots, fouls, cards and saves; each club's possession, shots, passing, tackles and discipline. Lineups from 2001-02 (MLS 2004). Full box scores from 2001-02 in the Premier League, 2005-06 to 2007-08 in the other European leagues and 2008 in MLS; before that goals, assists and cards are counted from the match events and the rest is null. | Partial | 2001-02 to current | Every player in every squad |
Match events Goals with the scorer and assister, substitutions and, from 2011-12, cards, for every match; from 2012-13 every shot, foul, corner and offside too. Cards from 2011-12. Before 2012-13 only goals, cards and substitutions. | Partial | 2001-02 to current | About 100 events per match from 2012-13 |
Shot locations and xG Each shot's x/y, end point, outcome, body part and our expected goals. Before 2012-13 only goals carry a location (about 1,000 a season), so a shot map of an earlier season shows goals, not shots. | Partial | Complete from 2012-13 | About 25 shots per match |
League tables ESPN's published table: official points with deductions, goal difference and qualification notes. | Available | 2002-03 to current | Every season |
Odds Home, draw and away moneylines, goal handicap and total by sportsbook; opening and closing from 2024, the final pre-match line before that. No lines before 2017-18; two books in 2017-18 and 2018-19, six to eight in 2019-20 and 2020-21, one or two since 2024-25; no player props. | Partial | 2017-18 to current | About ten books per match 2021-22 to 2023-24, one or two since |
Ratings Our Elo per competition, before and after every match. | Available | 2001-02 to current | Every club, every match |
Coverage describes the datasets StrikerAPI supports. Freshness and operational health are tracked separately.
Odds snapshot definitions
opening: The first line a sportsbook posted for the match, as ESPN reports it (from 2024).
closing: The sportsbook's last line before kick-off.
Odds coverage currently documents the books ESPN reports: about ten per match from 2021-22 to 2023-24 (DraftKings, Caesars, BetMGM, Bet365, PointsBet and Unibet among them), then Bet365 with ESPN BET or DraftKings. No lines before 2017-18, and one or two books per match since 2024-25. Before 2024, ESPN keeps each sportsbook's final pre-match line, stored as the close: from 2017-18, about ten books per match from 2021-22 to 2023-24, fewer before. From 2024 there are opening and closing lines from one or two books. Daily snapshots before each match from launch.
Response format
REST API
All successful REST responses wrap the result in a data key:
{ "data": { "teams": [...], "count": 20 } }Error responses return:
{ "error": "Insufficient credits", "message": "This tool costs 5 credits, you have 2" }MCP Protocol
MCP responses follow the standard MCP tool result format. The data is returned directly (no data wrapper). Both access methods return identical data, just different envelopes.
Conventions
Seasons: the year the season starts (2025 = 2025-26); MLS: the calendar year. Example: 2025.
Game IDs: an ESPN match id, e.g. 704345 (an ESPN match id; find them with list_games). Get them from get_games or get_schedule.
Team abbreviations: Standard codes (ARS, LIV, MNC (or an ESPN team id); list_teams has them). Use list_teams if unsure.
Pagination: Endpoints use a limit parameter. No cursor or offset. Narrow your filters to get different slices of data.
Credits: Deducted before the request executes. Automatically refunded on server errors. Monthly credits are used first, then wallet balance.