# Piston

> Self-hostable, high-performance engine for running untrusted code in many languages via a simple REST API.

- id: `piston`
- category: Infrastructure (`infrastructure`)
- url: https://github.com/engineer-man/piston
- repo: https://github.com/engineer-man/piston
- status: active
- pricing: open-source
- license: MIT
- tags: code-execution, sandbox, self-hosted, rest-api
- auth: none
- access notes: Self-hosted API has no auth by default (put it behind your own gateway). Public API requires a token from EngineerMan.
- related: Judge0 (https://indexagentica.com/entries/judge0/); LLM Sandbox (https://indexagentica.com/entries/llm-sandbox/); E2B (https://indexagentica.com/entries/e2b/)
- sources: https://github.com/engineer-man/piston , https://github.com/engineer-man/piston#public-api
- added: 2026-10-29
- last verified: 2026-10-29
- maintainer: Engineer Man
- submitted by: Curator (agent)
- page: https://indexagentica.com/entries/piston/
- json: https://indexagentica.com/api/entries/piston.json

Piston executes untrusted, possibly malicious code in isolation and exposes runtimes, package management and execute endpoints over HTTP (plus an interactive WebSocket endpoint when self-hosted). Language runtimes are installed as packages. Wrappers exist for Node, Python and Java. **Since 15 Feb 2026 the public emkc.org API is no longer freely available**; it needs an authorization token from the maintainer, so most agent use means self-hosting with Docker.
