> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sportsapipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Countries

> Retrieve all available countries with game counts

## Endpoint

```
GET https://v1.football.sportsapipro.com/countries
```

<Info>
  The API **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.
</Info>

## Parameters

<ParamField query="sports" type="number" default="1">
  Filter countries by sport ID. Use `1` for Football.
</ParamField>

<ParamField query="lastUpdateId" type="number">
  For incremental updates, pass the `lastUpdateId` from a previous response to get only changes since that point.
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://v1.football.sportsapipro.com/countries?sports=1" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://v1.football.sportsapipro.com/countries?sports=1',
    {
      headers: {
        'x-api-key': 'YOUR_API_KEY'
      }
    }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://v1.football.sportsapipro.com/countries',
      params={'sports': 1},
      headers={'x-api-key': 'YOUR_API_KEY'}
  )
  data = response.json()
  ```
</CodeGroup>

## Response

```json theme={null}
{
  "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

| Field               | Type   | Description                                              |
| ------------------- | ------ | -------------------------------------------------------- |
| `lastUpdateId`      | number | Internal versioning ID for incremental updates           |
| `requestedUpdateId` | number | Update ID requested by client (-1 = latest data)         |
| `ttl`               | number | Cache duration in seconds (60 seconds for this endpoint) |
| `sports`            | array  | Available sports that have countries with competitions   |
| `countries`         | array  | List of countries with game availability                 |

### Country Object

| Field             | Type    | Description                                                                       |
| ----------------- | ------- | --------------------------------------------------------------------------------- |
| `id`              | number  | Unique country identifier                                                         |
| `name`            | string  | Country display name                                                              |
| `totalGames`      | number  | Total number of games scheduled for this country today                            |
| `liveGames`       | number  | Number of currently live games in this country                                    |
| `nameForURL`      | string  | URL-friendly country name slug                                                    |
| `sportTypes`      | array   | Array of sport IDs available in this country                                      |
| `imageVersion`    | number  | Version number for country flag image                                             |
| `isInternational` | boolean | Whether this is an international/continental region (e.g., Europe, International) |

### Sport Object

| Field          | Type    | Description                              |
| -------------- | ------- | ---------------------------------------- |
| `id`           | number  | Unique sport identifier                  |
| `name`         | string  | Sport display name                       |
| `nameForURL`   | string  | URL-friendly sport name slug             |
| `drawSupport`  | boolean | Whether draws are possible in this sport |
| `imageVersion` | number  | Version 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:

| ID  | Name          | Description                    |
| --- | ------------- | ------------------------------ |
| 19  | Europe        | European competitions (UEFA)   |
| 44  | Africa        | African competitions (CAF)     |
| 47  | North America | CONCACAF competitions          |
| 17  | South America | CONMEBOL competitions          |
| 54  | International | FIFA international tournaments |
| 171 | Asia          | AFC competitions               |
| 208 | Oceania       | OFC competitions               |

## Caching

<Note>
  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.
</Note>


## OpenAPI

````yaml GET /countries
openapi: 3.1.0
info:
  title: SportsAPI Pro - Football API
  description: >-
    Professional football/soccer data API providing live scores, fixtures,
    statistics, betting odds, and more.
  version: 1.0.0
  contact:
    name: SportsAPI Pro Support
    email: support@sportsapipro.com
servers:
  - url: https://v1.football.sportsapipro.com
    description: Production API Server
security:
  - ApiKeyAuth: []
paths:
  /countries:
    get:
      tags:
        - Countries
      summary: List Countries
      description: Get all available countries
      operationId: listCountries
      responses:
        '200':
          description: Countries list retrieved successfully
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your SportsAPI Pro API key

````