Skip to main content
Submit a natural-language browser task and get an id back in milliseconds. The run is not held open on that call, hours are normal: read status separately, read results separately, cancel separately. In the SDKs those are oc.agent.get(id), oc.agent.results(id) and oc.agent.cancel(id), with the same names in Python. Use agents when a page needs decisions or interaction, not for plain reading, where scrape is far cheaper. An agent run is billed for the AI model’s usage, browser time (1 credit per minute the run is open, paused time included) and proxy usage (2,000 credits per GB), in credits. A typical run costs about 15 credits per minute all in; that is an estimate, and the actual cost depends on the task. Driving a browser yourself with the SDK, without an agent, pays only browser time and proxy usage. See pricing.
caps.budget is required, a hard ceiling on what the run is billed. A budget at or below 1 credit is refused before the run starts: a run spends model usage, browser time and proxy usage from its first step, so it would stop before reading anything. caps.steps and caps.duration are optional additional ceilings. This example task cost 5.0–7.7 credits on 2026-10-03 (n=33), so its 16.00 ceiling is twice the most it took; size yours from what your own tasks spend.

Typed results

Give a run a JSON Schema and its answer comes back shaped to it instead of free text:

Cancel

Stops a run and answers it as it stands, so cancelling a run that already finished is not an error. Work already done stays billed: caps.budget is the spending limit, cancel is the stop button.

Monitoring

Status, the event log, results, and webhooks.

Human in the loop

Take the wheel of a live run, and hand it back.

Files

Attach a file to a run.