# GET City by ID

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

```javascript
https://api.sportmonks.com/v3/core/cities/{ID}
```

{% endtab %}

{% tab title="Example Response" %}

```json
{
  "data": {
    "id": 53253,
    "country_id": 32,
    "region_id": 428,
    "name": "Madrid",
    "latitude": "21.9",
    "longitude": "-78.0833333",
    "geonameid": 3117735
  },
```

{% endtab %}

{% tab title="Field Description" %}

| Field         | Description                          | Type    |
| ------------- | ------------------------------------ | ------- |
| id            | Refers to the id of the city         | integer |
| country\_id   | Refers to the country of the city    | integer |
| region        | Refers to the region of the city     | integer |
| name          | Displays the name of the city        | string  |
| latitude      | The official latitude of the city    | string  |
| longitude     | The official lonitude of the city    | string  |
| geonameid     | The official geo name id of the city | integer |
| {% 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" %}
Not applicable for this endpoint.&#x20;
{% 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/cities/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>Coaches, Leagues, Players, Teams, and way more.<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 and more based on cities.</td><td><p><code>&#x26;include=regions&#x26;filters=regionCities:regionIDS</code></p><p></p></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

#### Pagination

No

#### Include depth

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

#### Include options

[`region`](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 cities' endpoints are:

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

#### Code Example

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

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

url = URI("https://api.sportmonks.com/v3/core/cities/{ID}?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/cities/{ID}?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/cities/{ID}?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/cities/{ID}?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/cities/{ID}?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/cities/{ID}?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 %}
