countries Method — Country List
Recommendation: Use menu in Most Cases
The countries method returns countries for only one selected sport. The same countries
are already available inside the menu response.
For a standard integration, menu is recommended because one request returns the
complete hierarchy:
sport → country → tournament
Step-by-step loading requires separate requests:
1. sports → retrieve sportId
2. countries → retrieve countryId
3. tournaments → retrieve tournamentId
4. events → retrieve tournament matches
The countries method is an additional method. Use it when countries should be loaded
only after a sport is selected or the project does not need the complete menu
response. If tournaments will still be required after countries, retrieving the full
hierarchy through menu is more convenient.
Request
GET https://YOUR_API_DOMAIN/v1/countries/{sportId}/{type}/{lang}
Send the API key in the HTTP header:
Package: YOUR_API_KEY
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sportId | number | yes | Sport ID obtained from sports or menu |
type | string | yes | Sports line type: live or line |
lang | string | yes | Language of names. It must be supported by the API and included in the client’s subscription |
Values of type:
| Value | Data returned |
|---|---|
live | Countries with available Live matches for the selected sport |
line | Countries with available Prematch matches for the selected sport |
Live Request Example
This example uses football with sportId=1:
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/countries/1/live/en' \
--header 'Package: YOUR_API_KEY'
Prematch Request Example
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/countries/1/line/en' \
--header 'Package: YOUR_API_KEY'
Shortened Live Response Example
The following excerpt comes from a real English football response. The values are
unchanged, but the body array has been shortened to three countries.
{
"status": 1,
"page": "/v1/countries",
"body": [
{
"id": 4,
"name": "Australia",
"sport_id": 1,
"counter": 8
},
{
"id": 218,
"name": "Japan",
"sport_id": 1,
"counter": 2
},
{
"id": 225,
"name": "World",
"sport_id": 1,
"counter": 24
}
]
}
Shortened Prematch Response Example
This excerpt also comes from a real English football response. The body array has been
shortened.
{
"status": 1,
"page": "/v1/countries",
"body": [
{
"id": 4,
"name": "Australia",
"sport_id": 1,
"counter": 104
},
{
"id": 218,
"name": "Japan",
"sport_id": 1,
"counter": 30
},
{
"id": 225,
"name": "World",
"sport_id": 1,
"counter": 68
}
]
}
The counter values represent the sports line only at the time of the response and
change continuously.
Response Fields
Top-level Fields
| Field | Type | Description |
|---|---|---|
status | number | Request status. A successful response returns 1 |
page | string | Method name. countries returns /v1/countries |
body | array | Available countries for the selected sport |
Country Object
| Field | Type | Description |
|---|---|---|
id | number | Country ID. Used as countryId in other methods |
name | string | Country name in the language specified by lang |
sport_id | number | ID of the sport for which the country was returned |
counter | number | Number of available matches for the selected sport in this country |
Note that the path parameter is named sportId, while the corresponding JSON field is
named sport_id.
Ready-to-use Country Icons
Each country can use a standard SportAPI icon. Take the id value from the response and
insert it in place of {countryId}:
https://cdn.sportapi.net/flags/v1/color/{countryId}.webp
Example for a country with id: 218:
https://cdn.sportapi.net/flags/v1/color/218.webp
Relationship with menu
Objects in the countries method’s body array contain the same main data as country
objects inside menu for the selected sport.
| Field | countries | menu |
|---|---|---|
id | yes | yes |
name | yes | yes |
sport_id | yes | yes |
counter | yes | yes |
sub with tournaments | no | yes |
If the methods are called at different times, the country list and counter values may
differ because the sports line changes continuously.
Using the Returned id
After selecting a country, take its id field. This identifier is named countryId in
the next method’s URL.
To retrieve tournaments for the selected country, pass all of the following:
- the selected sport’s
sportId; - the selected country’s
countryId; - the same
liveorlinetype.
When using menu, the tournaments are already available in the selected country’s
sub array, so no additional request is required.
Do not pass a stored countryId without checking that the country is present in the
current countries or menu response. A country is returned only while it contains
available matches for the selected sport and line type.
If the only match in the country’s last tournament ends or disappears, the country will
also be absent from the next response. In step-by-step navigation, pass to tournaments
only a countryId obtained from the current countries response.
Snapshot of Saved Responses
All examples use football (sportId=1).
| Line type | Russian response | English response |
|---|---|---|
| Live | 15 countries | 15 countries |
Prematch (line) | 99 countries | 99 countries |
These figures describe specific responses retrieved on August 21, 2026. They are not a permanent description of the API.
Full unabridged responses:
The files contain only API response bodies. No API key is stored in them.
Update Frequency
Recommended request frequency for countries:
- Live — no more than once every 60 seconds;
- Prematch (
line) — no more than once every 120 seconds.
See Data Update Guidelines for more details.
Key, subscription, and parameter errors are documented in Error Handling.