Метод countries — список стран
Рекомендация: обычно лучше использовать menu
Метод countries возвращает страны только для одного выбранного вида спорта. Эти же
страны уже находятся внутри ответа метода menu.
Для обычной интеграции рекомендуется использовать menu, потому что за один запрос он
возвращает всю структуру:
вид спорта → страна → турнир
При пошаговой загрузке потребуются отдельные запросы:
1. sports → получить sportId
2. countries → получить countryId
3. tournaments → получить tournamentId
4. events → получить матчи турнира
Метод countries является дополнительным. Используйте его, если страна должна
загружаться только после выбора вида спорта или полный ответ menu проекту не нужен.
Если после стран всё равно потребуются турниры, удобнее получить всю структуру через
menu.
Запрос
GET https://YOUR_API_DOMAIN/v1/countries/{sportId}/{type}/{lang}
API-ключ необходимо передавать в HTTP-заголовке:
Package: YOUR_API_KEY
Параметры пути
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
sportId | number | да | ID вида спорта, полученный из sports или menu |
type | string | да | Тип спортивной линии: live или line |
lang | string | да | Язык названий. Язык должен поддерживаться API и входить в тариф клиента |
Значения параметра type:
| Значение | Какие данные возвращаются |
|---|---|
live | Страны, в которых доступны Live-матчи выбранного вида спорта |
line | Страны, в которых доступны Prematch-матчи выбранного вида спорта |
Пример запроса Live
В примере используется футбол с sportId=1:
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/countries/1/live/ru' \
--header 'Package: YOUR_API_KEY'
Пример запроса Prematch
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/countries/1/line/ru' \
--header 'Package: YOUR_API_KEY'
Сокращённый пример ответа Live
Ниже показан фрагмент реального ответа для футбола. Значения сохранены без изменений,
но массив body сокращён до трёх стран.
{
"status": 1,
"page": "/v1/countries",
"body": [
{
"id": 1,
"name": "Россия",
"sport_id": 1,
"counter": 1
},
{
"id": 2,
"name": "Украина",
"sport_id": 1,
"counter": 3
},
{
"id": 4,
"name": "Австралия",
"sport_id": 1,
"counter": 8
}
]
}
Сокращённый пример ответа Prematch
Этот фрагмент также взят из реального ответа для футбола. Массив body сокращён.
{
"status": 1,
"page": "/v1/countries",
"body": [
{
"id": 1,
"name": "Россия",
"sport_id": 1,
"counter": 86
},
{
"id": 2,
"name": "Украина",
"sport_id": 1,
"counter": 16
},
{
"id": 4,
"name": "Австралия",
"sport_id": 1,
"counter": 104
}
]
}
Значения counter показывают состояние линии только в момент получения ответа и
постоянно изменяются.
Поля ответа
Верхний уровень
| Поле | Тип | Описание |
|---|---|---|
status | number | Статус выполнения запроса. В успешном ответе возвращается 1 |
page | string | Название метода. Для countries возвращается /v1/countries |
body | array | Массив доступных стран выбранного вида спорта |
Объект страны
| Поле | Тип | Описание |
|---|---|---|
id | number | ID страны. Используется как countryId в других методах |
name | string | Название страны на языке, указанном в lang |
sport_id | number | ID вида спорта, для которого была возвращена страна |
counter | number | Количество доступных матчей выбранного спорта в этой стране |
Обратите внимание: параметр пути называется sportId, а соответствующее поле в JSON —
sport_id.
Готовые иконки стран
Для каждой страны можно использовать стандартную иконку SportAPI. Возьмите значение
поля id из ответа и подставьте его вместо {countryId}:
https://cdn.sportapi.net/flags/v1/color/{countryId}.webp
Например, для страны с id: 218:
https://cdn.sportapi.net/flags/v1/color/218.webp
Связь с методом menu
Объекты из массива body метода countries содержат те же основные данные, что и
объекты стран внутри menu для выбранного вида спорта.
| Поле | countries | menu |
|---|---|---|
id | да | да |
name | да | да |
sport_id | да | да |
counter | да | да |
sub с турнирами | нет | да |
Если вызвать методы в разное время, состав стран и значения counter могут отличаться,
поскольку спортивная линия постоянно изменяется.
Что делать с полученным id
После выбора страны возьмите её поле id. В URL следующего метода этот идентификатор
обозначается как countryId.
Чтобы получить турниры выбранной страны, передайте одновременно:
sportIdвыбранного вида спорта;countryIdвыбранной страны;- тот же тип линии
liveилиline.
При использовании menu турниры уже находятся в массиве sub выбранной страны, поэтому
дополнительный запрос не требуется.
Не передавайте заранее записанный countryId, не проверив, что страна присутствует в
актуальном ответе countries или menu. Страна возвращается только пока в ней есть
доступные матчи выбранного вида спорта и типа линии.
Если закончился или исчез единственный матч последнего турнира страны, страна также
исчезнет из следующего ответа. При пошаговой навигации передавайте в tournaments только
countryId, полученный из актуального ответа countries.
Снимок сохранённых ответов
Во всех примерах использован футбол (sportId=1).
| Тип линии | Русский ответ | Английский ответ |
|---|---|---|
| Live | 15 стран | 15 стран |
Prematch (line) | 99 стран | 99 стран |
Это статистика конкретных ответов от 21 августа 2026 года, а не постоянный состав API.
Полные ответы без сокращений:
Файлы содержат только тело ответа API. API-ключ в них не сохраняется.
Частота обновления
Рекомендуется запрашивать countries:
- Live — не чаще одного раза в 60 секунд;
- Prematch (
line) — не чаще одного раза в 120 секунд.
Подробнее: «Рекомендации по обновлению данных».
Ошибки ключа, тарифа и параметров описаны в документе «Обработка ошибок».