> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nimbleway.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Efforts

> Control how much work the agent invests in each run

Every run has an **effort** level. It controls how many angles the task is broken into, how many sources the agent reads, how many research rounds it runs, and how long it can take.

Set a default effort on the agent, and override it per run when needed.

## Effort levels

| Effort   | Built for                     | Typical time | Price                    |
| -------- | ----------------------------- | ------------ | ------------------------ |
| `low`    | Quick lookups and fact checks | 10–30 sec    | \$0.025 / run            |
| `medium` | Multi-source research         | 1–3 min      | \$0.10 / run             |
| `high`   | Deep cross-source research    | 5–15 min     | \$0.50 / run             |
| `x-high` | Heavy multi-step tasks        | 15–30 min    | \$2.00 / run             |
| `max`    | Custom budget per run         | 30 min–hours | Custom — **coming soon** |

`low` runs a single fast pass: search, read the best results, answer. Each level up widens the fan-out, adds research rounds, and raises the bar on source verification. `high` is the default.

## Pricing

Each level has one flat price. Billing is **runs × effort price** — compute, retrieval, and storage are included.

Two guidelines:

* **Match effort to stakes.** A daily news sweep is `low`. A brief that feeds a pricing decision is `high`. Due diligence before a deal is `x-high`.
* **Use the trust report to right-size.** If a `medium` run returns all-`high` [confidence grades](/nimble-sdk/web-search-agents/trust), a higher tier is not needed.

## Set the effort

The agent carries a default. Any run can override it:

<CodeGroup>
  ```python Python theme={"system"}
  # default effort for every run of this agent
  agent = nimble.agents.create(display_name="Pricing Watcher", effort="high")

  # override for a single run
  run = nimble.agents.runs.create(
      agent.id,
      input="Full pricing teardown of Datadog vs. Grafana Cloud — enterprise tiers included.",
      effort="x-high",
  )
  ```

  ```typescript TypeScript theme={"system"}
  // default effort for every run of this agent
  const agent = await nimble.agents.create({ display_name: "Pricing Watcher", effort: "high" });

  // override for a single run
  const run = await nimble.agents.runs.create(agent.id, {
    input: "Full pricing teardown of Datadog vs. Grafana Cloud — enterprise tiers included.",
    effort: "x-high",
  });
  ```

  ```go Go theme={"system"}
  // default effort for every run of this agent
  agent, err := client.Agents.New(ctx, nimble.AgentNewParams{
      DisplayName: param.NewOpt("Pricing Watcher"),
      Effort:      nimble.AgentNewParamsEffortHigh,
  })

  // override for a single run
  run, err := client.Agents.Runs.New(ctx, agent.ID, nimble.AgentRunNewParams{
      Input:  "Full pricing teardown of Datadog vs. Grafana Cloud — enterprise tiers included.",
      Effort: nimble.AgentRunNewParamsEffortXHigh,
  })
  ```

  ```bash CLI theme={"system"}
  # default effort for every run of this agent
  nimble agents create --display-name "Pricing Watcher" --effort high

  # override for a single run
  nimble agents:runs create \
    --agent-id "$AGENT_ID" \
    --input "Full pricing teardown of Datadog vs. Grafana Cloud — enterprise tiers included." \
    --effort x-high
  ```

  ```bash cURL theme={"system"}
  curl -X POST "https://sdk.nimbleway.com/v2/agents/$AGENT_ID/runs" \
    --header 'Authorization: Bearer <YOUR-API-KEY>' \
    --header 'Content-Type: application/json' \
    --data '{
      "input": "Full pricing teardown of Datadog vs. Grafana Cloud — enterprise tiers included.",
      "effort": "x-high"
    }'
  ```
</CodeGroup>

[Templates](/nimble-sdk/web-search-agents/overview#start-from-a-template) ship with a tuned default. `company-profile` runs at `medium`; `competitive-intelligence` and `due-diligence` run at `x-high`.

## Max

<Note>
  **Coming soon.** `max` removes the ceiling: you set the budget per run, for 30-minute to hours-long tasks with the widest fan-out and deepest verification. For workloads that need it, [contact Nimble](https://nimbleway.com/contact-general/).
</Note>

## Next Steps

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/nimble-sdk/web-search-agents/quickstart">
    Run your first task at the default effort
  </Card>

  <Card title="Trust" icon="badge-check" href="/nimble-sdk/web-search-agents/trust">
    Use confidence grades to right-size effort
  </Card>

  <Card title="Use Cases" icon="lightbulb" href="/nimble-sdk/web-search-agents/use-cases/research">
    Research, Enrichment, and Dataset Building
  </Card>
</CardGroup>
