🔒
The API is a paid add-on

The full reference is below, examples and all — and the same key opens the MCP server. Calling either needs a key: sign in with Google, create one in your account, and start on 10 free points. 1 call = 1 point = 1 cent.

Sign in & get a key
API — REST JSON v1 · read-only

Read-only access to the whole database — the same queries the site runs, as JSON. Base URL https://fdb4.io. Authenticate with Authorization: Bearer <key>. Every endpoint is GET; nothing here writes.

Base URL fdb4.io v1
Endpoints 11 all GET
Rate limit 120/min per key
Format JSON UTF-8
Endpoints 11
/v1/countries GET

Every country, ordered by name.

request
curl -sS "https://fdb4.io/v1/countries?q=eng" \
  -H "Authorization: Bearer $FDB_API_KEY" \
  -H "Accept: application/json"
example response

Illustrative shape — a couple of rows, not live data.

{
    "data": [
        {
            "id": 1,
            "name": "England",
            "fifa_code": "ENG",
            "iso2": "GB",
            "is_international": false,
            "exists_now": true
        }
    ]
}
parameters
Name Type Description
q string Match on country name prefix or exact FIFA code.
MCP server 10 tools · same key

The whole database as an MCP server, so Claude, Cursor and any other AI client can query it directly — no client code to write. Endpoint https://fdb4.io/mcp, streamable HTTP, authenticated with Authorization: Bearer <key>.

Same key, same balance, same rate limit. One key opens both doors and they draw on one account: an MCP tool call costs 1 point exactly like a REST request. Connecting and listing the tools are free — you are only charged when a tool actually answers something.

Claude Code
claude mcp add --transport http footdb https://fdb4.io/mcp \
  --header "Authorization: Bearer YOUR_KEY"
Claude Desktop / Cursor / anything with an mcpServers block
{
  "mcpServers": {
    "footdb": {
      "type": "http",
      "url": "https://fdb4.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_KEY"
      }
    }
  }
}
curl — list the tools (free, no points charged)
curl -X POST https://fdb4.io/mcp \
  -H "Authorization: Bearer $FDB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Tool What it answers Arguments
predict_draws Rank teams by how overdue a draw is — the question this database exists to answer. type, recent, wc2026, limit
get_team_prediction How overdue a draw one named team is, plus the results that made it so. team*, recent, wc2026
top_streaks The all-time leaderboard of no-draw runs — the longest any team has gone without drawing. min, team_id, type, limit, page
get_team_streaks Every no-draw run one team has ever had, plus the one it is on now. team*
list_teams Find a team and its id — the lookup every other team tool depends on. q, type, letter, limit
get_team One team's profile and its all-time draw statistics. team*
list_tournaments Every competition covered — leagues, domestic cups, continental cups, World Cups — with how many matches and how many draws each one holds. tournament, limit
list_countries Every country in the database, with its FIFA code and id. q, limit
search_results Search the match archive: finished matches, newest first, with scores. team_id, competition_id, competition_item_id, outcome, type, from, to, limit, page
head_to_head The complete record between two teams, and every match they have ever played. a*, b*, type, item

* required. List tools return 25 rows by default with the full total beside them; each page of a paginated call costs its own point.

One deviation from the MCP spec, stated up front: its authorization section expects OAuth 2.1 with dynamic client registration. FOOTDB uses the same static bearer keys as the REST API instead — simpler, and how the API is already sold. Every client that can send a custom header works; a client that speaks only OAuth will not connect. Tell us if you need it.

Getting a key
  1. Sign in with Google — no password, no form, nothing to wait for.
  2. Create a key in your account. It is shown once, so store it somewhere safe.
  3. Send it on every request as Authorization: Bearer <key> — to https://fdb4.io/v1 or to https://fdb4.io/mcp.
On sign-up 10 pts free, no card
Every month +2 pts if you sign in
Per call 1 pt = 1 cent
Referrals 10% of every point

1 call = 1 point = 1 cent, on the API and the MCP server alike. Out of points? Top up — you pick the amount, there are no packages and no subscription. Bring someone with you and earn 10% of every point they are ever credited. No refunds, ever: the product is data, and data cannot be returned.

Existing keys not attached to an account are not charged until migrated.

Errors 3
401 No valid key

The bearer token is missing, unknown, revoked or expired.

402 Out of points

The account behind the key has fewer than one point left. 1 call = 1 point = 1 cent. New accounts get 10 free points and +2 every month you sign in. Existing keys not attached to an account are not charged until migrated.

{
    "error": {
        "code": "insufficient_balance",
        "balance": 0,
        "top_up_url": "https://fdb4.io/account/balance",
        "monthly_grant": 2
    }
}
429 Rate limited

Over the per-minute limit. The response carries a Retry-After header; a throttled request costs no points.