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

    TierPer minutePer dayPer monthWebhook deliveries / dayPrice
    Free601,00020,000100$0 — hard wall, no overage
    Paid3005,000100,0002,000$150 / mo
    Enterprise60050,0001,000,00020,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.