# Rate limits

SerpWiz limits **requests per second (RPS) per account**. Every $10/mo of plan buys 1 RPS, so throughput scales linearly with your plan:

| Plan | RPS |
|---|---|
| Free | 1 |
| $10/mo | 1 |
| $50/mo | 5 |
| $100/mo | 10 |
| $250/mo | 25 |
| $500/mo | 50 |
| $1,000/mo | 100 |

Monthly and annual plans get the same RPS. Need more than 100 RPS? [Talk to us](mailto:sales@serpwiz.com).

## How it's enforced

- **Per account, not per key.** All your API keys share one limit.
- **Token bucket.** You can burst up to your RPS in any one second, refilling continuously.
- **Over the limit** you get `429 rate_limited` with a `Retry-After` header. It's free — retry after the wait.
- Your RPS comes from your active plan plus any RPS add-ons. Your credit balance doesn't change it, and an account without an active plan runs at 1 RPS.

## Concurrency

A search takes a few seconds, so to use your full RPS you need several requests in flight at once. Roughly:

```text
concurrent requests ≈ RPS × average latency (seconds)
```

At 10 RPS and ~4 s per search, keep about 40 requests in flight. Watch for `429`s and back off — see [Errors](/docs/errors#retrying).

## Checking your limit

Every response includes `X-RateLimit-Limit`, and [`GET /v1/account`](/docs/account) returns `rps_limit`. Usage, success rate and 429s are charted in your [dashboard](https://serpwiz.com/dashboard/usage).
