Quotas
Terms
- Quota is what your plan allows: every tool that counts has an hourly and a daily limit.
- A bucket is one kind of lookup, such as
whoisorquery. Each tool call counts against one bucket, and each bucket has its own limits. The website counts against the same buckets.
How calls are counted
MCP calls count against your NameBeta plan, in the same buckets as the website. A WHOIS lookup on namebeta.com and a lookup_whois call spend the same quota, and both appear under Plan & Usage in your account panel.
- Only
tools/callcounts.initialize,tools/list,pingand other protocol requests are free. - One call counts once, whatever it contains. A
check_availabilitycall with 20 domains counts as one. suggest_domainsis free, as suggestions are on the website.- The call counts when it is accepted, before the tool runs. A call that ends in a tool error — an invalid domain, a WHOIS server that does not answer — still counts. A call to an unknown tool does not.
- A rejected call does not count. When you are over a limit, the
429response costs nothing. - Your plan decides the limits. MCP always runs as a signed-in user, so the anonymous limits of the website never apply.
Limits
A call has to fit within both the hourly and the daily limit of its bucket.
| Tool | Bucket | Free (hour / day) | Pro (hour / day) | Business (hour / day) | Enterprise (hour / day) |
|---|---|---|---|---|---|
check_availability with any bare label | query | 90 / 450 | 360 / 1,800 | 600 / 3,000 | Unlimited |
check_availability with full domain names only | check | 45 / 135 | 120 / 360 | 300 / 900 | Unlimited |
compare_prices | single | 150 / 250 | 1,200 / 3,600 | 2,000 / 8,000 | Unlimited |
suggest_domains | Not counted | ||||
lookup_whois | whois | 5 / 15 | 60 / 200 | 150 / 500 | Unlimited |
lookup_dns | dns | 20 / 50 | 200 / 400 | 500 / 1,000 | Unlimited |
check_availability counts against one of two buckets depending on its input; see its Quota section. Plans and prices are on namebeta.com/pricing.
When limits reset
Quota windows are fixed and aligned to UTC, whatever your time zone:
- Hourly limits reset at the start of every UTC hour: 13:00, 14:00, 15:00 UTC and so on.
- Daily limits reset at 00:00 UTC. That is 08:00 in Beijing, 09:00 in Tokyo, and 16:00 or 17:00 the previous day in San Francisco.
The windows are not rolling. Calls made at 13:59 UTC and 14:00 UTC fall into different hours, so a full hourly quota becomes available again at the top of every UTC hour.
Over the limit: 429 and Retry-After
A call over either limit is rejected at the HTTP level, before it reaches the tool:
HTTP/1.1 429 Too Many Requests
Retry-After: 1260
Content-Type: application/json
{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "MCP hourly quota exceeded.",
"data": { "retryAfter": 1260 }
},
"id": 7
}
| Part | Value |
|---|---|
| Status | Always 429 Too Many Requests, for hourly and daily limits alike |
Retry-After header | Seconds until the exceeded window resets: 1–3600 for hourly, 1–86400 for daily |
error.code | -32000 |
error.message | MCP hourly quota exceeded. or MCP daily quota exceeded. |
error.data.retryAfter | The same number of seconds as Retry-After |
id | The id of your request |
The daily limit is checked first. When both limits are spent, the response reports the daily one, and Retry-After points at 00:00 UTC — retrying at the next hour would fail again.
What clients should do
- Wait at least
Retry-Afterseconds before calling the same tool again. Retrying sooner is rejected with another429. - Other buckets are unaffected. After
lookup_whoishits its limit,lookup_dnsandcompare_priceskeep working. - Tell the user when the limit resets rather than retrying in a loop. For a daily limit, the wait can be most of a day.