Match lineups
A
GET
/v1/matches/{id}/lineups
Formation, starting eleven and substitutes
Formation, the starting eleven with shirt numbers and grid positions, the substitutes and the coach, for each side. Grid positions are row and column, counting from the goalkeeper out, so a shape can be drawn without guessing at it. Formation also comes back on the match itself, which is the field to filter and group by.
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
Request
curl "https://api.footballsoccerapi.com/v1/matches/mt_1JK5QJ9/lineups" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/matches/mt_1JK5QJ9/lineups", { headers: { "X-API-Key": process.env.FSAPI_KEY } }); const { data, meta } = await res.json();
import os, requests r = requests.get( "https://api.footballsoccerapi.com/v1/matches/mt_1JK5QJ9/lineups", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/matches/mt_1JK5QJ9/lineups"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["X-API-Key: {$key}"], ]); $data = json_decode(curl_exec($ch), true)["data"];
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": 1511690,
"league_id": 266,
"country_name": "Chile",
"league_name": "Primera B",
"season_start_year": 2026,
"kickoff_utc": 1790445600,
"kickoff_date": "2026-09-26",
"kickoff_local_time": "21:00",
"match_status": "finished",
"home_team_id": 2332,
"home_team_name": "Cobreloa",
"away_team_id": 2333,
"away_team_name": "Santiago Wanderers",
"home_goals": 1,
"away_goals": 0,
"full_time_result": "home",
"half_time_home_goals": 0,
"half_time_away_goals": 0,
"half_time_result": "draw",
"stoppage_minutes": 6,
"is_kickoff_rescheduled": false,
"home_league_position": 1,
"away_league_position": 5,
"away_travel_km": 1015,
"venue_name": "Estadio El Cobre",
"city_name": "El Salvador",
"latitude": -24.3191893,
"longitude": -70.5481555,
"referee_name": null,
"betfair": {
"home_kickoff_price": 1.95,
"draw_kickoff_price": 3.3,
"away_kickoff_price": 3.35,
"home_half_time_price": null,
"matched_kickoff_volume": null,
"market_id": null
}
},
"meta": {
"data_as_of": "2026-09-27T03:47:30Z",
"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.