API Guide
Rate Limits & Plans
Per-key and per-IP limits, how overage works, and what each API plan includes.
Two layers
- Per-IP, at the edge: 1,000 requests per 5 minutes. This catches scanners and abusive sources before they ever reach the API.
- Per-key: plan-driven, enforced per minute, per day, and per month. The monthly window follows your billing period, not the calendar month.
The layers do not compose linearly — many keys behind one NAT can hit the per-IP ceiling while every individual key is comfortably inside its own limit.
Knowing your own limits
GET /v1/whoami reports the effective windows for the calling key. On a metered plan, requests_per_month already includes the overage allowance your spend cap buys past the included quota, so it reads higher than the plan's published quota. An admin-set per-key override replaces that number rather than adding to it, so a key with a monthly override is capped at exactly that override with no overage headroom above it.
Some routes carry their own tighter caps on top of the key limit: the send routes (POST /v1/sms, POST /v1/emails) are capped at 60/minute and 10,000/day, and the webhook test route at 6/minute and 200/day.
Handling 429
HTTP/1.1 429 Too Many Requests
Retry-After: 12
{ "success": false, "error": "Rate limit exceeded.", "error_code": "rate_limited" }
Honor Retry-After, then back off exponentially with jitter. On a monthly-window 429 the wait can be long — the reset is your billing-period rollover, and the right response is a plan or spend-cap change, not a retry loop. For bulk work, pull larger pages rather than more requests: limit=100 costs one request, not a hundred.
Plans
| Tier | Per minute | Per day | Per month | Webhook deliveries / day | Price |
|---|---|---|---|---|---|
| Free | 60 | 1,000 | 20,000 | 100 | $0 — hard wall, no overage |
| Paid | 300 | 5,000 | 100,000 | 2,000 | $150 / mo |
| Enterprise | 600 | 50,000 | 1,000,000 | 20,000 | $500 / mo, custom contract |
Free is a hard wall: once a window is exhausted, calls return 429 until it resets — there is no overage to buy.
Paid and Enterprise are metered: requests past the included monthly quota keep working and bill at $10 per started block of 10,000 requests, up to the spend cap you set. Set the cap to zero if you want the plan quota to behave like a hard wall.
Enterprise limits and pricing are meant to be custom — the numbers above are the standard shape, and quotas, per-route caps, and terms are negotiated per contract.
Plans are company-wide: every key belonging to a company reports the same tier. To change plans or discuss Enterprise terms, contact us.