Skip to content

How E2B’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score34/100

Agent-ready 56.7 × 0.30 = 17.01

API quality 11.4 × 0.20 = 2.28

Openness 39.2 × 0.20 = 7.84

Built-in AI 30.0 × 0.15 = 4.50

Automation 16.3 × 0.15 = 2.44

(17.01 + 2.28 + 7.84 + 4.50 + 2.44) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 34.08 ÷ 1.00 = 34.1

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready56.7/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [probe] https://docs.e2b.dev/llms.txtPROBE llms.txt: HTTP 200 at https://docs.e2b.dev/llms.txt # E2B Docs - [E2B Documentation](https://docs.e2b.dev/index.md) - [Running your first Sandbox](https://docs.e2b.dev/qui
  • [probe] https://docs.e2b.dev/quickstart.mdPROBE docs-md: HTTP 200 at https://docs.e2b.dev/quickstart.md > ## Documentation Index > Fetch the complete documentation index at: https://docs.e2b.dev/llms.txt > Use this file to d

Run the product headlessly / in CI for automationweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/cli/auth.mdThis is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment variable with your API key
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [claimed-docs] https://docs.e2b.dev/cli/exec-command.mdUse the `--background` flag to run a command in the background and return immediately.
  • [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.mdYou can shutdown single or all running sandboxes with the E2B CLI.
  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and use the resources it exposes.
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process — create an `E2B` client

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.mdRun AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.
  • [claimed-docs] https://docs.e2b.dev/agents/claude-code.mdE2B provides a pre-built `claude` template with Claude Code already installed.

Connect an agent via an official MCP serverweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.

Use an official CLIweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [claimed-docs] https://docs.e2b.dev/cli/create-sandbox.mdYou can create a sandbox and connect an interactive terminal to it.
  • [claimed-docs] https://docs.e2b.dev/cli/list-sandboxes.mdThis will return running sandboxes, you can specify `--state` to get paused or both.
  • [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.mdYou can shutdown single or all running sandboxes with the E2B CLI.
  • [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.mdYou can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.
  • [claimed-docs] https://docs.e2b.dev/cli/auth.mdIf your E2B account has access to more than one project, you can choose which one the CLI uses
  • [claimed-docs] https://docs.e2b.dev/cli/auth.mdThis is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment variable with your API key
  • [claimed-docs] https://docs.e2b.dev/cli/create-sandbox.mde2b sandbox create <template>
  • [claimed-docs] https://docs.e2b.dev/cli/connect-to-sandbox.mdUnlike the `create` command, `connect` does not kill the sandbox when you disconnect.
  • [claimed-docs] https://docs.e2b.dev/cli/exec-command.mdUse the `--background` flag to run a command in the background and return immediately.
  • [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.mdTo shutdown all running sandboxes, run the following command:
  • [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.mdYou can name the snapshot template with the `--name` flag. If a template with that name already exists, it is reused.
  • [probe] https://docs.e2b.dev/cliofficial CLI documented at https://docs.e2b.dev/cli

Drive the product through a documented public APIweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://docs.e2b.dev/quickstartconst sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')
  • [claimed-docs] https://docs.e2b.dev/filesystem/read-write.mdYou can write single files to the sandbox filesystem using the `files.write()` method.
  • [claimed-docs] https://docs.e2b.dev/commands.mdYou can run terminal commands inside the sandbox using the `commands.run()` method.
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and use the resources it exposes.
  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.mdRun AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.
  • [probe] https://docs.e2b.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/openapi.json, https://docs.e2b.dev/.well-known/openapi.json)

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and use the resources it exposes.
  • [claimed-docs] https://docs.e2b.dev/cli/auth.mdIf your E2B account has access to more than one project, you can choose which one the CLI uses
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process — create an `E2B` client
  • [claimed-docs] https://docs.e2b.dev/cli/auth.mdThis is the recommended option for non-interactive environments like CI/CD pipelines, servers, and containers. Set a single environment variable with your API key

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/quickstartconst sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')
  • [claimed-docs] https://docs.e2b.dev/filesystem/read-write.mdYou can write single files to the sandbox filesystem using the `files.write()` method.
  • [claimed-docs] https://docs.e2b.dev/commands.mdYou can run terminal commands inside the sandbox using the `commands.run()` method.
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/agents/claude-code.mdE2B provides a pre-built `claude` template with Claude Code already installed.
  • [claimed-docs] https://docs.e2b.dev/agents/deep-agents.mdWith the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine
  • [claimed-docs] https://docs.e2b.dev/agents/vercel-ai-sdk.mdyour agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, and outbound network controls
  • [community] https://news.ycombinator.com/item?id=43184240E2B does support Python, AgentKit is only available in TypeScript for now.
  • [probe] https://docs.e2b.dev/cliofficial CLI documented at https://docs.e2b.dev/cli

Subscribe to events via webhooksweight 2

2 (weight) × 6 (quality) × 1.0 (full) = 12.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.

Agent-ready = 102.0 ÷ 180 × 100 = 56.7

API quality11.4/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://docs.e2b.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/openapi.json, https://docs.e2b.dev/.well-known/openapi.json)
  • [claimed-docs] https://docs.e2b.dev/quickstartconst sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')
  • [claimed-docs] https://docs.e2b.dev/quickstartWe’ll write the minimal code for starting Sandbox, executing Python inside it and listing all files inside the root directory.

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://docs.e2b.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/openapi.json, https://docs.e2b.dev/.well-known/openapi.json)

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 8 (quality) × 1.0 (full) = 8.0 of 10 max

  • [claimed-docs] https://docs.e2b.dev/quickstartconst sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')
  • [claimed-docs] https://docs.e2b.dev/sandbox/persistence.mdPause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded variables survive.
  • [claimed-docs] https://docs.e2b.dev/sandbox.mdYou can shutdown the sandbox any time even before the timeout is up by calling the `kill` method.
  • [claimed-docs] https://docs.e2b.dev/network/internet-access.mdEvery sandbox has outbound internet access by default. Control and restrict it with a simple on/off switch or fine-grained allow and deny lists.
  • [claimed-docs] https://docs.e2b.dev/template/quickstart.mdE2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, and a start command
  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.
  • [claimed-docs] https://docs.e2b.dev/agents/vercel-ai-sdk.mdyour agent's code runs in an isolated Firecracker microVM instead of your server, with a real Debian toolchain, pause/resume persistence, and outbound network controls

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://docs.e2b.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/openapi.json, https://docs.e2b.dev/.well-known/openapi.json)

API quality = 8.0 ÷ 70 × 100 = 11.4

Openness39.2/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://docs.e2b.dev/quickstartconst sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.
  • [claimed-docs] https://docs.e2b.dev/template/quickstart.mdE2B templates allow you to define custom sandboxes. You can define the base image, environment variables, files to copy, commands to run, and a start command
  • [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.mdYou can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.
  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.
  • [github] https://github.com/e2b-dev/E2BFor mouse, keyboard, screenshot, application, and desktop streaming APIs, install the Desktop SDK
  • [probe] https://docs.e2b.dev/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.e2b.dev/openapi.json, https://docs.e2b.dev/swagger.json, https://docs.e2b.dev/api/openapi.json, https://docs.e2b.dev/.well-known/openapi.json)
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and use the resources it exposes.

Export all of my data in open formats and leaveweight 3

3 (weight) × 4 (quality) × 0.6 (partial) = 7.2 of 30 max

  • [github] https://github.com/e2b-dev/E2BRead the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.
  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.
  • [claimed-docs] https://docs.e2b.dev/filesystem/read-write.mdYou can read files from the sandbox filesystem using the `files.read()` method.
  • [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.mdYou can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.

Read the product's source under an open licenseweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.
  • [github] https://github.com/e2b-dev/E2BRead the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.

Self-host the core productweight 3

3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max

  • [github] https://github.com/e2b-dev/E2BRead the self-hosting guide to learn how to set up the E2B infrastructure on your own. The infrastructure is deployed using Terraform.
  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or BYOC or self-hosted deployments — create an `E2B` client and use the resources it exposes.
  • [claimed-docs] https://docs.e2b.dev/client.mdIf you need an explicit configuration — for example several API keys, teams, or [BYOC or self-hosted deployments](/byoc) in a single process — create an `E2B` client

Openness = 39.2 ÷ 100 × 100 = 39.2

Built-in AI30.0/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/sandbox/persistence.mdPause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded variables survive.
  • [claimed-docs] https://docs.e2b.dev/sandbox/persistence.mdA paused sandbox is kept indefinitely with no automatic deletion.
  • [claimed-docs] https://docs.e2b.dev/sandbox.mdSandboxes can run continuously for up to 24 hours (Pro) or 1 hour (Base). For longer workloads, use pause and resume
  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.
  • [claimed-docs] https://docs.e2b.dev/cli/exec-command.mdUse the `--background` flag to run a command in the background and return immediately.
  • [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.mdRun AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.

Delegate tasks to a built-in AI assistant inside the productweight 3

n/a — not applicable to this product: excluded from numerator and denominator

  • [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.mdRun AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.
  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/agents/claude-code.mdE2B provides a pre-built `claude` template with Claude Code already installed.
  • [github] https://github.com/e2b-dev/E2BE2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud.

Operate the product with natural-language commandsweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/quickstart/connect-llms.mdE2B can work with any LLM and AI framework. The easiest way to connect an LLM to E2B is to use the tool use capabilities of the LLM
  • [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.mdRun AI coding agents like Claude Code, Codex, and Amp in secure E2B sandboxes with full terminal, filesystem, and git access.
  • [claimed-docs] https://docs.e2b.dev/agents/deep-agents.mdWith the E2B backend, the agent's built-in tools all execute inside an isolated sandbox instead of your machine
  • [claimed-docs] https://docs.e2b.dev/cli.mdE2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.

Built-in AI = 12.0 ÷ 40 × 100 = 30.0

Automation16.3/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://e2b.dev/pricingUp to 24-hour sandbox session length Up to 100 concurrently running sandboxes
  • [claimed-docs] https://docs.e2b.dev/filesystem/read-write.mdYou can also write multiple files to the sandbox.
  • [claimed-docs] https://docs.e2b.dev/cli/list-sandboxes.mdThis will return running sandboxes, you can specify `--state` to get paused or both.
  • [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.mdYou can shutdown single or all running sandboxes with the E2B CLI.
  • [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.mdTo shutdown all running sandboxes, run the following command:
  • [claimed-docs] https://docs.e2b.dev/cli/exec-command.mdUse the `--background` flag to run a command in the background and return immediately.

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 3 (quality) × 0.6 (partial) = 5.4 of 30 max

  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.

Schedule recurring jobs or workflowsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.e2b.dev/sandbox/persistence.mdPause a sandbox and resume it later from the exact state it was in, including the filesystem and the memory, so running processes and loaded variables survive.
  • [claimed-docs] https://docs.e2b.dev/sandbox/persistence.mdA paused sandbox is kept indefinitely with no automatic deletion.
  • [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.mdWebhooks provide a way for notifications to be delivered to an external web server whenever certain sandbox lifecycle events occur.
  • [claimed-docs] https://docs.e2b.dev/sandbox.mdWhen you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.

Version, review, and roll back my automationsweight 1

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 11.4 ÷ 70 × 100 = 16.3