Skip to main content
GET
/
countries
List Countries
curl --request GET \
  --url https://v1.football.sportsapipro.com/countries \
  --header 'x-api-key: <api-key>'

Endpoint

GET https://v1.football.sportsapipro.com/countries
The upstream service automatically determines the user’s language, timezone, and country based on request context. You can override timezoneName with a specific timezone (e.g., America/New_York). All date/time fields use ISO 8601 format with a dynamic timezone offset.

Parameters

sports
number
default:"1"
Filter countries by sport ID. Use 1 for Football.
lastUpdateId
number
For incremental updates, pass the lastUpdateId from a previous response to get only changes since that point.

Request

curl -X GET "https://v1.football.sportsapipro.com/countries?sports=1" \
  -H "x-api-key: YOUR_API_KEY"

Response

{
  "lastUpdateId": 5494801907,
  "requestedUpdateId": -1,
  "ttl": 60,
  "sports": [
    {
      "id": 1,
      "name": "Football",
      "nameForURL": "football",
      "drawSupport": true,
      "imageVersion": 1
    },
    {
      "id": 2,
      "name": "Basketball",
      "nameForURL": "basketball",
      "drawSupport": false,
      "imageVersion": 1
    }
  ],
  "countries": [
    {
      "id": 65,
      "name": "Ghana",
      "totalGames": 0,
      "liveGames": 0,
      "nameForURL": "ghana",
      "sportTypes": [1],
      "imageVersion": 1,
      "isInternational": false
    },
    {
      "id": 1,
      "name": "England",
      "totalGames": 2,
      "liveGames": 0,
      "nameForURL": "england",
      "imageVersion": 1
    },
    {
      "id": 19,
      "name": "Europe",
      "totalGames": 18,
      "liveGames": 0,
      "nameForURL": "europe",
      "imageVersion": 1,
      "isInternational": true
    },
    {
      "id": 54,
      "name": "International",
      "totalGames": 4,
      "liveGames": 1,
      "nameForURL": "international",
      "imageVersion": 1,
      "isInternational": true
    }
  ]
}

Response Fields

FieldTypeDescription
lastUpdateIdnumberInternal versioning ID for incremental updates
requestedUpdateIdnumberUpdate ID requested by client (-1 = latest data)
ttlnumberCache duration in seconds (60 seconds for this endpoint)
sportsarrayAvailable sports that have countries with competitions
countriesarrayList of countries with game availability

Country Object

FieldTypeDescription
idnumberUnique country identifier
namestringCountry display name
totalGamesnumberTotal number of games scheduled for this country today
liveGamesnumberNumber of currently live games in this country
nameForURLstringURL-friendly country name slug
sportTypesarrayArray of sport IDs available in this country
imageVersionnumberVersion number for country flag image
isInternationalbooleanWhether this is an international/continental region (e.g., Europe, International)

Sport Object

FieldTypeDescription
idnumberUnique sport identifier
namestringSport display name
nameForURLstringURL-friendly sport name slug
drawSupportbooleanWhether draws are possible in this sport
imageVersionnumberVersion number for sport icon

Country Flag Images

Country flag images can be retrieved using:
https://v1.football.sportsapipro.com/images/countries/{countryId}?version={imageVersion}
Example:
https://v1.football.sportsapipro.com/images/countries/1?version=1

International Regions

Countries with isInternational: true represent continental or international competitions:
IDNameDescription
19EuropeEuropean competitions (UEFA)
44AfricaAfrican competitions (CAF)
47North AmericaCONCACAF competitions
17South AmericaCONMEBOL competitions
54InternationalFIFA international tournaments
171AsiaAFC competitions
208OceaniaOFC competitions

Caching

This endpoint has a TTL of 60 seconds. The data updates frequently to reflect live game counts. Use the lastUpdateId parameter for efficient incremental updates.

Authorizations

x-api-key
string
header
required

Your SportsAPI Pro API key

Response

200

Countries list retrieved successfully