Skip to content
unzoi docs
Search and navigation
Start here
REST API
MCP
Limits and plans
Agent clients
SDKs
Guides

Limits and plans

Three limits. All three are visible on every response, so none of them has to be discovered by hitting it.

How they interact

They are checked in order, and each answers a different question:

LimitQuestionHit it and…
Credits a minute How fast? 429 credit_rate_limited. Transient — wait retry-after.
Credits a month How much this month? Either overage is billed, or 429 insufficient_credits for a call the credits left cannot cover.
Archive depth How far back? Nothing fails. Your window is narrowed and the response says so.

The third is the one to internalise, because it is the only one that changes your results rather than refusing your request. Fewer articles than you expected is a plan boundary you can read off the response, not coverage you have to guess at.

The headers

Every authenticated response carries all of them.

Header Meaning
x-credits-charged Credits this call cost, equal to `credits_charged` in the body. 0 for a preview.
x-credits-limit Credits included this calendar month. Absent when unlimited.
x-credits-per-minute Credits per minute allowed by this plan.
x-credits-per-minute-remaining Credits left in the current minute, after this call.
x-credits-per-minute-reset Seconds until this minute's credits refill.
x-credits-remaining Credits left this month.
x-credits-reset Seconds until the monthly allocation resets.
x-credits-used Credits used this month, including this call.
x-plan-history-days How far back this plan may query. Absent means the full archive.

x-credits-charged is what that call cost: 1 for a plain search, more when it made the index do more. Credits and overage lists the costs.

GET /account returns the same figures as a body, and account_status does the same over MCP.

One price, on every surface

A call costs the same credits whichever surface it came in on. A tools/call over MCP is charged exactly what the equivalent REST call is, and both draw on one allocation — there is no separate MCP budget, and no discount for either. estimate=true on any call returns its price without running it.

Some calls are free: /account, account_status, the MCP handshake and any preview. A refusal costs nothing, and a 404 costs the operation's minimum, because the lookup ran.