Reference data
F
GET
/v1/reference
Every enum, code and lookup the API uses
Every enum the API can return, in one call: match statuses, result values, plan tiers and the field families. Fetch it once at startup rather than hard-coding strings.
Plan
This endpoint needs Free key. It works on the free key, which reads yesterday, as one whole day.
Returns
data.match_status
list
Where the match stands: scheduled, in play by half, half time, finished, postponed, cancelled, abandoned, awarded or walkover.
data.result
list
Result.
data.plans
list
Plans.
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/reference" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/reference", { 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/reference", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/reference"); 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_status": [
"scheduled",
"in_play_first_half",
"half_time",
"in_play_second_half",
"finished",
"finished_after_extra_time",
"postponed",
"cancelled",
"abandoned",
"awarded"
],
"result": [
"home",
"draw",
"away"
],
"plans": [
"free",
"archive",
"live"
]
},
"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.