Search

How to get your Exa API usage, balance and spend programmatically

Exa has no public balance endpoint a normal key can read. Each /search response carries costDollars.total, so per-call cost is exact.

What the Exa API exposes

SignalExa
BalanceNo
Spend historyNo
Cost breakdownNo
Plan and quotaNo
Cost on each responseYes, the exact USD
Rate-limit headersNone
CredentialAPI key

Call it yourself

Credential. A normal Exa API key, sent as x-api-key. Argus validates it with a one-result search.

What each response carries

{
  "requestId": "b5947044c4b78efa9552a7c89b306d95",
  "results": [ … ],
  "costDollars": { "total": 0.005 }
}

Trimmed to the fields Argus reads. Values are examples.

No billing API, so measure from your side

Argus tracks Exa from the SDK: costDollars.total on every response is summed into spend. Exa documents a per-key usage endpoint on admin-api.exa.ai (total_cost_usd) for team admins; Argus doesn't poll it yet.

Gotchas

  • Hard stop at a $0 balance (402) unless auto-recharge is on.
  • A bigger balance doesn't raise rate limits, and responses carry no rate-limit headers.

How Exa charges

Pure pay-as-you-go on a prepaid dollar balance, unit-priced per endpoint. No plans or minimums; free tier up to 20k requests/mo.

Free allowance. 20,000 a month. Plus $10 onboarding credits.

At zero. 402. Hard stop at $0 balance unless auto-recharge is on.

  • 10 requests per second, per key. /contents 100 QPS. Balance does not raise limits. No headers.

Or let Argus track it

Paste the key once. Argus keeps the ledger, and your coding agent reads it through the MCP server.

  • With the SDK, records the cost Exa reports on each response, so every call is itemized at its exact price.
  • Emails you on low balance, days to zero, a spend spike, or projected overage.
  • Hands all of it to your coding agent over MCP, so it can ask what a run cost or how much runway is left without leaving the editor.
> what has exa cost today, and how long until it runs out?

get_overview       → exa: mtd spend, burn per day, days to zero
get_request_costs  { "provider": "exa", "limit": 25 }
get_advisories     → credits_low, spend_spike, rate_limit_low …

Questions

Does Exa have an API for its balance?
Exa has no public balance endpoint a normal key can read. Each /search response carries costDollars.total, so per-call cost is exact.
Can I get Exa spend per day from the API?
Not as a series. Each response reports its own cost, so sum it per day yourself, or let Argus do it.
What happens when Exa credits run out?
Requests fail with HTTP 402. Hard stop at $0 balance unless auto-recharge is on. Auto-recharge is available.
What key does Argus need for Exa?
A normal Exa API key, sent as x-api-key. Argus validates it with a one-result search.

Related

Pricing and limits verified 2026-07-20 against exa.ai/pricing, exa.ai/docs/reference/rate-limits. Endpoints are the ones the Argus Exa connector calls.

Let your coding agent watch the meter.

Connect a provider key, point Claude Code or Cursor at the Argus MCP server, and ask what the last run cost.