# Exa pricing explained: what each Exa search tier costs

> Exa pricing through Mux: per-request and extra-result math for exa/instant, fast, auto and deep, worked examples, and when your own Exa contract is cheaper.

Canonical: https://getmux.io/guides/exa-pricing-explained


Exa pricing on Mux is per request, with 10 results included and a flat charge for each result past the tenth. The four tiers are `exa/instant` at $4.00 per 1,000 requests, `exa/fast` and `exa/auto` at $7.00, and `exa/deep` at $12.00, each plus $1.00 per 1,000 extra results. These are Exa's list prices passed through with no markup; Mux's only fee is 5.5% when you buy credits.

This guide covers how the math works, what a month of searches costs at different volumes, what full-page content costs, which Exa options you can pass through, and when a direct Exa contract is the better deal. For Exa's own pricing and plans, see [exa.ai/pricing](https://exa.ai/pricing).

## The four Exa tiers on Mux

Exa is a neural search engine built for machine consumers. On Mux its search types appear as four model ids, each with its own price and latency profile.

| Model | What it is | $/1k requests | $/1k extra results | Max results | Typical latency |
|---|---|---|---|---|---|
| `exa/instant` | Lowest-latency neural search | 4.00 | 1.00 | 100 | ~300 ms |
| `exa/fast` | Fast search | 7.00 | 1.00 | 100 | ~500 ms |
| `exa/auto` | Default, best general quality | 7.00 | 1.00 | 100 | ~1 s |
| `exa/deep` | Multi-query deep search | 12.00 | 1.00 | 100 | ~5 s |

Two things to notice. `exa/fast` and `exa/auto` cost the same, so the choice between them is latency versus quality, not price. And `exa/deep` runs several queries upstream for one request, which is why it costs more and takes longer. Mux's `auto` routing tries `parallel/fast` first, so if you want Exa you need to name an Exa model explicitly.

The live table below is loaded from `GET /v1/models` and is the authority if prices change.

(Live price table: https://getmux.io/models or GET https://api.getmux.io/v1/models)

## The per-request math

Every request includes 10 results. If you ask for more, each result beyond the tenth costs the extra rate, which is $0.001 on every Exa tier. The formula is:

```
cost = base_price + max(0, results_returned - 10) × 0.001
```

Extra results are billed on what Exa actually returns, capped at what you asked for. Request 20, get 14, pay for 4 extra. Results that Mux later drops because of your domain filters still count, because Exa already returned them.

Worked examples for three result counts:

| Model | 10 results | 25 results | 100 results |
|---|---|---|---|
| `exa/instant` | $0.004 | $0.019 | $0.094 |
| `exa/fast` | $0.007 | $0.022 | $0.097 |
| `exa/auto` | $0.007 | $0.022 | $0.097 |
| `exa/deep` | $0.012 | $0.027 | $0.102 |

The extra-result charge dominates at high result counts. At 100 results the gap between `exa/instant` and `exa/deep` shrinks from 3x to about 8%, so if you routinely pull large result sets the tier matters less than the count.

## Monthly cost at volume

Assuming 10 results per search, which is the default:

| Model | 1,000 searches | 100,000 searches | 1,000,000 searches |
|---|---|---|---|
| `exa/instant` | $4 | $400 | $4,000 |
| `exa/fast` | $7 | $700 | $7,000 |
| `exa/auto` | $7 | $700 | $7,000 |
| `exa/deep` | $12 | $1,200 | $12,000 |

If your agents average 25 results per search, multiply the row by the 25-result figure instead: a million `exa/auto` searches at 25 results each is $22,000.

Add the credit purchase fee on top. It is 5.5% of each purchase with a $0.80 minimum, so $100 buys $94.50 of credits and $1,000 buys $945. To fund $700 of `exa/auto` searches you pay about $741. Purchases are prepaid, $5 minimum and $10,000 maximum each, and credits do not expire. See [/docs/pricing](https://getmux.io/docs/pricing).

## What `content: "full"` costs

Nothing extra on Mux. Setting `content: "full"` on an Exa model returns the full page text in each result's `content` field, and the price is the same as a snippet request with the same result count. If you are comparing against a direct Exa integration, check how Exa prices content retrieval on your plan at [exa.ai/pricing](https://exa.ai/pricing), since that is where the two bills can differ.

```bash
curl https://api.getmux.io/v1/search \
  -H "Authorization: Bearer $MUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "retrieval augmented generation evaluation", "model": "exa/auto", "max_results": 25, "content": "full"}'
```
```ts
import { Mux } from "getmux";

const mux = new Mux();
const res = await mux.search({
  query: "retrieval augmented generation evaluation",
  model: "exa/auto",
  maxResults: 25,
  content: "full",
});
console.log(res.usage.costUsd); // 0.022
```
```python
from getmux import Mux

mux = Mux()
res = mux.search(
    "retrieval augmented generation evaluation",
    model="exa/auto",
    max_results=25,
    content="full",
)
print(res.cost_usd)  # 0.022
```

The response's `usage.cost_usd` is the settled price for that request, so you never have to compute it yourself.

## Exa options you can pass through

Mux normalizes the common fields (domains, dates, result count, content) and lets a few Exa-specific options through `provider_options`:

- `category`, to restrict to a content type such as research papers or news
- `userLocation`, to bias results by location
- `moderation`, to filter unsafe content
- `includeText` and `excludeText`, to require or forbid phrases in the page text

Anything that would change the bill, such as the search type or result count, is rejected with `400 invalid_request`. None of the allowed options change the price. Values are passed to Exa as given; see the [Exa search reference](https://exa.ai/docs/reference/search) for accepted values and [/docs/models](https://getmux.io/docs/models) for the full allow-list.

## When BYOK with your own Exa contract is cheaper

Mux bills Exa's list price. If you have a negotiated rate with Exa, prepaid Exa credits, or a plan that prices Exa searches below list, then paying Exa directly is cheaper per search. You can keep the Mux API and still do that by storing your Exa key with `PUT /v1/provider-keys/exa`. Requests then go out on your key and Exa bills you.

The BYOK fee is zero for the first 1,000,000 BYOK requests per calendar month across all providers, then 5% of list price, which is $0.00035 per 10-result `exa/auto` search. Under a million Exa searches a month, BYOK costs you nothing on Mux at all. Above it, BYOK is cheaper than platform billing whenever your Exa contract rate is at least 5% below list.

If your Exa key fails, Mux retries on its own account at list price unless you set `always_use: true`. Details are in [/docs/byok](https://getmux.io/docs/byok).

The honest other side: if Exa is your only provider, your volume is high enough to negotiate, and you don't need fallbacks or per-key spend caps, a direct Exa contract with no intermediary is the simplest setup. Mux earns its place when you want the same key to fall back to Parallel or Keenable, or you need to cap what each agent can spend.

## FAQ

### Does Mux mark up Exa's prices?

No. Each Exa model is billed at Exa's list price per request with no per-request markup. Mux's only fee is 5.5% of each credit purchase, minimum $0.80, taken out of the amount you pay. With your own Exa key, the first million requests a month carry no Mux fee.

### Why do `exa/fast` and `exa/auto` cost the same?

Both are $7.00 per 1,000 requests. `exa/fast` is tuned for latency, around 500 ms, while `exa/auto` picks Exa's best general approach at around 1 s. Choose by response time and result quality rather than price.

### Am I charged if an Exa request fails?

No. A failed provider call is refunded and the next model in your `models` list is tried. The one exception is a 15-second timeout, which keeps the base price because Exa has usually completed the search by then. The charge shows on that attempt in the response's `attempts` array.

### Does asking for 100 results always cost $0.097 on `exa/auto`?

Only if Exa returns 100. You are billed on the count returned, capped at what you requested, so a narrow query that returns 30 results costs $0.007 plus 20 extra results, or $0.027.

Ready to try it? The [quickstart](https://getmux.io/docs/quickstart) gets you from signup to your first Exa search in a few minutes.
