# GET All Countries

{% tabs %}
{% tab title="Base URL" %}

```javascript
https://api.sportmonks.com/v3/core/countries
```

{% endtab %}

{% tab title="Example Response" %}

```json
{
  "data": [
    {
      "id": 2,
      "continent_id": 1,
      "name": "Poland",
      "official_name": "Republic of Poland",
      "fifa_name": "POL",
      "iso2": "PL",
      "iso3": "POL",
      "latitude": "52.147850036621094",
      "longitude": "19.37775993347168",
      "geonameid": 798544,
      "borders": [
        "BLR",
        "CZE",
        "DEU",
        "LTU",
        "RUS",
        "SVK",
        "UKR"
      ],
      "image_path": "https://cdn.sportmonks.com/images//countries/png/short/pl.png"
    },
    {
      "id": 5,
      "continent_id": 7,
      "name": "Brazil",
      "official_name": "Federative Republic of Brazil",
      "fifa_name": "BRA",
      "iso2": "BR",
      "iso3": "BRA",
      "latitude": "-10.81045150756836",
      "longitude": "-52.97311782836914",
      "geonameid": 3469034,
      "borders": [
        "ARG",
        "BOL",
        "COL",
        "GUF",
        "GUY",
        "PRY",
        "PER",
        "SUR",
        "URY",
        "VEN"
      ],
      "image_path": "https://cdn.sportmonks.com/images//countries/png/short/br.png"
    },
    {
      "id": 11,
      "continent_id": 1,
      "name": "Germany",
      "official_name": "Federal Republic of Germany",
      "fifa_name": "GER",
      "iso2": "DE",
      "iso3": "DEU",
      "latitude": "51.20246505737305",
      "longitude": "10.382203102111816",
      "geonameid": 2921044,
      "borders": [
        "AUT",
        "BEL",
        "CZE",
        "DNK",
        "FRA",
        "LUX",
        "NLD",
        "POL",
        "CHE"
      ],
      "image_path": "https://cdn.sportmonks.com/images//countries/png/short/de.png"
    },
```

{% endtab %}

{% tab title="Field Description" %}

| Field          | Description                                              | Type    |
| -------------- | -------------------------------------------------------- | ------- |
| id             | Refers to the id of the country                          | integer |
| continent\_id  | Refers to the continent of the country                   | integer |
| name           | Displays the name of the country                         | string  |
| official\_name | Displays the officiel name of the country                | string  |
| fifa\_name     | Displays the official fifa shortcode name of the country | string  |
| iso2           | Returns the two letter country code                      | string  |
| iso3           | Returns the three letter country code                    | string  |
| latitude       | Returns the official latitude position of the country    | string  |
| longitude      | Returns the official longitude position of the country   | string  |
| geonameid      | Returns the official geonameid                           | integer |
| border         | Returns all the neighbour countries of the country       | string  |
| image\_path    | Returns the image path of the country                    | string  |
| {% endtab %}   |                                                          |         |
| {% endtabs %}  |                                                          |         |

{% tabs %}
{% tab title="Query Parameters" %}

<table><thead><tr><th>Query Parameters</th><th width="164.33333333333331">Required?</th><th>Description</th></tr></thead><tbody><tr><td><code>api_token</code></td><td>YES</td><td>Your unique API token</td></tr><tr><td><code>include</code></td><td>NO</td><td>Enrich the API with more data by using includes</td></tr><tr><td><code>select</code></td><td>NO</td><td>Select specific fields on the <a href="broken-reference">base entity</a></td></tr><tr><td><code>filters</code></td><td>NO</td><td><p>Filter the API response on multiple related entities. There are static filters and dynamic filters.</p><p></p><p>Please find the possibilities in the Static and Dynamic Filter tab.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Static Filters" %}
**Static filters** are always the same and filter in one specific way without any custom options. Each static filter is listed below and has a description of how it filters. For more information, please look at our[ Filters page](https://docs.sportmonks.com/v3/core-api/endpoints/countries/broken-reference).

<table><thead><tr><th width="165">Static Filters</th><th width="168">Available on Entity</th><th width="197">Description</th><th width="274">Example</th></tr></thead><tbody><tr><td><code>IdAfter</code></td><td>GET All Countries</td><td>Filter all countries starting from a certain country ID. Handy if you're doing an import for all countries and want to continue from a certain ID.</td><td><code>&#x26;filters=IdAfter:countryID</code><br><br></td></tr></tbody></table>
{% endtab %}

{% tab title="Dynamic Filters" %}
The **dynamic filters** are based on entities and includes. Each dynamic filter uses an entity to filter on and one entity to apply the filter on. Below are examples with explanations of how filters are set up. For more information, please look at our [Filters page.](https://docs.sportmonks.com/v3/core-api/endpoints/countries/broken-reference)

<table><thead><tr><th width="143">Dynamic Filters</th><th width="198">Available on Entity</th><th width="162">Description</th><th width="191">Examples</th></tr></thead><tbody><tr><td><code>regions</code></td><td>Region<br><br>Check this <a href="https://docs.sportmonks.com/football2/v/core/endpoints/filters/get-all-entity-filters">endpoint</a> for all possibilities.</td><td>Filter regions  based on countries.</td><td><p><code>&#x26;include=regions&#x26;filters=regionCountries:regionIDS</code></p><p></p></td></tr><tr><td><code>leagues</code></td><td>Check this <a href="https://docs.sportmonks.com/football2/v/core/endpoints/filters/get-all-entity-filters">endpoint</a> for all possibilities.</td><td>Filter leagues based on countries. </td><td><code>&#x26;include=leagues&#x26;filters=leagueCountries:leagueIDS</code></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

#### Pagination

Yes

#### Include depth

You can use a total of `2` nested includes on this endpoint

#### Include options

[`continent`](https://docs.sportmonks.com/v3/core-api/entities/core#continent) [`leagues`](https://app.gitbook.com/s/9zsNGu3HAzSnl5DWBD3Y/endpoints-and-entities/entities/league-season-schedule-stage-and-round#league) [`regions`](https://docs.sportmonks.com/v3/core-api/entities/core#region)

**Related Entities:**

Get an overview and explanation of all the fields returned in the API response. The related entities for the countries' endpoints are:

* [Country](https://docs.sportmonks.com/v3/core-api/entities/core#country)

#### Code Example

{% tabs %}
{% tab title="Ruby" %}

```ruby
require "uri"
require "net/http"

url = URI("https://api.sportmonks.com/v3/core/countries?api_token={your_token}")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)

response = https.request(request)
puts response.read_body

```

{% endtab %}

{% tab title="Python" %}

```python
import http.client

conn = http.client.HTTPSConnection("api.sportmonks.com")
payload = ''
headers = {}
conn.request("GET", "/v3/core/countries?api_token={your_token}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.sportmonks.com/v3/core/countries?api_token={your_token}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $respons
```

{% endtab %}

{% tab title="Java" %}

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://api.sportmonks.com/v3/core/countries?api_token={your_token}")
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();
```

{% endtab %}

{% tab title="Node.js" %}

```
var unirest = require('unirest');
var req = unirest('GET', 'https://api.sportmonks.com/v3/core/countries?api_token={your_token}')
  .end(function (res) { 
    if (res.error) throw new Error(res.error); 
    console.log(res.raw_body);
  });
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.sportmonks.com/v3/core/countries?api_token={your_token}"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}
{% endtabs %}
