500 free executions every month. Sessions, package install, and async polling unlock at Pro. All plans run through RapidAPI with hard monthly quotas and no surprise overages.
Every checkmark below is enforced server-side. Quotas reset on the first of each month.
| Feature | Basic | Pro | Ultra |
|---|---|---|---|
| Executions / month | 500 | 10,000 | 50,000 |
| Max CPU timeout | 30s | 60s | 300s |
| Batch size | 10 | 50 | 100 |
| Rate limit (req/min) | 15 | 30 | 60 |
| 8 languages | ✓ | ✓ | ✓ |
| gVisor isolation | ✓ | ✓ | ✓ |
| Stdin support | ✓ | ✓ | ✓ |
| Batch execution | ✓ | ✓ | ✓ |
| Streaming (SSE) | ✓ | ✓ | ✓ |
| Stateful sessions | — | 5 concurrent | 20 concurrent |
| Package install | — | top-1k cache | top-1k cache |
| Async polling | — | ✓ | ✓ |
| MCP server access | ✓ | ✓ | ✓ |
POST /v1/execute, one async job started via POST /v1/execute?async=true, or one item inside a batch. Streaming requests count as one execution per stream — the SSE event count doesn't matter. Failed compilations and timeouts still count.POST /v1/sessions/{id}/execute counts as one execution. Creating a session is free. Installing packages inside a session counts as one execution per install call, regardless of how many packages you install in that call.X-RateLimit-Remaining, X-RateLimit-Reset) are included on every response so you can throttle proactively.Subscribe on RapidAPI to get an API key and start running code in minutes.