Competitions
List Competitions
Get all competitions and countries
GET
/
competitions
List Competitions
curl --request GET \
--url https://api.sportsapipro.com/v1/basketball/competitions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sportsapipro.com/v1/basketball/competitions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sportsapipro.com/v1/basketball/competitions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sportsapipro.com/v1/basketball/competitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sportsapipro.com/v1/basketball/competitions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sportsapipro.com/v1/basketball/competitions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportsapipro.com/v1/basketball/competitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"competitions": [
{
"id": 123,
"name": "<string>",
"country": {
"id": 123,
"name": "<string>"
},
"hasStandings": true,
"hasBrackets": true
}
]
}Endpoint
GET https://api.sportsapipro.com/v1/football/competitions
Description
Returns a comprehensive list of all available competitions (leagues, cups, tournaments) along with all countries. This is the primary endpoint for discovering available football data.When filtering by
competitionIds, the response may include additional related competitions beyond those requested. Always filter the competitions array by the specific ID you need:const targetCompetition = data.competitions.find(c => c.id === competitionId);
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
sports | number | No | 1 | Sport ID (1 = Football) |
timezoneName | string | No | Auto | Timezone for date/time values (auto-resolved, or specify e.g., America/New_York) |
Parameters like
appTypeId, langId, timezoneName, and userCountryId are automatically resolved. You can override timezoneName to receive date/time values in a specific timezone.Request
curl -X GET "https://api.sportsapipro.com/v1/football/competitions?sports=1" \
-H "x-api-key: YOUR_API_KEY"
const response = await fetch(
"https://api.sportsapipro.com/v1/football/competitions?sports=1",
{
headers: { "x-api-key": "YOUR_API_KEY" }
}
);
const data = await response.json();
import requests
response = requests.get(
"https://api.sportsapipro.com/v1/football/competitions",
params={"sports": 1},
headers={"x-api-key": "YOUR_API_KEY"}
)
data = response.json()
Response
{
"lastUpdateId": 5493716652,
"requestedUpdateId": -1,
"ttl": 300,
"sports": [
{
"id": 1,
"name": "Football",
"nameForURL": "football",
"drawSupport": true,
"imageVersion": 1
}
],
"countries": [
{
"id": 1,
"name": "England",
"totalGames": 23,
"liveGames": 0,
"nameForURL": "england",
"imageVersion": 1
},
{
"id": 2,
"name": "Spain",
"totalGames": 12,
"liveGames": 0,
"nameForURL": "spain",
"imageVersion": 1
}
],
"competitions": [
{
"id": 7,
"countryId": 1,
"sportId": 1,
"name": "Premier League",
"longName": "English Premier League",
"hasStandings": true,
"hasBrackets": false,
"hasStats": true,
"hasTransfers": true,
"totalGames": 10,
"liveGames": 0,
"nameForURL": "premier-league",
"popularityRank": 500000000,
"currentSeasonNum": 35,
"currentStageNum": 1,
"color": "#3D195B",
"imageVersion": 5,
"isActive": true
}
]
}
Country Object
| Field | Type | Description |
|---|---|---|
id | number | Unique country identifier |
name | string | Country name |
totalGames | number | Total games today in this country |
liveGames | number | Currently live games |
nameForURL | string | URL-friendly name |
imageVersion | number | Image version for cache busting |
isInternational | boolean | Whether this is an international entity |
Competition Object
| Field | Type | Description |
|---|---|---|
id | number | Unique competition identifier |
countryId | number | Associated country ID |
sportId | number | Sport ID (1 = Football) |
name | string | Competition name |
longName | string | Full competition name |
hasStandings | boolean | Whether standings are available |
hasBrackets | boolean | Whether brackets are available (cups) |
hasStats | boolean | Whether statistics are available |
totalGames | number | Total games today |
liveGames | number | Currently live games |
currentSeasonNum | number | Current season number |
color | string | Brand color (hex) |
imageVersion | number | Image version for logos |
isActive | boolean | Whether competition is currently active |
Images
Country Flag
https://api.sportsapipro.com/v1/football/images/countries/{countryId}?imageVersion={imageVersion}
Competition Logo
https://api.sportsapipro.com/v1/football/images/competitions/{competitionId}?imageVersion={imageVersion}
Last modified on June 29, 2026
Was this page helpful?
⌘I
List Competitions
curl --request GET \
--url https://api.sportsapipro.com/v1/basketball/competitions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sportsapipro.com/v1/basketball/competitions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sportsapipro.com/v1/basketball/competitions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sportsapipro.com/v1/basketball/competitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sportsapipro.com/v1/basketball/competitions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sportsapipro.com/v1/basketball/competitions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportsapipro.com/v1/basketball/competitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"competitions": [
{
"id": 123,
"name": "<string>",
"country": {
"id": 123,
"name": "<string>"
},
"hasStandings": true,
"hasBrackets": true
}
]
}