Rate Limits

API rate limits and quotas per plan


Overview

The Formfex API enforces rate limits to ensure fair usage and platform stability. Limits are applied per API key using a sliding window algorithm.

There are three layers of protection:

  • Per-minute burst limit — prevents short traffic spikes
  • Per-hour limit — sustained request cap
  • Monthly quota — total API calls allowed per billing period (30-day rolling window)

Rate Limits by Plan

PlanPer MinutePer HourMonthly Quota
Free
Starter202002,000
Pro601,00020,000
Max1503,000200,000

Free Plan

Free plan does not include Public API access. Upgrade to Starter or higher to use the API.

Response Headers

Every successful API response includes rate limit headers so you can track your usage:

Hourly Rate Limit Headers

HeaderDescription
X-RateLimit-LimitYour hourly request limit
X-RateLimit-RemainingRequests remaining in the current hour window
X-RateLimit-ResetUnix timestamp (seconds) when the hour window resets

Example:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1710000000

Monthly Quota Headers

HeaderDescription
X-Monthly-LimitYour monthly API call quota
X-Monthly-UsedCalls used in the current 30-day period
X-Monthly-ResetUnix timestamp (seconds) when the monthly period resets

Example:

X-Monthly-Limit: 20000
X-Monthly-Used: 147
X-Monthly-Reset: 1712000000

Handling 429 Responses

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

Hourly / Burst Limit Exceeded

Headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1710000000
Retry-After: 45

Monthly Quota Exceeded

Headers:

X-Monthly-Limit: 20000
X-Monthly-Used: 20000
X-Monthly-Reset: 1712000000
Retry-After: 2592000

AI Endpoint Limits

AI-powered endpoints have additional per-endpoint rate limits on top of the general API limits:

EndpointStarterProMax
Generate Form10/hr30/hr100/hr
Smart Analytics5/hr20/hr
Analytics Chat30/hr100/hr

AI endpoint responses include their own headers:

HeaderDescription
X-AI-RateLimit-LimitPer-endpoint hourly limit
X-AI-RateLimit-RemainingRequests remaining for this endpoint
X-AI-RateLimit-ResetUnix timestamp when the endpoint limit resets

Best Practices

Retry Strategy

Implement exponential backoff when you receive a 429. Read the Retry-After header for the exact wait time instead of using a fixed delay.

  • Check headers proactively — monitor X-RateLimit-Remaining and slow down before hitting the limit
  • Cache responses when possible to reduce unnecessary API calls
  • Use webhooks for event-driven workflows instead of polling endpoints repeatedly
  • Batch operations where available to reduce the number of requests
  • Upgrade your plan if you consistently approach your limits