Referência da API

Documentação da API de execução de código

Crie uma chave de API, mande-a no cabeçalho Authorization, envie o código-fonte num POST para https://api.onlinecompiler.io/api/run-code-sync/ e receba a saída de volta. As páginas de referência, em inglês, cobrem cada endpoint, nas 46 linguagens.

Teste sem chave de API

Edite o programa ou a entrada dele e aperte Executar. Ele roda de verdade, e abaixo aparecem a requisição que o seu código enviaria e a resposta que ele receberia.

name = input()
print(f"Hello, {name}!")
World

A requisição

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": "name = input()\nprint(f\"Hello, {name}!\")",
  "input": "World"
}'

A resposta

Aperte Executar no editor para ver a resposta.

Para enviar a partir do seu próprio código, crie uma chave de API grátis: 100.000 execuções por mês, sem cartão de crédito.

Autenticação

Toda requisição à API precisa de uma chave de API, enviada no cabeçalho Authorization.

Authorization: YOUR_API_KEY

Tipos de chave

Há dois tipos de chave de API, e cada um só vale para certos endpoints:

Tipo de chaveCriada naEndpoints permitidosPara que serve
APIPágina de chaves de APIAPI REST (síncrona e assíncrona)Integrações no servidor, scripts, agentes de IA
WebSocketPágina de widgetsWebSocket e widget incorporávelEditores incorporados, apps no navegador
Por que dois tipos? As chaves de WebSocket ficam no HTML público, à vista de qualquer pessoa. Com tipos separados, uma chave de widget copiada de uma página não serve para chamar a API REST diretamente. Você também pode restringir uma chave da API REST a um endereço IP, e uma chave de widget ao domínio que a incorpora.
Como criar uma chave de API: cadastre-se em api.onlinecompiler.io, abra a página de chaves de API (para a API REST) ou a de widgets (para WebSocket e embeds) e crie uma chave.

Rode o seu primeiro programa

Com a sua chave de API no lugar de YOUR_API_KEY, isto roda um programa em Python com uma linha de entrada e espera o resultado:

Terminal
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": "name = input()\nprint(f\"Hello, {name}!\")",
    "input": "World"
  }'

A resposta traz a saída do programa, os erros, o código de saída, o tempo de execução em segundos e a memória em KB:

Resposta
{
  "output": "Hello, World!\n",
  "error": "",
  "status": "success",
  "exit_code": 0,
  "signal": null,
  "truncated": false,
  "time": "0.0248",
  "total": "0.0330",
  "memory": "8192"
}

Todos os campos, o endpoint assíncrono e os códigos de saída estão em Executar código(em inglês). As outras linguagens usam o próprio id de compilador, listado em Compiladores(em inglês).

Uma descrição OpenAPI 3.1 da API REST está em https://api.onlinecompiler.io/openapi.json, para o Postman, o Swagger UI ou o gerador de ferramentas de um agente. Ela cobre run-code-sync, run-code, run-tests, compilers, limits, usage e health.

Todas as páginas da documentação

As páginas de referência estão em inglês, marcadas com EN.

Perguntas frequentes

Qual endpoint devo usar?
Na API do OnlineCompiler.io, use /api/run-code-sync/ para rodar um programa e esperar a saída; /api/run-code/ para enfileirar muitas execuções e receber cada resultado por callback; /api/run-tests/ para corrigir um programa com casos de teste; e o WebSocket ou o widget, com uma chave de widget, para rodar código a partir de uma página no navegador. Código escrito para o Judge0 ou o Piston pode manter as requisições e usar os endpoints compatíveis, e o Moodle CodeRunner pode usar os endpoints compatíveis com o Jobe no lugar de um servidor Jobe.
Preciso de um SDK?
Não. A API do OnlineCompiler.io é HTTPS e JSON, então curl, fetch, requests ou qualquer cliente HTTP funciona, e cada página da referência tem exemplos. O WebSocket usa Socket.IO, e agentes de IA se conectam pelo servidor MCP, que aceita login com OAuth ou uma chave de API.
Quanto tempo leva uma execução?
No OnlineCompiler.io, um programa pequeno em Python volta numa mediana de 0,56 segundos, da requisição à resposta, e um em Java em 2,25, a maior parte compilando. Cada execução tem limite de 30 segundos. A página Compiladores da referência, em inglês, tem o tempo medido de cada linguagem.