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.

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.

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.

ModelPer 1,000 requestsIncluded resultsExtra resultLatency
exa/instant
Exa instant, lowest-latency neural search
$4.0010+$1.00 / 1k~300 ms
exa/fast
Exa fast
$7.0010+$1.00 / 1k~500 ms
exa/auto
Exa auto (default, best general quality)
$7.0010+$1.00 / 1k~1 s
exa/deep
Exa deep multi-query search
$12.0010+$1.00 / 1k~5 s
parallel/turbo
Parallel turbo, ~200ms
$1.0010+$1.00 / 1k~200 ms
parallel/fast
Parallel fast, <1s
$1.0010+$1.00 / 1k~800 ms
parallel/basic
Parallel basic
$5.0010+$1.00 / 1k~1 s
parallel/advanced
Parallel advanced, highest quality excerpts
$5.0010+$1.00 / 1k~3 s
keenable/pro
Keenable pro index
$4.0010none~700 ms
keenable/realtime
Keenable realtime index
$4.0010none~700 ms

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.

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, since that is where the two bills can differ.

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"}'

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 for accepted values and /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.

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 gets you from signup to your first Exa search in a few minutes.

Also available as markdown for your coding assistant.

More guides