Skip to main content
The top-level Sandbox, Volume, and Template exports read their configuration from the environment variables (E2B_API_KEY, E2B_DOMAIN, …). If you need an explicit configuration — for example several API keys, teams, or self-hosted deployments in a single process — create an E2B client and use the resources it exposes.
Per-call options take precedence over the client’s options, which take precedence over the environment variables.
The classes exposed by the client behave exactly like the top-level exports of the same name — only the defaults change. You can also destructure them and use them as usual.

Client options

The client accepts the same options as the individual SDK calls, for example apiKey/api_key, domain, requestTimeoutMs/request_timeout, proxy, apiHeaders/api_headers, and logger. In JavaScript, the only exception is signal: it cancels a single in-flight request, so it can only be passed per call.

Multiple clients

Clients are isolated from each other and from the env-configured top-level exports, so you can use as many of them side by side as you need.