Professional is free while the API is in beta.Get a key
We're testing with a handful of major leagues right now. More leagues and competitions are coming soon.

MCP server

Connect the API to Claude, Cursor, or a bot of your own. You ask about football in plain words, your assistant picks the tools and calls them. You don't write a client.

Set it up

Two things get you connected: the address of the server and your API key. Anything that can send a header will work.

Endpoint: https://api.aisportspredictionsapi.com/mcp

That's the server itself. Don't open it in a browser: it answers a protocol, not a page, and it wants your key. It's what you paste wherever a client asks for a server URL.

Use it in an app you already have

You add the server once. After that you're done with the config and you just ask, in the app's own chat:

  • What's today's daily ticket?
  • Give me the analysis for tonight's Arsenal match.
  • Who plays today in the Premier League?

Claude Code

One command registers the server under the name aispapi. Claude Code remembers it, so the tools are there next time you open it. You run this once, in a terminal:

terminal
claude mcp add --transport http aispapi https://api.aisportspredictionsapi.com/mcp --header "x-api-key: YOUR_KEY"

Replace YOUR_KEY with a key from the API keys page. The name is yours to pick, it's only what the server shows up as.

Cursor, Claude Desktop, VS Code

These have no command for it. They keep their servers in a JSON file, and their settings screen tells you where that file is. Paste this in, next to any servers already listed there:

mcp.json
{
  "mcpServers": {
    "aispapi": {
      "url": "https://api.aisportspredictionsapi.com/mcp",
      "headers": {
        "x-api-key": "YOUR_KEY"
      }
    }
  }
}

Same three things as the command above: the address, a name, and your key on the header. Replace YOUR_KEY with one from the API keys page, then restart the app.

Keep that file out of your repository. Anyone who has the key spends your daily requests.

A client that only signs in through OAuth can't connect. There is nowhere to put the key.

Put it in your own bot

Same address, same header, from your own code. Point an agent SDK at the server and your Telegram or Discord bot answers football questions without a single REST call written by you.

The match tools take team names directly, so there's no id lookup to build either. That's the part that usually takes a weekend.

The tools

18 tools, 4 of them on a paid plan. The ones about a match take team names, so “Arsenal” is enough.

Each line is the tool's own description, read from the server.

Find a team, a league, a match

search_teams
Teams whose name contains what you typed. Up to 20, with ids and crests.
get_leagues
The leagues we cover, with their ids and current season. Filter by country.
get_fixtures
Matches by league, by team, or by date. League and team don't go together.
get_team_next_match
The next match of a team, straight from the name.
get_standings
The table of a league, or one team's line in it.

One match in detail

get_head_to_head
Previous meetings of the two teams, with dates and scores.
get_odds
Pre-match odds, grouped by market.
get_lineups
Formations, the eleven and the bench. Published shortly before kick-off, empty until then.
get_injuries
Who is out and why. By match, by team, or both.
get_team_statistics
Season numbers for both teams: goals, form, streaks, cards.
get_team_comparison
The two teams side by side: form, attack, defence, goal expectancy.

Players

get_squad
The current squad of a team, with the player ids the stats tool needs.
get_player_statistics
Season numbers for a player, a whole squad, or everyone in a match. One of the three at a time.

AI analysis and the daily ticket

get_match_analysis
The full read on one match: form, risks, probabilities per market, graded tips. Today's matches.
get_today_analysesPaid
Every match analysed today. Filter by league, country, team or status.
get_daily_ticketPaid
The accumulator of the day. Today's, or one from the last 30 days. Some days there isn't one.
get_daily_ticket_historyPaid
The tickets of the last 30 days and how each one settled.
get_daily_ticket_statsPaid
Won, lost and win rate over a recent window, up to 30 days.

Football only, current season. Matches run from the last 2 days to the next 6, nothing older. The AI analyses cover today's matches and get rewritten during the day, as lineups get confirmed.

See what we cover

When it stops working

One tool call is one request, out of the same daily allowance as a REST call. get_match_analysis also spends one AI analysis. See the plans for the numbers.

403
A paid tool, called with a free-plan key. Everything else still answers. Only that tool stops.
429
The day's requests are spent, or too many went out inside one minute. The per-minute one clears by itself. The daily one resets at midnight UTC.
401
Wrong key, revoked key, or no key at all. Check the x-api-key header in your config, including for a pasted space.