Skip to main content
Agent Ultra is Exa Agent’s highest-effort mode. It runs longer and spends more compute than any other effort to return the most complete results. Use it for large list building, deep multi-source research, and criteria that are hard to verify, where completeness matters more than latency or cost. For a predictable price per request, use a fixed effort instead.
Agent Ultra is metered at the standard Agent usage rates, up to a default $20 per run. Runs that finish early cost less.

Run Agent Ultra

Set effort: "ultra" on an Agent run. The rest of the request works like any other run, including outputSchema, input.data, and streaming.
Ultra runs typically complete complex tasks in about 30 minutes, but can take up to three hours for very challenging ones. By default, the SDK polling helpers time out after one hour, so use a longer timeout as shown above or stream events for extended runs.

Set a budget

Add budget to cap how much a run spends and how long it takes. Both fields are optional.
As a run approaches either limit, the agent stops starting new work and returns what it has found.

Stop a run early

Stop Agent Ultra run to end it now and keep what it has found. The run completes with stopReason: "stopped", and you are billed for usage up to the stop.

Stop reasons

stopReason on a finished run says why it ended. Every reason except error and cancelled means the run completed and returned what it found.

Limits and compatibility

budget.maxDurationSeconds and stopping a run early work only with effort: "ultra". budget.maxCostDollars also works with auto.
On /responses, set reasoning.effort: "ultra" with stream: true or background: true.

Next steps

Agent quickstart

Create runs, stream events, and read structured output.

Agent examples

Copy complete list-building, enrichment, and follow-up requests.
Last modified on September 23, 2026