Rate limits
Each developer key may make 120 calls a minute. Past that, the call is refused with 429 rate_limited and a Retry-After header in seconds. Wait that long and continue; there is no penalty for touching the limit.
A refused call
HTTP/1.1 429 Too Many Requests
Retry-After: 14
{
"error": {
"code": "rate_limited",
"message": "This key is limited to 120 calls a minute. Retry in 14s.",
"details": { "retry_after": 14 }
}
}How it counts
- The window slides: a call is counted for sixty seconds from the moment it was made.
- The budget is per key, not per workspace. Two keys in one workspace have two budgets.
- A refused call is logged like any other, so the Calls view in Settings shows you where a burst came from.
- The browser session is not rate limited this way; it is a person clicking.
Staying under it
- Prefer one large page over many small ones:
?limit=300is one call. - Wait for jobs with a backoff (a few seconds, then longer) rather than polling every second. The CLI's
waitand the MCPwait_for_jobtool do this for you. - Read the summary endpoints (lead counts, usage totals, the dashboard) instead of listing everything and counting it yourself.
Provider budgets are separate
This limit is about requests to this API. What a call spends at Apollo, Apify, Reoon or OpenRouter is priced per call and counted against the workspace's monthly budget in Settings, Autonomy and budgets. The cost overview shows where that stands.