How fast you can call.
Limits are per-IP for anonymous traffic and per-user for Clerk-authed traffic. Every response includes x-rate-limit-remaining; 429s carry Retry-After in seconds.
Free tier (anonymous)
| Endpoint | Limit | Window |
|---|---|---|
POST / | 30 req | 60s per IP |
POST / | 5 req | 5 min per IP |
POST / | 3 req | 1 hr per IP |
GET / | 120 req | 60s per IP |
GET / | edge-cached 60s | — |
Paid tier (Clerk Bearer or API key)
| Endpoint | Pro limit | Team limit | Enterprise |
|---|---|---|---|
POST / | 120 req / 60s | 600 req / 60s | custom |
POST / | 20 / 24h | 100 / 24h | custom |
POST / | 200 / day | 1000 / day | custom |
POST / | 1 / source / hr | 1 / source / hr | custom |
Tier mapping is governed by Stripe; see /pricing for the ladder. Soft-nudge banner shows when you cross 80% of a window; hard 429 only at 100%.
Headers on every response
x-rate-limit-remaining— requests remaining in the current window.x-rate-limit-reset— Unix timestamp when the window resets.retry-after— only on 429; seconds until the next allowed call.x-request-id— opaque id; include when filing a support ticket.