CONCURRENT_LIMIT
Too many requests running at once for your plan. Wait a second and retry.
What this means
[02]CONCURRENT_LIMIT caps how many requests your account can have running at once: Free 2, Starter 5, Growth 20, Scale 50, Enterprise 100. The cap is per account, not per key. Unlike RATE_LIMITED, it clears quickly: slots free up as your running requests finish.
When you'll see it
[03]HTTP 429. Body always includes code: "CONCURRENT_LIMIT". Branch on code, never on the human-readable message — wording can change without notice; the code is the stable contract.
Example response
[04]{
"status": "error",
"code": "CONCURRENT_LIMIT",
"message": "Too many concurrent requests for your tier (5/5 in flight). Retry in a moment.",
"in_flight": 5,
"limit": 5,
"retry_after": 1
}How to handle
[05]Back off and retry. The body always has `retry_after: 1` (seconds), plus `in_flight` and `limit`. Add some jitter so parallel workers don't all retry together. If you hit this often, cap your own concurrency at your plan's limit with a queue, or upgrade.
Suggested handling in a Node client:
if (data.code === 'CONCURRENT_LIMIT') {
// All slots busy. retry_after is always 1 second; add jitter.
await sleep(data.retry_after * 1000 + Math.random() * 500);
return retry();
}Free plan: this month's credits are used up. They reset at the start of the next UTC month.
The target site didn't respond within 15 seconds.
See the full error index for the complete catalog with the handling switch statement covering every code at once.