# GET Drivers by Search

{% hint style="success" %}
You can also use the `metadata` include to enrich the response with detailed information about the driver, like the short name and debut info. The type reference for these details are described in [metadata-and-per-season-data-type-reference](https://docs.sportmonks.com/v3/motorsport-api/welcome/metadata-and-per-season-data-type-reference "mention").
{% endhint %}

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

```javascript
https://api.sportmonks.com/v3/motorsport/drivers/search/SEARCH_QUERY
```

{% endtab %}

{% tab title="Example Response" %}

```json
{
    "data": [
        {
            "id": 37920800,
            "sport_id": 2,
            "country_id": 38,
            "nationality_id": 38,
            "city_id": 36172,
            "position_id": 9730,
            "detailed_position_id": 9730,
            "type_id": null,
            "common_name": "M. Verstappen",
            "firstname": "Max",
            "lastname": "Verstappen",
            "name": "Max Verstappen",
            "display_name": "Max Verstappen",
            "image_path": "https://cdn.sportmonks.com/images/motorsport/players/0/37920800.png",
            "height": 181,
            "weight": 72,
            "date_of_birth": "1997-09-30",
            "gender": "male"
        },
        // more drivers...
    ]
}
```

{% endtab %}

{% tab title="Field Description" %}

| Field                  | Description                                                                          | Type    |
| ---------------------- | ------------------------------------------------------------------------------------ | ------- |
| `id`                   | Refers to the unique id of the driver (referred to as `player_id` in API responses)  | integer |
| `sport_id`             | Refers to the sport                                                                  | integer |
| `country_id`           | Refers to the country of birth of the driver                                         | integer |
| `nationality_id`       | Refers to the nationality that the driver has opted to represent                     | integer |
| `city_id`              | Refers to the city of birth of the driver                                            | integer |
| `position_id`          | Refers to the position of the driver within the team (first, second, or test driver) | integer |
| `detailed_position_id` | Not used in the Motorsport API                                                       | integer |
| `type_id`              | Not used in the Motorsport API                                                       | integer |
| `common_name`          | Refers to the name the player is known for                                           | string  |
| `firstname`            | Refers to the first name of the driver                                               | string  |
| `lastname`             | Refers to the last name of the driver                                                | string  |
| `name`                 | Refers to the name of the driver                                                     | string  |
| `display_name`         | Refers to the name that is often used to display in applications                     | string  |
| `image_path`           | Image path to the driver headshot                                                    | string  |
| `height`               | Refers to the height of the driver                                                   | integer |
| `weight`               | Refers to the weight of the driver                                                   | integer |
| `date_of_birth`        | Refers to the date of birth of the driver                                            | string  |
| `gender`               | Refers to the gender of the driver                                                   | 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 base entity</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.
{% endtab %}

{% tab title="Dynamic Filters" %}
Not applicable for this endpoint.&#x20;
{% endtab %}
{% endtabs %}

#### Pagination

YES

#### Include depth

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

#### Include options

`sport` `country` `city` `nationality` `teams` `latest` `position` `lineups` `metadata` `seasonDetails` `seasonTeams`

**Related Entities:**

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

* [Driver](https://docs.sportmonks.com/v3/motorsport-api/endpoints-and-entities/entities/driver)

#### Code Example

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

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

url = URI("https://api.sportmonks.com/v3/motorsport/drivers/search/Verstappen?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/motorsport/drivers/search/Verstappen?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/motorsport/drivers/search/Verstappen?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/motorsport/drivers/search/Verstappen?api_token={your_token}")
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();
```

{% endtab %}

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

```javascript
var unirest = require('unirest');
var req = unirest('GET', 'https://api.sportmonks.com/v3/motorsport/drivers/search/Verstappen?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/motorsport/drivers/search/Verstappen?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 %}
