Skip to Content
API ReferenceRate Limits

Rate Limits

Rate limits protect the API from abuse and ensure fair usage across all accounts.

Limits by plan

Two independent limits apply per request: one per API key and one per user account. The stricter of the two wins.

PlanPer key (per minute)Per user (per minute)
FreeBlockedBlocked
Starter60120
Pro300600

The per-user limit prevents limit multiplication across many keys on the same account.

Rate limit headers

Every API response includes headers showing your current usage:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Example:

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 287 X-RateLimit-Reset: 1710512400

Handling 429 responses

When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds to wait:

HTTP/1.1 429 Too Many Requests Retry-After: 12 X-RateLimit-Reset: 1710512400
const res = await fetch("https://api.formtorch.com/v1/forms", { headers: { Authorization: `Bearer ${process.env.FORMTORCH_API_KEY}` }, }); if (res.status === 429) { const retryAfter = parseInt(res.headers.get("Retry-After") ?? "60", 10); console.warn(`Rate limited. Retry after ${retryAfter}s`); // Queue the request or surface an error to the user }

If you need higher limits for a batch migration or data export, use the CSV export feature in the dashboard or contact support to discuss a custom arrangement.

Last updated on