## Request rate

Each plan has a requests-per-minute cap applied per API key. Exceeding it returns
`429 RATE_LIMITED` with a `Retry-After` header — wait that many seconds before
retrying; do not retry in a tight loop.

| Plan | RPM | Capture concurrency |
|---|---|---|
| Free | lower tier | 2 slots |
| Paid plans | higher tier | more slots |

See the [pricing page](https://leancrawl.com/pricing) for current numbers —
plan quotas live in `PLANS` and are the single source of truth.

## Concurrency

Capture calls occupy a per-plan concurrency slot. When all slots are busy the
request queues briefly; sustained overload returns `429`. Design for backoff, not
for infinite parallelism — for bulk work prefer `crawl`, which manages its own
pipeline.

## Monitor cadence

`interval_minutes` has a per-plan floor (e.g. Free plans get a coarser minimum than
paid plans). The API rejects intervals below your plan's floor with `INVALID_REQUEST`.