The free key reads yesterday again: our one-month trial of today on the free key has finished. Read the changelog

Player statistics

A
GET /v1/matches/{id}/players

Every player's figures for one match: minutes, rating, goals, shots, passes, tackles, cards

Every player who appeared, for both sides: minutes, rating, goals, assists, shots and shots on target, passes, key passes and pass accuracy, tackles, blocks, interceptions, duels, dribbles, fouls, cards, offsides and penalties, with whether the player started and wore the armband. Each player carries a player_id that stays the same across matches, so a player's season can be built from these. Held where the competition publishes them.

Plan

This endpoint needs Archive. Calling it on a lower plan returns a 403 naming the plan it needs and a link to pricing, never a bare refusal.

Parameters

match_id string path required
The match id. Stable across re-imports: what you store today still resolves later. e.g. mt_1JK5QJ9

Returns

data.match_id string
Our id for the match. Stable: what you store today still resolves later.
data.league_id string
Our id for the competition.
data.country_name string
The country the competition belongs to.
data.league_name string
The competition's name.
data.season_start_year integer
The year the season starts in: 2026 for 2026/27.
data.kickoff_utc integer
Kickoff, as a UTC timestamp.
data.kickoff_date string
The kickoff date in UTC, YYYY-MM-DD.
data.kickoff_local_time string
The kickoff time where the match is played, HH:MM.
data.match_status string
Where the match stands: scheduled, in play by half, half time, finished, postponed, cancelled, abandoned, awarded or walkover.
data.home_team_id string
Our id for the home side.
data.home_team_name string
The home side's name.
data.away_team_id string
Our id for the away side.
data.away_team_name string
The away side's name.
data.home_goals integer
The home side's goals: the final score, after extra time where played.
data.away_goals integer
The away side's goals: the final score, after extra time where played.
data.full_time_result empty in this example
home, draw or away, on the final score.
data.half_time_home_goals integer
The home side's goals at half time.
data.half_time_away_goals integer
The away side's goals at half time.
data.half_time_result string
home, draw or away at half time.
data.half_time_source string
Half time source.
data.stoppage_minutes empty in this example
Stoppage time added, in minutes.
data.is_kickoff_rescheduled boolean
Whether the kickoff was moved from its first date or time.
data.home_league_position integer
The home side's place in the table before the match.
data.away_league_position integer
The away side's place in the table before the match.
data.away_travel_km integer
How far the away side travelled, in kilometres.
data.venue_name string
The ground the match was played at.
data.city_name string
The town or city of the ground.
data.latitude number
The ground's latitude.
data.longitude number
The ground's longitude.
data.location_precision string
How exact the ground's position is: the ground itself, or only its town.
data.daylight_minutes integer
Minutes of daylight left at kickoff; negative after dark.
data.sun_elevation_deg number
The sun's height above the horizon at kickoff, in degrees.
data.public_holiday empty in this example
Public holiday.
data.referee_name string
The referee.
data.regular_time_home_goals empty in this example
The home side's goals after 90 minutes.
data.regular_time_away_goals empty in this example
The away side's goals after 90 minutes.
data.regular_time_result empty in this example
home, draw or away after 90 minutes: the result prices settle on.
data.extra_time_home_goals empty in this example
The home side's goals in extra time alone.
data.extra_time_away_goals empty in this example
The away side's goals in extra time alone.
data.shootout_home_goals empty in this example
The home side's penalties scored in the shootout.
data.shootout_away_goals empty in this example
The away side's penalties scored in the shootout.
data.betfair object
Betfair.
data.betfair.home_kickoff_price number
The price for a home win at kickoff, as decimal odds.
data.betfair.draw_kickoff_price number
The price for the draw at kickoff, as decimal odds.
data.betfair.away_kickoff_price number
The price for an away win at kickoff, as decimal odds.
data.betfair.home_half_time_price empty in this example
Home half time price.
data.betfair.matched_kickoff_volume empty in this example
Matched kickoff volume.
data.betfair.market_id empty in this example
Market: our id, stable.
meta.data_as_of string
When the data behind this answer was last brought up to date.
meta.request_id string
This request's id, to quote to support.

Request

curl "https://api.footballsoccerapi.com/v1/matches/mt_1JK5QJ9/players" \
  -H "X-API-Key: $FSAPI_KEY"

Example response

A real row from the archive, fetched when this page rendered. Run it against your own key below.

200 OK application/json
{
    "data": {
        "match_id": "mt_28QVFGW",
        "league_id": "lg_3JZKJSZ",
        "country_name": "Colombia",
        "league_name": "Primera A",
        "season_start_year": 2026,
        "kickoff_utc": 1793228400,
        "kickoff_date": "2026-10-28",
        "kickoff_local_time": "23:00",
        "match_status": "finished",
        "home_team_id": "tm_1HXBKY8",
        "home_team_name": "Once Caldas",
        "away_team_id": "tm_2DNYS20",
        "away_team_name": "Alianza Valledupar",
        "home_goals": 1,
        "away_goals": 0,
        "full_time_result": null,
        "half_time_home_goals": 0,
        "half_time_away_goals": 0,
        "half_time_result": "draw",
        "half_time_source": "feed",
        "stoppage_minutes": null,
        "is_kickoff_rescheduled": false,
        "home_league_position": 7,
        "away_league_position": 16,
        "away_travel_km": 650,
        "venue_name": "Estadio Palogrande",
        "city_name": "Manizales",
        "latitude": 5.056233,
        "longitude": -75.489807,
        "location_precision": "ground",
        "daylight_minutes": 717,
        "sun_elevation_deg": -4.6,
        "public_holiday": null,
        "referee_name": "Carlos Alberto Diaz Vargas",
        "regular_time_home_goals": null,
        "regular_time_away_goals": null,
        "regular_time_result": null,
        "extra_time_home_goals": null,
        "extra_time_away_goals": null,
        "shootout_home_goals": null,
        "shootout_away_goals": null,
        "betfair": {
            "home_kickoff_price": 1.58,
            "draw_kickoff_price": 3.7,
            "away_kickoff_price": 6.25,
            "home_half_time_price": null,
            "matched_kickoff_volume": null,
            "market_id": null
        }
    },
    "meta": {
        "data_as_of": "2026-10-29T04:32:57Z",
        "request_id": "01J9QW3C7M4KX2VB"
    }
}

Run it live

Paste your key and fire the real request. The key is kept in this browser only and never sent anywhere but the API.

Get a key
GET