Introduction
Partner JSON API of the Global Sport Systems ecosystem: teams, players, tournaments, games, standings, statistics and photo albums.
The Global Sport Systems API gives partner sites read access to the data of their
leagues: tournaments, schedules, standings, teams, players, statistics and photo albums.
**Every endpoint requires a Bearer token.** There are no public endpoints. Tokens are
issued manually by the GSS team — contact us to get one. Each token is scoped to a set
of leagues and to the data types it may read; requests outside that scope return `404`.
Required headers on every request:
```
Authorization: Bearer <your-token>
Accept: application/json
```
No other headers are needed. All list endpoints are paginated
(`{data, meta.pagination, links}`); errors always come back as
`{"errors": [{"code", "title", "detail", "source"}]}`.
Rate limit is per token (default 600 requests/minute). On `429` check the
`Retry-After` header.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_API_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Tokens are issued manually by the Global Sport Systems team. Contact your GSS manager to get a token for your leagues. Keep the token server-side — never expose it in browser JavaScript.
Endpoints
OPTIONS v1/{any}
requires authentication
Example request:
curl --request OPTIONS \
"https://api.globalsportsystems.org/v1/|{+-0p" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/|{+-0p';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => 'OPTIONS',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/|{+-0p"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "OPTIONS",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Games
Игры турниров доверенных лиг вашего токена.
List games
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/games?date_from=2026-01-01&status=finished&per_page=50&page=1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"tournament_id\": 16,
\"team_id\": 16,
\"date_from\": \"2026-07-21\",
\"date_to\": \"2026-07-21\",
\"per_page\": 22,
\"page\": 67
}"
$url = 'https://api.globalsportsystems.org/v1/games';
$query = http_build_query([
'date_from' => '2026-01-01',
'status' => 'finished',
'per_page' => 50,
'page' => 1,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'tournament_id' => 16,
'team_id' => 16,
'date_from' => '2026-07-21',
'date_to' => '2026-07-21',
'per_page' => 22,
'page' => 67,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/games"
);
const params = {
"date_from": "2026-01-01",
"status": "finished",
"per_page": "50",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"tournament_id": 16,
"team_id": 16,
"date_from": "2026-07-21",
"date_to": "2026-07-21",
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a game
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/games/10134" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/games/10134';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/games/10134"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Game rosters
requires authentication
Составы обеих команд с per-game статистикой (stats — сырой JSON матча).
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/games/10134/roster" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/games/10134/roster';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/games/10134/roster"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Game events
requires authentication
События игры (голы, штрафы, буллиты, ...) в хронологическом порядке.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/games/10134/events" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/games/10134/events';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/games/10134/events"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Game photo albums
requires authentication
Шорткат для GET /v1/albums?game_id={id}.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/games/10134/albums" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"page\": 22
}"
$url = 'https://api.globalsportsystems.org/v1/games/10134/albums';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'per_page' => 1,
'page' => 22,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/games/10134/albums"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"per_page": 1,
"page": 22
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Leagues
Сводные сезонные данные доверенных лиг вашего токена.
League season standings
requires authentication
Сводная таблица команд лиги за сезон (по возрастным категориям), из сезонного агрегата league_stats_team_season.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/leagues/1008/standings" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"season_id\": 16
}"
$url = 'https://api.globalsportsystems.org/v1/leagues/1008/standings';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'season_id' => 16,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/leagues/1008/standings"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"season_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
League season leaders
requires authentication
Top scorers и top goalies лиги за сезон (league_stats_player / goalie).
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/leagues/1008/stats?limit=10" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"season_id\": 16,
\"limit\": 22
}"
$url = 'https://api.globalsportsystems.org/v1/leagues/1008/stats';
$query = http_build_query([
'limit' => 10,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'season_id' => 16,
'limit' => 22,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/leagues/1008/stats"
);
const params = {
"limit": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"season_id": 16,
"limit": 22
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Photo albums
Фотоальбомы лиг/турниров/игр из scope токена. Фотографии отдаются тремя готовыми URL размеров (thumbnail / medium / large).
List albums
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/albums?league_id=1132&per_page=50&page=1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"league_id\": 16,
\"tournament_id\": 16,
\"game_id\": 16,
\"per_page\": 22,
\"page\": 67
}"
$url = 'https://api.globalsportsystems.org/v1/albums';
$query = http_build_query([
'league_id' => 1132,
'per_page' => 50,
'page' => 1,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'league_id' => 16,
'tournament_id' => 16,
'game_id' => 16,
'per_page' => 22,
'page' => 67,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/albums"
);
const params = {
"league_id": "1132",
"per_page": "50",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"league_id": 16,
"tournament_id": 16,
"game_id": 16,
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get an album with photos
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/albums/16" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/albums/16';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/albums/16"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Players
Игроки, заявленные в турнирах доверенных лиг вашего токена. Статистика отдаётся только по этим лигам — чужие лиги игрока не раскрываются.
List players
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/players?search=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&per_page=50&page=1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"search\": \"b\",
\"team_id\": 16,
\"birth_year\": 16,
\"per_page\": 22,
\"page\": 67
}"
$url = 'https://api.globalsportsystems.org/v1/players';
$query = http_build_query([
'search' => 'Иванов',
'per_page' => 50,
'page' => 1,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'search' => 'b',
'team_id' => 16,
'birth_year' => 16,
'per_page' => 22,
'page' => 67,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/players"
);
const params = {
"search": "Иванов",
"per_page": "50",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"search": "b",
"team_id": 16,
"birth_year": 16,
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a player
requires authentication
Карточка игрока + его команды в рамках доверенных лиг (самая свежая — первой, она же current_team).
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/players/1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/players/1';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/players/1"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Player aggregated stats
requires authentication
Агрегаты из турнирной и сезонной статистики — только по турнирам и лигам из scope токена.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/players/1/stats" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"season_id\": 16
}"
$url = 'https://api.globalsportsystems.org/v1/players/1/stats';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'season_id' => 16,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/players/1/stats"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"season_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Teams
Команды, участвующие в турнирах доверенных лиг вашего токена.
List teams
requires authentication
Пагинированный список команд в рамках scope токена.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/teams?league_id=1132&search=%D0%A8%D1%83%D1%88%D0%B0%D1%80%D1%8B&per_page=50&page=1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"league_id\": 16,
\"tournament_id\": 16,
\"club_id\": 16,
\"search\": \"n\",
\"per_page\": 7,
\"page\": 66
}"
$url = 'https://api.globalsportsystems.org/v1/teams';
$query = http_build_query([
'league_id' => 1132,
'search' => 'Шушары',
'per_page' => 50,
'page' => 1,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'league_id' => 16,
'tournament_id' => 16,
'club_id' => 16,
'search' => 'n',
'per_page' => 7,
'page' => 66,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/teams"
);
const params = {
"league_id": "1132",
"search": "Шушары",
"per_page": "50",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"league_id": 16,
"tournament_id": 16,
"club_id": 16,
"search": "n",
"per_page": 7,
"page": 66
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 123,
"slug": "team-a-2010",
"name": "Команда А",
"name_en": "Team A",
"short_name": null,
"short_name_en": null,
"team_year": 2010,
"type": "child",
"status": "active",
"sport": {
"id": 1,
"key": "hockey",
"name": "Hockey"
},
"club": null,
"city": {
"id": 7,
"name": "Санкт-Петербург",
"name_en": "Saint Petersburg"
},
"logo_url": "https://s3.example/logos/123.webp",
"created_at": "2025-09-01T10:30:00+00:00",
"updated_at": "2026-04-10T14:22:15+00:00"
}
],
"meta": {
"pagination": {
"total": 2,
"count": 1,
"per_page": 1,
"current_page": 1,
"total_pages": 2
}
},
"links": {
"self": "https://api.globalsportsystems.org/v1/teams?per_page=1",
"first": "https://api.globalsportsystems.org/v1/teams?per_page=1&page=1",
"last": "https://api.globalsportsystems.org/v1/teams?per_page=1&page=2",
"next": "https://api.globalsportsystems.org/v1/teams?per_page=1&page=2",
"prev": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a team
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/teams/1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/teams/1';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/teams/1"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Team roster with basic stats
requires authentication
Состав команды в сезоне (default — текущий) в рамках доверенных лиг, с базовой статистикой из турнирных агрегатов.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/teams/1/players" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"season_id\": 16
}"
$url = 'https://api.globalsportsystems.org/v1/teams/1/players';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'season_id' => 16,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/teams/1/players"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"season_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tournaments
Турниры доверенных лиг вашего токена.
List tournaments
requires authentication
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments?league_id=1132&status=active&per_page=50&page=1" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"league_id\": 16,
\"season_id\": 16,
\"search\": \"n\",
\"per_page\": 7,
\"page\": 66
}"
$url = 'https://api.globalsportsystems.org/v1/tournaments';
$query = http_build_query([
'league_id' => 1132,
'status' => 'active',
'per_page' => 50,
'page' => 1,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'league_id' => 16,
'season_id' => 16,
'search' => 'n',
'per_page' => 7,
'page' => 66,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments"
);
const params = {
"league_id": "1132",
"status": "active",
"per_page": "50",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"league_id": 16,
"season_id": 16,
"search": "n",
"per_page": 7,
"page": 66
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a tournament
requires authentication
Мета турнира + команды-участники + список этапов.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments/10565" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/tournaments/10565';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments/10565"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tournament table (standings)
requires authentication
Турнирная таблица по этапам — тот же агрегат, что и на публичных порталах (пересчитывается кроном после каждого матча).
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments/10565/table" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$url = 'https://api.globalsportsystems.org/v1/tournaments/10565/table';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments/10565/table"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"tournament": {
"id": 45,
"slug": "allowed-cup",
"name": "Кубок",
"name_en": "Cup"
},
"stages": [
{
"id": 3,
"name": "Группа А",
"name_en": "Group A",
"type": "round-robin",
"sort_order": 1,
"standings": [
{
"position": 1,
"team": {
"id": 11,
"team_id": 123,
"name": "Команда А",
"name_en": "Team A",
"short_name": null,
"short_name_en": null,
"additional_name": null,
"display_name": "Команда А",
"logo_url": "https://s3.example/logos/123.webp",
"is_placeholder": false,
"is_out_of_standings": false,
"final_position": null
},
"games_played": 5,
"wins_total": 4,
"wins": 4,
"wins_ot": 0,
"wins_so": 0,
"draws": 0,
"losses_total": 1,
"losses": 1,
"losses_ot": 0,
"losses_so": 0,
"scores_for": 20,
"scores_against": 8,
"points": 8
}
]
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tournament schedule
requires authentication
Календарь игр турнира от старых к новым.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments/10565/schedule" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date_from\": \"2026-07-21\",
\"date_to\": \"2026-07-21\",
\"per_page\": 1,
\"page\": 22
}"
$url = 'https://api.globalsportsystems.org/v1/tournaments/10565/schedule';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'date_from' => '2026-07-21',
'date_to' => '2026-07-21',
'per_page' => 1,
'page' => 22,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments/10565/schedule"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date_from": "2026-07-21",
"date_to": "2026-07-21",
"per_page": 1,
"page": 22
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tournament leaders
requires authentication
Top scorers и top goalies из турнирных агрегатов.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments/10565/stats?limit=10" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 1
}"
$url = 'https://api.globalsportsystems.org/v1/tournaments/10565/stats';
$query = http_build_query([
'limit' => 10,
]);
$url .= '?' . $query;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'limit' => 1,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments/10565/stats"
);
const params = {
"limit": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 1
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tournament photo albums
requires authentication
Шорткат для GET /v1/albums?tournament_id={id}.
Example request:
curl --request GET \
--get "https://api.globalsportsystems.org/v1/tournaments/10565/albums" \
--header "Authorization: Bearer {YOUR_API_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"page\": 22
}"
$url = 'https://api.globalsportsystems.org/v1/tournaments/10565/albums';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {YOUR_API_TOKEN}',
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'per_page' => 1,
'page' => 22,
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);const url = new URL(
"https://api.globalsportsystems.org/v1/tournaments/10565/albums"
);
const headers = {
"Authorization": "Bearer {YOUR_API_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"per_page": 1,
"page": 22
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.