API Rate Limits
Rate limits for the VotePipe API
Overview
Rate limits are applied per API key to prevent abuse and ensure fair usage. Limits vary by plan tier.
Rate Limits
All organizations get 500 requests per minute regardless of plan tier. Rate limits are applied per organization using the organization ID as the key.
| Endpoint Group | Rate Limit | Window |
|---|---|---|
| /v1/* (API endpoints) | 500 requests | 1 minute (per org) |
| /hooks/* (Webhooks) | 500 requests | 1 minute (per org) |
| /auth/* (Auth endpoints) | 10 requests | 15 minutes |
Rate Limit Headers
Every API response includes rate limit information in headers:
X-RateLimit-LimitMaximum requests allowed per windowX-RateLimit-RemainingRemaining requests in current windowX-RateLimit-ResetUnix timestamp when the limit resetsRate Limit Exceeded
When you exceed the rate limit, you'll receive a 429 Too Many Requests response:
json
{
"error": "Too many requests",
"code": "RATE_LIMITED",
"retry_after_seconds": 60
}Best Practices
- Monitor the rate limit headers to avoid hitting limits
- Implement exponential backoff when receiving 429 responses
- Cache responses when possible to reduce API calls
- Use webhooks instead of polling when available