Rate Limits
Understand rate limiting policies for the Nudg3 API
Rate Limits
The Nudg3 API implements rate limiting to ensure fair usage and platform stability. Rate limits are applied per API key and vary by subscription tier.
Rate Limit Tiers
| Tier | Per Minute | Per Hour | Per Day |
|---|---|---|---|
| Basic | 60 | 600 | 5,000 |
| Premium | 300 | 3,000 | 50,000 |
Export endpoints have additional limits: 10 exports per hour regardless of tier.
Rate Limit Algorithm
Nudg3 uses a sliding window counter algorithm with Redis backing. This provides:
- Smooth rate limiting without hard cutoffs at window boundaries
- Accurate counting across distributed systems
- Fail-open behavior (requests allowed if Redis is temporarily unavailable)
Response Headers
All API responses include rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit-* | Maximum requests allowed in the window |
X-RateLimit-Remaining-* | Requests remaining in the current window |
X-RateLimit-Reset-* | ISO 8601 timestamp when the window resets |
Rate Limit Exceeded
When you exceed the rate limit, the API returns a 429 Too Many Requests response:
The response includes a Retry-After header with the number of seconds to wait:
Best Practices
Implement Exponential Backoff
When receiving a 429 response, implement exponential backoff:
Monitor Rate Limit Headers
Check headers proactively to avoid hitting limits:
Batch Requests
Instead of making many small requests, batch your operations:
Cache Responses
Cache API responses to reduce request volume:
Export Rate Limits
Export endpoints have stricter limits due to their resource-intensive nature:
| Limit | Value | Behavior |
|---|---|---|
| Exports per hour | 10 | Strict, fail-closed |
| Concurrent exports | 1 | Additional exports queued |
| Max rows per export | 1,000,000 | Large exports split automatically |
Unlike other endpoints, export rate limits use fail-closed behavior. If Redis is unavailable, export requests are rejected.
Pre-Download Estimation
Before downloading large exports, check the statistics endpoint:
If the export is large, consider using date filters to break it into smaller chunks.
Brute Force Protection
The API includes brute force protection for invalid API keys:
| Threshold | Action |
|---|---|
| 10 failed authentications | IP blocked for 1 hour |
| Repeated blocks | Progressive blocking periods |
This protection prevents credential stuffing attacks while allowing legitimate users to recover from typos.
Requesting Higher Limits
If you need higher rate limits:
- Review your usage patterns for optimization opportunities
- Contact sales to discuss Premium tier upgrade
- For enterprise needs, custom limits are available