# SofaScore API: Get football match

> Finds a football match between two teams on SofaScore (on a given date, or their latest played or live match) and returns its score, goals, red cards, team statistics and player ratings.

Unofficial. Not affiliated with or endorsed by SofaScore.

- Page: https://fous.com/methods/sofascore.com/get-match
- Method: `sofascore.com/get_match`, version 1
- Website: sofascore.com
- Returns: competition, date, venue, status, teams, score, half-time score, goals, red cards, team stats, player ratings, match link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `date` | string | no |  | Match date in YYYY-MM-DD, for example 2025-10-26. Omit for the latest played or live match. |
| `team_1` | string | yes | `"Barcelona"` | First football team, for example Barcelona. |
| `team_2` | string | yes | `"Atlético Madrid"` | Second football team, for example Real Madrid. |

## Output

From a run on Oct 31, 2026, shortened. Its input:

```json
{
  "team_1": "Barcelona",
  "team_2": "Atlético Madrid"
}
```

Its output:

```json
{
  "goals": [
    {
      "team": "FC Barcelona",
      "assist": "Ferran Torres",
      "minute": "4",
      "scorer": "Lamine Yamal"
    },
    {
      "team": "FC Barcelona",
      "assist": "Dani Olmo",
      "minute": "24",
      "scorer": "Ferran Torres"
    },
    {
      "team": "Atlético Madrid",
      "assist": "Marcos Llorente",
      "minute": "31",
      "scorer": "Ademola Lookman"
    }
  ],
  "score": {
    "away": 2,
    "home": 1
  },
  "venue": "Riyadh Air Metropolitano",
  "status": "Ended",
  "players": [
    {
      "name": "Juan Musso",
      "team": "Atlético Madrid",
      "rating": 9.5,
      "position": "Goalkeeper",
      "player_id": 263651,
      "minutes_played": 90
    },
    {
      "name": "Nahuel Molina",
      "team": "Atlético Madrid",
      "rating": 6.2,
      "position": "Defender",
      "player_id": 831799,
      "minutes_played": 90
    },
    {
      "name": "Robin Le Normand",
      "team": "Atlético Madrid",
      "rating": 6.1,
      "position": "Defender",
      "player_id": 787751,
      "minutes_played": 90
    }
  ],
  "event_id": 15632089,
  "away_team": "FC Barcelona",
  "date_time": "2026-04-14T19:00:00+00:00",
  "home_team": "Atlético Madrid",
  "red_cards": [
    {
      "team": "FC Barcelona",
      "minute": "79",
      "player": "Eric García",
      "reason": "Red card"
    }
  ],
  "away_stats": {
    "team": "FC Barcelona",
    "fouls": 8,
    "passes": 699,
    "corners": 4,
    "total_shots": 15,
    "expected_goals": 2.22,
    "shots_on_target": 8,
    "possession_percent": 71,
    "pass_accuracy_percent": 90
  },
  "home_stats": {
    "team": "Atlético Madrid",
    "fouls": 15,
    "passes": 282,
    "corners": 2,
    "total_shots": 15,
    "expected_goals": 1.77,
    "shots_on_target": 5,
    "possession_percent": 29,
    "pass_accuracy_percent": 71.6
  },
  "match_link": "https://www.sofascore.com/football/match/atletico-madrid-barcelona/rgbsLgb#id:15632089",
  "competition": "UEFA Champions League, Knockout stage",
  "half_time_score": {
    "away": 2,
    "home": 1
  }
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"sofascore.com/get_match","input":{"team_1":"Barcelona","team_2":"Atlético Madrid"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- What was the final score of the last Arsenal vs Tottenham game, and who scored?
- Pull up the SofaScore player ratings and team stats for Liverpool against Manchester City on 2025-03-15
- Is Inter vs AC Milan live right now? Give me the current score and any red cards
- Check sofascore.com for the Bayern Munich vs Borussia Dortmund match from 2024-11-30 — I need the half-time score, possession and shots
- Who got sent off and who was the highest-rated player in the most recent Celtic v Rangers derby?

## Input schema

```json
{
  "type": "object",
  "required": [
    "team_1",
    "team_2"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Match date in YYYY-MM-DD, for example 2025-10-26. Omit for the latest played or live match."
    },
    "team_1": {
      "type": "string",
      "description": "First football team, for example Barcelona."
    },
    "team_2": {
      "type": "string",
      "description": "Second football team, for example Real Madrid."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "competition",
    "date_time",
    "venue",
    "status",
    "home_team",
    "away_team",
    "score",
    "half_time_score",
    "goals",
    "red_cards",
    "home_stats",
    "away_stats",
    "players",
    "match_link",
    "event_id"
  ],
  "properties": {
    "goals": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "minute",
          "scorer",
          "assist",
          "team"
        ],
        "properties": {
          "team": {
            "type": "string"
          },
          "assist": {
            "type": [
              "string",
              "null"
            ]
          },
          "minute": {
            "type": [
              "string",
              "null"
            ]
          },
          "scorer": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "score": {
      "type": "object",
      "required": [
        "home",
        "away"
      ],
      "properties": {
        "away": {
          "type": [
            "integer",
            "null"
          ]
        },
        "home": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "venue": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "players": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "team",
          "position",
          "minutes_played",
          "rating",
          "player_id"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "team": {
            "type": "string"
          },
          "rating": {
            "type": [
              "number",
              "null"
            ]
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "player_id": {
            "type": [
              "integer",
              "null"
            ],
            "x-fous-developer": true
          },
          "minutes_played": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "event_id": {
      "type": "integer",
      "x-fous-developer": true
    },
    "away_team": {
      "type": "string"
    },
    "date_time": {
      "type": "string"
    },
    "home_team": {
      "type": "string"
    },
    "red_cards": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "minute",
          "player",
          "team",
          "reason"
        ],
        "properties": {
          "team": {
            "type": "string"
          },
          "minute": {
            "type": [
              "string",
              "null"
            ]
          },
          "player": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "away_stats": {
      "type": "object",
      "required": [
        "team",
        "possession_percent",
        "total_shots",
        "shots_on_target",
        "expected_goals",
        "corners",
        "fouls",
        "passes",
        "pass_accuracy_percent"
      ],
      "properties": {
        "team": {
          "type": "string"
        },
        "fouls": {
          "type": [
            "number",
            "null"
          ]
        },
        "passes": {
          "type": [
            "number",
            "null"
          ]
        },
        "corners": {
          "type": [
            "number",
            "null"
          ]
        },
        "total_shots": {
          "type": [
            "number",
            "null"
          ]
        },
        "expected_goals": {
          "type": [
            "number",
            "null"
          ]
        },
        "shots_on_target": {
          "type": [
            "number",
            "null"
          ]
        },
        "possession_percent": {
          "type": [
            "number",
            "null"
          ]
        },
        "pass_accuracy_percent": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "home_stats": {
      "type": "object",
      "required": [
        "team",
        "possession_percent",
        "total_shots",
        "shots_on_target",
        "expected_goals",
        "corners",
        "fouls",
        "passes",
        "pass_accuracy_percent"
      ],
      "properties": {
        "team": {
          "type": "string"
        },
        "fouls": {
          "type": [
            "number",
            "null"
          ]
        },
        "passes": {
          "type": [
            "number",
            "null"
          ]
        },
        "corners": {
          "type": [
            "number",
            "null"
          ]
        },
        "total_shots": {
          "type": [
            "number",
            "null"
          ]
        },
        "expected_goals": {
          "type": [
            "number",
            "null"
          ]
        },
        "shots_on_target": {
          "type": [
            "number",
            "null"
          ]
        },
        "possession_percent": {
          "type": [
            "number",
            "null"
          ]
        },
        "pass_accuracy_percent": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "match_link": {
      "type": "string"
    },
    "competition": {
      "type": [
        "string",
        "null"
      ]
    },
    "half_time_score": {
      "type": "object",
      "required": [
        "home",
        "away"
      ],
      "properties": {
        "away": {
          "type": [
            "integer",
            "null"
          ]
        },
        "home": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
```

## See more

- [SofaScore API: Get player season stats](https://fous.com/methods/sofascore.com/get-player-season-stats.md): Gets a football player's season statistics on SofaScore by name, with an optional competition and season (defaults: the player's main league and the current season). Unavailable statistics are null.
- [ESPN API: Get game summary](https://fous.com/methods/espn.com/get-game-summary.md): Finds the latest game between two teams, or their game on a given date, in major US leagues, MLS or the EPL. Returns the score, scoring by period, leading players, team stats and player box scores.
- [Cricbuzz API: Get cricket match scorecard](https://fous.com/methods/cricbuzz.com/get-scorecard.md): Gets a cricket match's full scorecard on Cricbuzz from two team names. You can pick the match by date or series, or pass a match link. Otherwise you get the teams' most recent match, including live play.
- [UEFA API: Get competition matches](https://fous.com/methods/uefa.com/get-competition-matches.md): Gets UEFA club competition matches in a date range, with kick-off times in a chosen time zone, scores, stages and venues. You can limit the list to one club.
- [NFL API: Get scores](https://fous.com/methods/nfl.com/get-scores.md): Gets NFL scores and scheduled games for the week that contains a date. You can keep only one team's games. Kickoff times are in US Eastern time unless you choose another time zone.
- [NBA API: Get box score](https://fous.com/methods/nba.com/get-box-score.md): Returns the NBA box score for a game between two teams on a date; without a date, their most recent matchup, including Summer League and games in progress.
- [Premier League API: Get fixtures and results](https://fous.com/methods/premierleague.com/get-fixtures-and-results.md): Gets Premier League fixtures and results in a date range, with kickoff times in your chosen time zone. Returns up to 380 matches.
- [ESPN API: Get scores](https://fous.com/methods/espn.com/get-scores.md): Gets ESPN scores and the schedule for a league on a local day. You can filter by team, and start times are shown in your time zone.
- [All SofaScore methods](https://fous.com/methods/sofascore.com.md)
