Coverage
F/v1/coverage
What every competition-season holds, in one list
What every competition and season holds, one row each, newest first: matches, settled matches, and the share of settled matches carrying kickoff prices, half-time prices, team statistics, lineups, goal events, a half-time score, a referee, a ground and an exchange market. Make it your first call: it says what you will get for a competition before you build on it. Counted at every nightly rebuild.
Plan
This endpoint needs Free key. It works on the free key, which reads yesterday, as one whole day.
Parameters
league_id
string
query
/v1/leagues: 39 is the English Premier League, 62 is Ligue 2. e.g. lg_24T9Z0G
country
string
query
/v1/countries. e.g. England
season
integer
query
2024. e.g. 2024
min_matches
integer
query
50
page
integer
query
total, total_pages, next_page and prev_page, so a UI pager has everything it needs from one call. If you send both page and cursor, page wins. e.g. 2
limit
integer
query
100
Returns
data.match_id
string
data.league_id
string
data.country_name
string
data.league_name
string
data.season_start_year
integer
data.kickoff_utc
integer
data.kickoff_date
string
data.kickoff_local_time
string
data.match_status
string
data.home_team_id
string
data.home_team_name
string
data.away_team_id
string
data.away_team_name
string
data.home_goals
integer
data.away_goals
integer
data.full_time_result
empty in this example
data.half_time_home_goals
integer
data.half_time_away_goals
integer
data.half_time_result
string
data.half_time_source
string
data.stoppage_minutes
empty in this example
data.is_kickoff_rescheduled
boolean
data.home_league_position
integer
data.away_league_position
integer
data.away_travel_km
integer
data.venue_name
string
data.city_name
string
data.latitude
number
data.longitude
number
data.location_precision
string
data.daylight_minutes
integer
data.sun_elevation_deg
number
data.public_holiday
empty in this example
data.referee_name
string
data.regular_time_home_goals
empty in this example
data.regular_time_away_goals
empty in this example
data.regular_time_result
empty in this example
data.extra_time_home_goals
empty in this example
data.extra_time_away_goals
empty in this example
data.shootout_home_goals
empty in this example
data.shootout_away_goals
empty in this example
data.betfair
object
data.betfair.home_kickoff_price
number
data.betfair.draw_kickoff_price
number
data.betfair.away_kickoff_price
number
data.betfair.home_half_time_price
empty in this example
data.betfair.matched_kickoff_volume
empty in this example
data.betfair.market_id
empty in this example
meta.data_as_of
string
meta.request_id
string
Request
curl "https://api.footballsoccerapi.com/v1/coverage?league_id=lg_24T9Z0G&country=England&season=2024" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/coverage?league_id=lg_24T9Z0G&country=England&season=2024", { 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/coverage?league_id=lg_24T9Z0G&country=England&season=2024", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/coverage?league_id=lg_24T9Z0G&country=England&season=2024"); 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.
{
"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.