# Geo-targeting

The Search API supports two levels of geo-targeting: country/language via
`queryParameters`, and domain selection via `domain`.

## Country and language

Pass `queryParameters` to control the country and language of results.

### Engine-specific (recommended)

Pass engine-native parameters using `style: "engineSpecific"`:

```json
{
    "domain": "search.engine.com",
    "query": "pizza restaurants",
    "queryParameters": {
        "style": "engineSpecific",
        "gl": "us",
        "hl": "en"
    }
}
```

### Generic

Use the portable `geolocation` and `locale` fields:

```json
{
    "domain": "search.engine.com",
    "query": "pizza restaurants",
    "queryParameters": {
        "style": "generic",
        "geolocation": "US",
        "locale": "en-US"
    }
}
```

## Targeting a regional domain

To get results from a country-specific domain, change the `domain` field.
The platform fetches from that domain directly:

```json
{
    "domain": "search.engine.com",
    "query": "pizza restaurants",
    "queryParameters": {
        "style": "engineSpecific",
        "gl": "de",
        "hl": "de"
    }
}
```

Supported domains include regional variants. Unsupported domains return a 400 error.

## City-level targeting

For city-level precision, pass a `uule` value in `queryParameters`:

```json
{
    "domain": "search.engine.com",
    "query": "pizza restaurants",
    "queryParameters": {
        "style": "engineSpecific",
        "uule": "w+CAIQICINY2hpY2Fnbywgsuited"
    }
}
```

> [!NOTE]
> The `uule` value must be in a format supported by the target search
> engine.
