---
title: Regions
description: Choose specific geographic locations for reduced latency, comply with data residency requirements, or use your own runner machines for custom regions.
---

import { TabItem, Tabs } from '@astrojs/starlight/components'

Sandboxes are isolated runtime environments that run on [runners](/docs/en/runners) — machines that form Daytona's compute plane.

Runners are organized into **regions**, which are geographic or logical groupings of compute infrastructure. When creating a sandbox, you can target a specific region, and Daytona will schedule your workload on an available runner within that region.

As a result, you're able to:

- Choose specific geographic locations for reduced latency
- Comply with data residency requirements
- Use your own runner machines for custom regions
- Scale compute resources independently within each custom region

Regions are geographic or logical groupings of runners that execute sandbox workloads. The sandbox region is specified by setting the `target` parameter on initialization:

<Tabs syncKey="language">
<TabItem label="Python" icon="seti:python">

```python
from daytona import Daytona, DaytonaConfig

# Configure Daytona to use the US region
config = DaytonaConfig(
    target="us"
)

# Initialize the Daytona client with the specified configuration
daytona = Daytona(config)
```
</TabItem>
<TabItem label="TypeScript" icon="seti:typescript">
```typescript
import { Daytona } from '@daytona/sdk';

// Configure Daytona to use the EU region
const daytona: Daytona = new Daytona({
    target: "eu"
});
```

</TabItem>
<TabItem label="Go" icon="seti:go">

```go
package main

import (
    "github.com/daytonaio/daytona/libs/sdk-go/pkg/daytona"
    "github.com/daytonaio/daytona/libs/sdk-go/pkg/types"
)

// Configure Daytona to use the US region
client, _ := daytona.NewClientWithConfig(&types.DaytonaConfig{
    Target: "us",
})
```

</TabItem>
<TabItem label="Ruby" icon="seti:ruby">

```ruby
require 'daytona'

# Configure Daytona to use the EU region
config = Daytona::Config.new(
    target: "eu"
)

# Initialize the Daytona client with the specified configuration
daytona = Daytona::Daytona.new(config)
```

</TabItem>
<TabItem label="Java" icon="seti:java">

```java
import io.daytona.sdk.Daytona;
import io.daytona.sdk.DaytonaConfig;

// Configure Daytona to use the US region
DaytonaConfig config = new DaytonaConfig.Builder()
        .apiKey(System.getenv("DAYTONA_API_KEY"))
        .target("us")
        .build();

Daytona daytona = new Daytona(config);
```

</TabItem>
</Tabs>

### Shared regions

Shared regions are managed by Daytona and available to all organizations. These regions provide immediate access to Daytona's infrastructure without any setup required.

Limits are applied to your organization's default region. For access to a different shared region, contact [sales@daytona.io](mailto:sales@daytona.io).

| Region        | Target   |
| ------------- | -------- |
| United States | **`us`** |
| Europe        | **`eu`** |

### Dedicated regions

Dedicated regions are managed by Daytona and provisioned exclusively for individual organizations. These regions deliver dedicated infrastructure with the operational simplicity of a managed service.

:::note
Contact [sales@daytona.io](mailto:sales@daytona.io) to set up a dedicated region for your organization.
:::

### Custom regions

Custom regions are created and managed by your organization, allowing you to use your own runner machines and scale compute resources independently within each region. This provides maximum control over data locality, compliance, and infrastructure configuration.

Additionally, custom regions have no limits applied for concurrent resource usage, giving you full control over capacity and performance.

For more information, see the [runners](/docs/en/runners) guide.
