> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extend.ai/llms.txt
> Use this file to discover all available pages before exploring further.
>
> ## API version
> The current API version is `2026-02-09`, served at the site root (no version prefix in URLs).
> If this page URL contains `/2025-04-21/` or `/2024-12-23/`, you are reading an older API version.
> Prefer the current docs at https://docs.extend.ai/llms.txt unless the user explicitly needs that older version.
> Do not treat older-version pages as the source of truth for new integrations.

# Operator Pricing

> How Operator is billed: a flat page rate plus a passthrough charge for the agent's model usage.

[Operator](/extraction/operator) is priced differently from Performance and Light extraction. Instead of a fixed per-page rate with add-on surcharges, it combines a **flat page rate** with an **agent usage** charge for the agent's model token costs. This page explains both parts and how to read them on your runs.

An Operator run produces up to two extraction line items:

| Charge                        | Product code       | Rate                                                                                                             | Applies when                                                                                  |
| ----------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| **Operator** (base)           | `extraction_agent` | **2 credits / page**                                                                                             | Every Operator run                                                                            |
| **Agent usage** (passthrough) | `agent_usage`      | The agent's token usage at the model's published rates, with no markup, converted to credits at your plan's rate | The agent did work on the run, whether it extracted the document or corrected the base output |

Charges for operator-managed settings (Review Agent, array-strategy, and large-schema) do not apply to Operator runs. Parsing is billed as usual. Failed agent attempts are never charged as agent usage.

## Example

A 40-page bank statement with roughly 1,200 transactions is run through an Operator extractor on the Pay-as-you-go plan. The agent extracts the document directly and spends \$1.10 in model usage extracting and verifying it.

| Line        | Calculation          | Credits |
| ----------- | -------------------- | ------- |
| Parsing     | 40 pages × 2 credits | 80      |
| Operator    | 40 pages × 2 credits | 80      |
| Agent usage | $1.10 ÷ $0.0125      | 88      |
| **Total**   |                      | **248** |

The same document on a Performance extractor with the Review Agent enabled and `large_array_max_context` would be 80 + (40 × 3 × 2) + 40 = **360 credits**.

A short, simple document that the agent never needs to touch is billed at parsing plus the Operator page rate, with no agent usage line.

## Reading agent usage in the API

Every run object includes a `usage` field once the run is `PROCESSED`. `usage.credits` is the run's total. The split between the page rate and agent usage is available in `usage.breakdown[].charges[]`:

```json
{
  "usage": {
    "credits": 248,
    "totalCredits": 248,
    "breakdown": [
      {
        "object": "extract_run",
        "id": "exr_Xj8mK2pL9nR4vT7qY5wZ",
        "credits": 248,
        "charges": [
          { "product": "parse_performance",  "unit": "page", "quantity": 40,   "credits": 80 },
          { "product": "extraction_agent",   "unit": "page", "quantity": 40,   "credits": 80 },
          { "product": "agent_usage",        "unit": "usd",  "quantity": 1.10, "credits": 88 }
        ]
      }
    ]
  }
}
```

The same `usage` object is included in run webhooks.

## In the dashboard

Agent usage appears in the credits dashboard as its own charge type, **Agent usage**, alongside Extraction, Parsing, and the other charge types.

## Controlling cost

* **Check a sample first.** Run a representative set of documents and inspect `usage.breakdown[].charges[]` to see how often the agent is engaged and what agent usage looks like for your document mix.
* **Set balance alerts.** Because agent usage is variable, configure low-balance alerts and top-up preferences in the usage dashboard.

For the full credit model, see [How Credits Work](/general/how-credits-work).