Overview
The Vepler API implements rate limiting to ensure fair usage and maintain service stability. Rate limits are applied per API key and vary based on your subscription plan.Rate Limit Tiers
| Plan | Requests/Hour | Requests/Second | Concurrent Requests |
|---|---|---|---|
| Free | 100 | 2 | 2 |
| Starter | 1,000 | 10 | 5 |
| Growth | 5,000 | 50 | 10 |
| Scale | 20,000 | 100 | 25 |
| Enterprise | Custom | Custom | Custom |
Rate Limit Headers
Every API response includes headers with rate limit information:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in current window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the rate limit resets |
X-RateLimit-Reset-After | Seconds until the rate limit resets |
X-RateLimit-Bucket | Rate limit bucket identifier |
Rate Limit Buckets
Different endpoints have separate rate limit buckets:| Bucket | Endpoints | Multiplier |
|---|---|---|
property-read | Property GET endpoints | 1x |
property-write | Property POST/PUT endpoints | 0.5x |
planning-read | Planning GET endpoints | 1x |
query | Complex query endpoints | 0.25x |
export | Data export endpoints | 0.1x |
Handling Rate Limits
Check Remaining Requests
Handle 429 Errors
When rate limited, the API returns a 429 status code:Retry Strategies
Exponential Backoff
Adaptive Rate Control
Batch Processing
Optimize API usage with batch requests:Queue Management
Implement a request queue to control rate:Best Practices
Cache Responses
Cache Responses
Cache frequently accessed data to reduce API calls:
Use Webhooks
Use Webhooks
For real-time updates, use webhooks instead of polling:
Implement Circuit Breaker
Implement Circuit Breaker
Prevent cascading failures with circuit breakers:
Monitor Usage
Monitor Usage
Track your API usage to avoid surprises:
Rate Limit Errors
Increase Your Limits
Upgrade Plan
Upgrade to a higher tier for more requests
Contact Sales
Request custom limits for enterprise needs