# What do quota_exceeded and rate_limit_exceeded mean?

> The two kinds of 429, how long each lasts, and how to pace your calls.

For API requests, both errors return `429 Too Many Requests`. The `error` field tells them apart. If you use the MCP connector, the limit comes back as a message in the tool's response instead of a 429.

| `error` | What ran out | When it clears |
|---|---|---|
| `rate_limit_exceeded` | The per-minute limit | At the top of the next clock minute. The `Retry-After` header gives the seconds to wait |
| `quota_exceeded` | The monthly allowance on the free plan | When the monthly allowance renews, or on upgrading. Waiting a minute does not lift it, and the response has no `Retry-After` |

All your API keys share one monthly allowance and one API per-minute limit. MCP connector tool calls draw on the same monthly allowance but have their own per-minute limit.

## Staying inside the limit

- Read `X-RateLimit-Remaining` and `X-RateLimit-Reset` on each response, and pause when the remaining count reaches 0.
- Calls running in parallel spend the same budget, so keep handling a 429 even when you pace.
- To read many tickers at once, use one [screener](/docs/api/screener/) call instead of one call per ticker.

Current limits for each plan are in the [rate limits table](/docs/api/#rate-limits) and on the [pricing page](/pricing/).
