To ensure API stability and fair usage, Formbricks implements rate limiting on all API endpoints.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/formbricks/formbricks/llms.txt
Use this file to discover all available pages before exploring further.
Rate Limit Configuration
Rate limits are applied per API key:- Limits are tracked using the API key ID
- Each API key has its own rate limit bucket
- Session-authenticated requests use the user ID for rate limiting
Rate Limit Headers
When rate limits are enforced, the API does not currently return rate limit headers, but this may be added in future versions.Exceeded Rate Limits
When you exceed the rate limit, you’ll receive a429 Too Many Requests response:
Rate Limit Tiers
Rate limits vary by API version and endpoint type:v1 API
The v1 API applies standard rate limiting:- Management API: Configured limits per API key
- Client API: More permissive limits for client-side operations
v2 API
The v2 API uses similar rate limiting configurations.Best Practices
Follow these best practices to avoid hitting rate limits:
1. Implement Exponential Backoff
When you receive a429 response, wait before retrying:
2. Cache Responses
Cache API responses when appropriate to reduce the number of requests:3. Batch Operations
When possible, use batch endpoints or limit query parameters to fetch multiple resources in a single request:4. Use Webhooks
Instead of polling for new responses, configure webhooks to receive real-time notifications:5. Optimize Query Parameters
Use filtering and pagination to reduce response sizes:Monitoring Usage
API key usage is tracked with alastUsedAt timestamp. Check when your key was last used to monitor activity:
- Keys update their
lastUsedAttimestamp on use - Updates are throttled to once per 30 seconds to reduce database writes
- Use this to identify active vs. inactive keys