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.txt“PROBE 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.md“PROBE 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.md“This 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.md“E2B 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.md“Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.md“You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.md“Webhooks 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.md“If 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.md“If 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.md“E2B 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.md“Run 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.md“E2B 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.md“E2B 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.md“E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [github] https://github.com/e2b-dev/E2B“E2B 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.md“E2B 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.md“You can create a sandbox and connect an interactive terminal to it.”
- [claimed-docs] https://docs.e2b.dev/cli/list-sandboxes.md“This will return running sandboxes, you can specify `--state` to get paused or both.”
- [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.md“You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.md“You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] https://docs.e2b.dev/cli/auth.md“If 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.md“This 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.md“e2b sandbox create <template>”
- [claimed-docs] https://docs.e2b.dev/cli/connect-to-sandbox.md“Unlike the `create` command, `connect` does not kill the sandbox when you disconnect.”
- [claimed-docs] https://docs.e2b.dev/cli/exec-command.md“Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.md“To shutdown all running sandboxes, run the following command:”
- [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.md“You 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/cli“official 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/quickstart“const 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.md“You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] https://docs.e2b.dev/commands.md“You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] https://docs.e2b.dev/cli.md“E2B CLI is a command line tool that allows you to manage and interact with sandboxes and templates.”
- [claimed-docs] https://docs.e2b.dev/client.md“If 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.md“E2B 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.md“Run 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.json“PROBE 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.md“If 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.md“If 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.md“If 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.md“This 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/quickstart“const 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.md“You can write single files to the sandbox filesystem using the `files.write()` method.”
- [claimed-docs] https://docs.e2b.dev/commands.md“You can run terminal commands inside the sandbox using the `commands.run()` method.”
- [claimed-docs] https://docs.e2b.dev/cli.md“E2B 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.md“E2B 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.md“E2B provides a pre-built `claude` template with Claude Code already installed.”
- [claimed-docs] https://docs.e2b.dev/agents/deep-agents.md“With 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.md“your 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=43184240“E2B does support Python, AgentKit is only available in TypeScript for now.”
- [probe] https://docs.e2b.dev/cli“official 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.md“Webhooks 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.json“PROBE 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/quickstart“const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] https://docs.e2b.dev/quickstart“We’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.json“PROBE 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/quickstart“const 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.md“Pause 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.md“You 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.md“Every 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.md“E2B 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/E2B“E2B 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.md“your 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.json“PROBE 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/quickstart“const sbx = await Sandbox.create() // Creates a persistent sandbox session const execution = await sbx.runCode('print("hello world")')”
- [claimed-docs] https://docs.e2b.dev/cli.md“E2B 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.md“E2B 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.md“You can manage sandbox snapshots with the `e2b sandbox snapshot` (alias `snap`) commands.”
- [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.md“Webhooks 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/E2B“For mouse, keyboard, screenshot, application, and desktop streaming APIs, install the Desktop SDK”
- [probe] https://docs.e2b.dev/openapi.json“PROBE 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.md“If 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/E2B“Read 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/E2B“E2B 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.md“You can read files from the sandbox filesystem using the `files.read()` method.”
- [claimed-docs] https://docs.e2b.dev/cli/manage-snapshots.md“You 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/E2B“E2B 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/E2B“Read 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/E2B“Read 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/E2B“E2B 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.md“If 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.md“If 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.md“Pause 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.md“A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] https://docs.e2b.dev/sandbox.md“Sandboxes 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.md“Webhooks 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.md“Use the `--background` flag to run a command in the background and return immediately.”
- [claimed-docs] https://docs.e2b.dev/use-cases/coding-agents.md“Run 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.md“Run 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.md“E2B 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.md“E2B provides a pre-built `claude` template with Claude Code already installed.”
- [github] https://github.com/e2b-dev/E2B“E2B 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.md“E2B 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.md“Run 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.md“With 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.md“E2B 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/pricing“Up to 24-hour sandbox session length Up to 100 concurrently running sandboxes”
- [claimed-docs] https://docs.e2b.dev/filesystem/read-write.md“You can also write multiple files to the sandbox.”
- [claimed-docs] https://docs.e2b.dev/cli/list-sandboxes.md“This will return running sandboxes, you can specify `--state` to get paused or both.”
- [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.md“You can shutdown single or all running sandboxes with the E2B CLI.”
- [claimed-docs] https://docs.e2b.dev/cli/shutdown-sandboxes.md“To shutdown all running sandboxes, run the following command:”
- [claimed-docs] https://docs.e2b.dev/cli/exec-command.md“Use 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.md“Webhooks 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.md“Pause 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.md“A paused sandbox is kept indefinitely with no automatic deletion.”
- [claimed-docs] https://docs.e2b.dev/sandbox/lifecycle-events-webhooks.md“Webhooks 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.md“When 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