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

# Pricing

> What a call costs: an exact price where one exists, a rate and a ceiling where it cannot exist, and never a charge above the ceiling.

## Pay per call, no subscription

There is no plan and no seat. You top up a balance, and each call draws from
it. Unused balance stays yours.

## Three ways a tool prices

Goro fronts three providers and they do not charge us the same way, so a
quoted price does not mean the same thing everywhere. Which shape applies is
written on the tool's page, and comes back as `price.type` from `discover` and
`inspect`.

| Shape      | What you are quoted                                                                | Where it applies                            |
| ---------- | ---------------------------------------------------------------------------------- | ------------------------------------------- |
| Per result | A rate per row plus a ceiling. The total follows the rows the call really produced | Search, social, maps, commerce, people data |
| Flat       | One exact price per call, the same every time                                      | Image generation, and `video.veo`           |
| Metered    | An exact rate against something measurable in your request, plus a ceiling         | Voice, and every other video endpoint       |

Only the first has a total that cannot be known before the call, and most of
this page is about that case. The other two are arithmetic you can do in
advance.

### Flat

An image generation call costs what it costs, whatever comes back: $0.0120 on
Z-Image, $0.06 on Grok Imagine, $0.0825 on Seedream 5 Lite, $0.18 on Nano
Banana 2. There is no ceiling to read and nothing to settle afterwards, and a
call that fails is not charged at all.

`video.veo` prices the same way, at \$3.8250 a call, because it only makes videos
of one length.

### Metered

A voice call bills a published rate against a quantity you can measure
yourself. Text to speech is $0.0450 per 1,000 UTF-8 bytes of the text you send,
and no call can exceed $0.36. Speech to text is $0.0003 per second of audio,
which works out at $1.08 an hour, and no call can exceed \$1.08.

The other five video endpoints bill the same way, against the seconds of video
you ask for. The rate is per second and differs by model, from $0.0450 on Grok
Imagine to $0.6150 on Seedance 5 Pro, and `duration` is the only field that
changes the price. The ceiling on one of those is that rate times the longest
clip the endpoint accepts.

The rate is exact, so the total is your input size times the rate. The ceiling
is still a ceiling: it is the price of the largest request the endpoint takes,
not a typical call.

## Three numbers, three jobs

This is the per-result case, the one every search, social, maps, commerce and
people tool uses.

<Steps>
  <Step title="The rate">
    Every one of those tools publishes a rate per result, for example $0.0069
            per profile or $0.0075 per result page. That is what one row costs you, and
    it is on the tool's page in the [catalog](/tools/overview).
  </Step>

  <Step title="The total">
    The total is the rate times the results the call actually produced. Ask for
    3 rows and you pay for 3. Ask for 300 and the call finds 40, you pay for 40.
  </Step>

  <Step title="The ceiling">
    Before the call runs, `discover` and `inspect` return a ceiling for your
    specific request. You are never charged above it. It is a maximum, not an
    estimate of what you will pay.
  </Step>
</Steps>

So a call reads like this: $0.0069 per profile, this request is capped at
$0.14, the final charge lands wherever the results land.

## Why the total is not fixed up front

How many rows a request produces is not knowable before it runs. A search for a
niche term returns four results; the same query next week returns forty. Goro
bills what the call consumed rather than an average that would overcharge the
small calls to cover the large ones.

<Steps>
  <Step title="The hold">
    Before the call runs, Goro reserves an amount against your balance, sized
    from what you asked for. A small request holds a small amount, a large one
    holds more. The hold never exceeds the ceiling.
  </Step>

  <Step title="The charge">
    When the call finishes, Goro reads what the underlying tool actually
    charged, applies our margin, takes that, and releases the rest of the hold.
  </Step>
</Steps>

## A call that returns nothing

If a call completes with no results and the tool positively reports it cost us
nothing, it bills nothing. If it returned nothing but the tool still charged us
to start, you pay our margin on that, which is fractions of a cent.

You are never charged for rows you did not receive. A flat-priced or metered
call is different in kind: it either produced the thing you asked for, in which
case it costs its published price, or it failed, in which case it costs
nothing.

## Holds are not charges

A hold reserves balance, it does not spend it. If a call fails, times out, or
you stop it, the whole hold is released and nothing is charged.

Your available balance is what you can spend right now: your topped-up cash,
plus any promotional credit, minus anything currently held by a running call.

## Budgets

You can set a daily or monthly spend cap on a workspace, and choose whether
hitting it blocks further calls or just notifies you. The cap is enforced when
the hold is taken, so a call that would breach it never runs. A blocked call
answers `402` with the code `budget_exceeded`.

## Auto reload

Optionally, when your balance falls below a threshold you set, Goro charges
your saved card to bring it back up to a target. That keeps a long-running
agent from stopping mid-task because the balance ran out.

Saving a card does not enable this. You turn it on explicitly.

## Reading prices from the API

`discover` and `inspect` return a `price` object per tool. Read `type` first,
because it decides which of the other fields are there: `cost_plus` and
`metered` carry a ceiling in `max_usd`, `per_call` carries a fixed
`base_usd` and no ceiling at all.

`billed_on_actual_usage` is the field to branch on. Where it is `true`, the
total depends on the call and `max_usd` is a maximum rather than a price. Where
it is absent, the quoted number is the price. Either way an agent can tell them
apart without parsing English. Field by field, see the
[API reference](/api/discover).

<Note>
  Questions about a specific charge? Email
  [hello@usegoro.ai](mailto:hello@usegoro.ai) with the run id and we will
  break it down.
</Note>
