OpenHelm API · POST /v1/runs
Drive OpenHelm from your own product.
A REST API for agentic browser work. Send a prompt and an optional JSON schema, OpenHelm runs an AI agent in an isolated cloud sandbox and hands back structured JSON with screenshot evidence, a confidence signal, and usage. One call to run.
now
What you can build
Agentic browsing, as a structured API.
Run tasks in one call
POST /v1/runs with a natural-language prompt. No pre-created job, no four-call dance, just the work.
Pin a JSON output schema
Pass output_schema and get strictly-shaped JSON back, ready to drop into your database or UI.
Evidence-backed results
Every run returns screenshot evidence, a confidence signal, and usage, so you can verify and bill what came back.
Reusable jobs & projects
Store named task templates and organise runs into projects, or stay fully inline. Your call.
Async with polling or webhooks
Returns 202 instantly. Poll the run or supply a webhook; the bounded-wait pattern keeps long runs clean.
Isolated, secure execution
Each run executes in its own E2B cloud sandbox. Nothing runs on your infrastructure.
How it works
From key to structured JSON in four steps.
- 1
Mint an API key
Create a Bearer key (oh_live_…) under Settings → API & Webhooks in your OpenHelm account.
- 2
POST /v1/runs
Send a prompt, plus optional inputs, output_schema, model and project_id. project_id defaults to your org’s auto-created API Runs project.
- 3
Get a task_id back
The API responds 202 with a task_id and poll_url. The agent starts in an isolated cloud browser sandbox.
- 4
Collect the result
Poll GET /v1/runs/{id} (or use a webhook) for the structured JSON, screenshots, confidence and usage.
Request & response
One call to run. Structured JSON when it’s done.
curl https://api.openhelm.ai/v1/runs \
-H "Authorization: Bearer oh_live_..." \
-H "Content-Type: application/json" \
-d '{
"prompt": "Get the pricing tiers from stripe.com",
"output_schema": {
"type": "object",
"properties": {
"tiers": { "type": "array", "items": { "type": "string" } }
}
}
}'HTTP/1.1 202 Accepted
{
"task_id": "run_2x9f4c...",
"poll_url": "https://api.openhelm.ai/v1/runs/run_2x9f4c..."
}
# then poll until done:
curl https://api.openhelm.ai/v1/runs/run_2x9f4c... \
-H "Authorization: Bearer oh_live_..."The endpoints, request bodies and the full result envelope are documented in the live API reference, generated straight from the deployed OpenAPI spec, so it always shows the current base URL and schema.
Prefer to drive it from your AI assistant rather than your backend? The OpenHelm MCP servers wrap this same API for ChatGPT, Claude and Cursor.
See the general-purpose MCP→Common questions about the OpenHelm API
Build it into your product.
Mint a key and ship your first run today, or book a call and we’ll help you scope the integration.