# FIFA API

> FIFA returns national-team rankings and tournament matches as a workflow and API.

FIFA’s Get world ranking method returns national-team positions, points, and movement; it accepts a country, ranking type, and result limit. Get tournament matches returns scores, stages, teams, and venues; it requires a tournament name and year, with optional team and time zone filters.

- Page: https://fous.com/tools/fifa
- Handle: `@fifa`
- Category: [Sports](https://fous.com/tools/category/sports)
- Source website: https://fifa.com
- Last verified: Sep 29, 2026

## Methods

### Get tournament matches

Operation `get_tournament_matches`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get FIFA tournament matches in kick-off order, with scores, stages, teams and venues. Tournament names must include a year; venue-local kick-off times are used by default.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `team` | string | no | `"Argentina"` | Keep only matches involving this team, for example Argentina. |
| `time_zone` | string | no | `"UTC"` | Kick-off time zone, for example UTC or America/New_York. Omit for each venue’s local time. |
| `tournament` | string | yes | `"World Cup 2026"` | Tournament name and year, for example World Cup 2026. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "tournament"
  ],
  "properties": {
    "team": {
      "type": "string",
      "default": "",
      "description": "Keep only matches involving this team, for example Argentina.",
      "examples": [
        "Argentina",
        "Sweden"
      ]
    },
    "time_zone": {
      "type": "string",
      "default": "venue local time",
      "description": "Kick-off time zone, for example UTC or America/New_York. Omit for each venue’s local time.",
      "examples": [
        "UTC"
      ]
    },
    "tournament": {
      "type": "string",
      "description": "Tournament name and year, for example World Cup 2026.",
      "examples": [
        "World Cup 2026",
        "Women's World Cup 2023",
        "Club World Cup 2025"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "team": "Argentina",
      "tournament": "World Cup 2026"
    },
    {
      "team": "Sweden",
      "time_zone": "UTC",
      "tournament": "Women's World Cup 2023"
    },
    {
      "tournament": "Club World Cup 2025"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `matches` | array |  |  |
| `matches[].city` | string or null | `"Kansas City"` |  |
| `matches[].score` | string or null | `"3-0"` |  |
| `matches[].stage` | string or null | `"Group J"` |  |
| `matches[].status` | string | `"finished"` |  |
| `matches[].stadium` | string or null | `"Kansas City Stadium"` |  |
| `matches[].kick_off` | string or null | `"2026-06-16T20:00:00-05:00"` | ISO 8601 date-time with UTC offset. |
| `matches[].match_id` | string | `"400021496"` |  |
| `matches[].away_team` | string or null | `"Algeria"` |  |
| `matches[].home_team` | string or null | `"Argentina"` |  |
| `matches[].match_link` | string | `"https://www.fifa.com/en/match-centre/match/17/285023/289273/400021496"` |  |
| `tournament_name` | string | `"FIFA World Cup 2026™"` |  |

**Example input**

```json
{
  "team": "Argentina",
  "tournament": "World Cup 2026"
}
```

**Example output**

```json
{
  "matches": [
    {
      "city": "Kansas City",
      "score": "3-0",
      "stage": "Group J",
      "status": "finished",
      "stadium": "Kansas City Stadium",
      "kick_off": "2026-06-16T20:00:00-05:00",
      "match_id": "400021496",
      "away_team": "Algeria",
      "home_team": "Argentina",
      "match_link": "https://www.fifa.com/en/match-centre/match/17/285023/289273/400021496"
    },
    {
      "city": "Dallas",
      "score": "2-0",
      "stage": "Group J",
      "status": "finished",
      "stadium": "Dallas Stadium",
      "kick_off": "2026-06-22T12:00:00-05:00",
      "match_id": "400021494",
      "away_team": "Austria",
      "home_team": "Argentina",
      "match_link": "https://www.fifa.com/en/match-centre/match/17/285023/289273/400021494"
    },
    {
      "city": "Dallas",
      "score": "1-3",
      "stage": "Group J",
      "status": "finished",
      "stadium": "Dallas Stadium",
      "kick_off": "2026-06-27T21:00:00-05:00",
      "match_id": "400021495",
      "away_team": "Argentina",
      "home_team": "Jordan",
      "match_link": "https://www.fifa.com/en/match-centre/match/17/285023/289273/400021495"
    }
  ],
  "tournament_name": "FIFA World Cup 2026™"
}
```

### Get world ranking

Operation `get_world_ranking`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the latest official FIFA men’s or women’s national-team ranking, with points and movement since the previous ranking. Unranked teams are excluded.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | no | `"Brazil"` | National team to find by country name or three-letter FIFA code, for example Brazil. |
| `ranking` | string | no | `"men"` | Ranking to view, for example men. |
| `max_results` | integer | no | `211` | Maximum number of ranked teams to return, for example 50. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "National team to find by country name or three-letter FIFA code, for example Brazil.",
      "examples": [
        "Brazil",
        "Spain"
      ]
    },
    "ranking": {
      "enum": [
        "men",
        "women"
      ],
      "type": "string",
      "default": "men",
      "description": "Ranking to view, for example men.",
      "examples": [
        "men",
        "women"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 211,
      "minimum": 1,
      "description": "Maximum number of ranked teams to return, for example 50.",
      "x-fous-developer": true,
      "examples": [
        211,
        4
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "Brazil",
      "ranking": "men"
    },
    {},
    {
      "country": "Spain",
      "ranking": "women"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `teams` | array |  | Ranked national teams in rank order. |
| `teams[].rank` | integer | `5` | Current position. |
| `teams[].country` | string | `"Brazil"` | National team name. |
| `teams[].page_link` | string | `"https://inside.fifa.com/associations/BRA"` | FIFA page for this national association. |
| `teams[].places_moved` | integer or null | `1` | Places moved since the previous ranking; positive means up. |
| `teams[].total_points` | number | `1804.92` | Current ranking points. |
| `teams[].confederation` | string or null | `"CONMEBOL"` | Football confederation. |
| `teams[].previous_rank` | integer or null | `6` | Position in the previous ranking, if known. |
| `ranking_type` | string | `"men"` | Men or women. |
| `ranking_release_date` | string | `"2026-07-20"` | Official publication date of this ranking. |

**Example input**

```json
{
  "country": "Brazil",
  "ranking": "men"
}
```

**Example output**

```json
{
  "teams": [
    {
      "rank": 5,
      "country": "Brazil",
      "page_link": "https://inside.fifa.com/associations/BRA",
      "places_moved": 1,
      "total_points": 1804.92,
      "confederation": "CONMEBOL",
      "previous_rank": 6
    }
  ],
  "ranking_type": "men",
  "ranking_release_date": "2026-07-20"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@fifa",
  "visibility": "public",
  "operation": "get_tournament_matches",
  "version": 1,
  "input": {
    "team": "Argentina",
    "tournament": "World Cup 2026"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@fifa\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_tournament_matches\",\n  \"version\": 1,\n  \"input\": {\n    \"team\": \"Argentina\",\n    \"tournament\": \"World Cup 2026\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@fifa",
  "visibility": "public",
  "operation": "get_tournament_matches",
  "version": 1,
  "input": {
    "team": "Argentina",
    "tournament": "World Cup 2026"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/fifa`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_tournament_matches`: Get tournament matches. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_world_ranking`: Get world ranking. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-fifa https://api.fous.com/mcp/tools/fifa --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare national teams’ ranking positions and points.
- Track movement in men’s or women’s national-team rankings.
- Build tournament schedules with match times, stages, and venues.
- Filter tournament matches to follow a specific team.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this FIFA tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a FIFA account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from fifa.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What is a national team’s current ranking and points?

Get world ranking returns a team’s current position and ranking points. Enter its country and choose a ranking type.

### Which teams moved up or down in the rankings?

Get world ranking returns places moved since the previous ranking. Choose a ranking type and set a result limit.

### When and where does a tournament team play?

Get tournament matches returns match times, venues, and teams. Provide a tournament name and year, and optionally filter by team or time zone.

## Related

- [UEFA API](https://fous.com/tools/uefa.md): UEFA provides football competitions, matches and results, including club competition fixtures and scores by date range and current league-phase or group-stage tables.
- [Flashscore API](https://fous.com/tools/flashscore.md): Live sports scores and match results.
- [ESPN API](https://fous.com/tools/espn.md): ESPN provides daily scores and schedules, team results, player statistics, matchup summaries, and latest topic-specific headlines; coverage and published details vary, especially for college and soccer.
- [SofaScore API](https://fous.com/tools/sofascore.md): SofaScore provides live sports scores and match statistics, plus football match details for the most recent played or live match and player season statistics.
- [Premier League API](https://fous.com/tools/premier-league.md): Premier League provides current/chosen-season tables and recent form, date-range fixtures/results (up to 380), player profiles and stats, and seasonal leaders; older-season stats may be limited.
- [ATP Tour API](https://fous.com/tools/atp-tour.md): ATP Tour provides official men's tennis rankings as of their latest publication and tournament results, including champions, for a specified year or most recent listed edition.
- [IMF API](https://fous.com/tools/imf.md): IMF economic data provides country and regional forecasts with actual or forecast labels, and country rankings by World Economic Outlook indicators, excluding groups and missing values.
- [NCAA API](https://fous.com/tools/ncaa.md): NCAA provides college sports scores and schedules from NCAA.com, including date-based games or football weeks, plus latest NCAA.com Top 25 rankings where published.
- [All Sports tools](https://fous.com/tools/category/sports)
