Sphere Engine alternative

Sphere Engine alternative: public prices, a free tier and built-in judging

Sphere Engine, from the company behind Ideone and SPOJ, has judged code for assessment and e-learning platforms for over a decade, with stored problems, custom checkers and a problem widget. It is sold only by quote, after a 14-day trial. Here's how it compares with OnlineCompiler.io, when to stay, and how to move a Sphere Engine call if switching fits.

By the OnlineCompiler.io team. Updated . We make OnlineCompiler.io, so we're one of the options here. Every competitor figure links to the vendor's own page, and we say where our API falls short.

The short answer

  • Stay with Sphere Engine if you need problems and test cases stored with the provider, a problem widget for your students, custom checker programs, interactive problems, several files per program, preinstalled scientific Python, image output, more than 512 MB of memory, or test files over 100 KB. Also if procurement wants a written SLA, 24/7 support, reserved capacity for exam days, an on-premise install or quarterly invoices. We don't offer any of those yet.
  • Switch to OnlineCompiler.io if you want to start without a sales call: published prices, 100,000 free runs a month and an API key in a minute. Also if you want one call that returns the output, test-case judging with weighted scoring and a float tolerance you choose, runtimes about two years newer, Judge0- and Piston-compatible endpoints, an MCP server for AI agents, or a sandbox you can read about.

Sphere Engine also sells Containers, which runs whole projects in your own Docker images and opens browser workspaces. We have nothing like it; this page compares the Compilers and Problems modules.

Price

Sphere Engine has published no prices since 2018. After a 14-day trial it quotes from the project's scope, the number of students or candidates, expected submissions and the support level, and bills quarterly or annually. Its last public list, from 2017, charged $249 a month for 30,000 runs.

Ours are on the pricing page: 100,000 runs a month free, then Starter at $10 for 150k, Pro at $49 for 1M and Business at $199 for 4M, billed monthly. A judged test counts as one run.

Running code: Sphere Engine Compilers

FeatureSphere Engine CompilersOnlineCompiler.io
Getting a resultCreate a submission, poll every 2 s while it is executing, then fetch each stream from its own URL (API v4)One call to /api/run-code-sync/, or async with the result POSTed to your callback URL
Authenticationaccess_token in the URL, including the stream URLs it returnsAPI key in the Authorization header
Time limittimeLimit, default 5 s, from 1 to 15 s; compiling not included (FAQ)time_limit up to 30 s; compiling not included, but compile and run share a 30-second ceiling
Memory1.5 GB512 MB
CPUOne dedicated core, sold for timing accuracy (comparison)2 CPU cores
Network in the programOff by defaultAlways off
Code and input size64 kB each100 KB each
Output kept1 MB per stream64 KB per stream, with truncated when cut
Several filesYes, a tar.gz or files[], in 29 languages (docs)No, one file
Command-line argumentsNoNo
Preinstalled librariesYes: numpy, pandas, scipy, matplotlib and tensorflow for Python (list), JUnit and Guava for JavaStandard library only
Images and output filesYes (images)Text only
LanguagesAbout 56, with several versions each45 (list), one current version each
Results pushed to youOne webhook URL per account; status without the output; signed, and retried for over two days (webhooks)A callback URL per API key with the full result and your extra_params; not signed
Published rate limitsNone; polling too fast may get you blockedGET /api/limits/ and GET /api/usage/
SandboxNot disclosedA fresh gVisor sandbox per run, no network
Other APIs on the same keyNoneJudge0- and Piston-compatible endpoints
AI agents (MCP)NoneLive at https://api.onlinecompiler.io/mcp (setup)
EmbedsA widget created in the dashboard, identified by a hash (quickstart)A script tag or iframe, no dashboard setup
Run history keptOne month by defaultWhile your account is active (privacy)

Judging: Sphere Engine Problems

Problems is Sphere Engine's judge: you store a problem with its test cases, then submit code against it. Ours works the other way around: POST /api/run-tests/ takes the code and the tests in one request, so there is nothing to set up first and your tests stay in your own database.

Judging on OnlineCompiler.io
curl -X POST https://api.onlinecompiler.io/api/run-tests/ \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "compiler": "python-3.14",
    "code": "a, b = map(int, input().split())\nprint(a + b)",
    "tests": [
      {"input": "1 2\n", "expected_output": "3\n"},
      {"input": "-4 10\n", "expected_output": "6\n", "hidden": true}
    ],
    "scoring": "percent"
  }'
FeatureSphere Engine ProblemsOnlineCompiler.io run-tests
Where tests liveStored with the problem, through an API or a web editor (API v4)Sent with each request
Tests16 per problem by default, more on request; up to 20 MB per file (FAQ)Up to 8 on Free, 20 on Starter, 40 on Pro and 80 on Business per request, within a 60-second budget; up to 100 KB of input per test and 1 MB of tests per request
CompilingOnce per submission (execution modes)Once per request for C, C++ and Java when the tests need more than one batch; otherwise again for every test, so slow-compiling languages fit fewer tests (details)
Time limitPer test, default 1 s, up to 60 s; compiling not includedOne for the request, default 2 s, up to 30 s; compiling not included
Built-in checkersExact, ignore extra whitespace, float with a tolerance of 0.01 or 0.000001, and score by source length (judges)trim, exact, tokens, and float with any tolerance from 0 to 1
Custom checker programsYes, in any supported language (custom judges)No
ScoringAll tests must pass, or percent passed; weights need a custom master judgeall_or_nothing, percent or weighted, built in
Hidden testsPer-test results hidden from widget users by defaulthidden: true returns only the verdict, and compiler output from a compile that saw a hidden test's input is never shown
Output per test5 kB of stdout and 1 kB of stderr storedCompared up to 64 KB; the first 4,096 characters returned for visible tests
VerdictsAccepted, wrong answer, time and memory limit, compilation and runtime error, illegal system call, judge and problem errors (statuses)Accepted, wrong answer, time, memory and output limit, compilation and runtime error, internal error, plus skipped and incomplete
Interactive problemsYes (docs)No
Problem widgetYes: statement, editor, history and rankings (widget)No; our widget runs code without judging it
Cost of a judged testDrawn from a quoted submission poolOne run at published prices

Each run is stateless and nothing is stored with us but your run history, so a problem bank, a submissions table and a leaderboard stay in your own database. How to build an online judge walks through the rest.

Language versions

Sphere Engine keeps several versions of each language, chosen with compilerVersionId; we run one current version per compiler id. Its newest versions came out in mid-2024 or earlier, and its C# and Visual Basic run on .NET 6, which Microsoft stopped supporting in November 2024. Sphere Engine's newest version (languages page, 18 Oct 2026):

LanguageSphere Engine newestOur compilerOur version
Python3.12python-3.143.14
CGCC 13.2gcc-15GCC 15
C++GCC 13.2g++-15G++ 15
Java22openjdk-25OpenJDK 25
JavaScriptNode.js 20.14.0nodejs-24Node.js 24
Go1.22.4go-1.261.26
Rust1.79rust-1.931.93
Ruby3.1.0ruby-4.04.0
C#.NET 6dotnet-csharp-10.NET SDK 10
Visual Basic.NET 6dotnet-vbnet-10.NET SDK 10

Sphere Engine runs about eleven languages we don't, nearly all older or esoteric ones such as AWK, Forth, Raku, Sed, Smalltalk and Tcl. We run Crystal, FreeBASIC, Nim, PowerShell and Zig, which it doesn't.

Moving a Sphere Engine call

A Sphere Engine Compilers call is three steps: create, poll, then fetch the output. Ours is one synchronous call, or an async one that posts the result to your callback URL. Keep the API key on your server, as you did with the access token.

Before: Sphere Engine
# 1. Create the submission. The token goes in the URL.
curl -X POST "https://YOUR_ID.compilers.sphere-engine.com/api/v4/submissions?access_token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"compilerId": 116, "source": "print(input()[::-1])", "input": "sphere"}'

# 2. Every 2 seconds, until "executing" is false:
curl "https://YOUR_ID.compilers.sphere-engine.com/api/v4/submissions/SUBMISSION_ID?access_token=YOUR_TOKEN"

# 3. Fetch each stream you need on its own:
curl "https://YOUR_ID.compilers.sphere-engine.com/api/v4/submissions/SUBMISSION_ID/output?access_token=YOUR_TOKEN"
After: OnlineCompiler.io
curl -X POST https://api.onlinecompiler.io/api/run-code-sync/ \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "compiler": "python-3.14",
    "code": "print(input()[::-1])",
    "input": "sphere"
  }'
Sphere EngineOnlineCompiler.io
access_token in the URLAuthorization: YOUR_API_KEY header, free to create
sourcecode
compilerId + compilerVersionIdcompiler, a string such as python-3.14 (list)
inputinput
timeLimittime_limit, in seconds; it may be a fraction
filesNot supported
Polling while executingNone: the response is the result
result.status.codestatus and exit_code; 124 means the run went over time_limit (exit codes)
output streamoutput
error and cmpinfo streamserror, which holds stderr and compiler messages together
result.time, result.memorytime (seconds) and memory (KB), as strings
402 when the submission pool is empty429 when an account or key limit is reached, with the reason in error

For Problems, send each problem's tests with the submission to /api/run-tests/, as in the judging example above. For more options, see the wider comparison of code execution APIs.

Frequently asked questions

How much does Sphere Engine cost?

Sphere Engine publishes no prices. It offers a 14-day trial without a card, then a quote based on the project, the number of students or candidates, expected submissions and the support level, billed quarterly or annually. Its last public price list, from 2017, charged $249 a month for 30,000 runs.

Does Sphere Engine have a free plan?

No. It has a 14-day trial and sends free users to Ideone and SPOJ, its free sites. OnlineCompiler.io's free plan includes 100,000 runs a month, allows commercial use and needs no credit card.

Can OnlineCompiler.io replace Sphere Engine Problems?

For judging a submission against tests you send with the request, yes: POST /api/run-tests/ returns a verdict for each test, an overall verdict and a score, with hidden tests, four checkers and weighted scoring. It does not store problems, run custom checker programs, judge interactive problems or provide a problem widget, and most languages compile the program again in every test, so slow-compiling ones fit fewer tests in one request.

Is OnlineCompiler.io compatible with Sphere Engine's API?

No. It has its own API plus Judge0- and Piston-compatible endpoints. Moving a Sphere Engine Compilers call means renaming a few fields and dropping the polling, as the table on this page shows.

Which runs newer language versions?

OnlineCompiler.io, by about two years on most languages. On 18 October 2026 Sphere Engine's newest versions were Python 3.12, GCC 13.2, Java 22 and Go 1.22.4, and it ran C# and Visual Basic on .NET 6, which Microsoft stopped supporting in November 2024.

Can I use both?

Yes. Keep stored problems, custom checkers and interactive problems on Sphere Engine, and send plain runs and test-case judging to OnlineCompiler.io. Both are HTTP APIs, so a small router in your backend is enough.