Rate Limiting
Rate limiting controls how fast requests are sent during tests. Proper rate limit configuration prevents 429 (Too Many Requests) errors and ensures reliable data collection.
Test-Time Rate Limiting
When running Full Collection or Iterate tests, you can configure per-endpoint rate limiting:
Configuration
| Setting | Description | Default |
|---|---|---|
Delay between requests (delayMs) | Milliseconds to wait between each request | 0 (no delay) |
Respect Retry-After (respectRetryAfter) | When receiving a 429 response, wait the time specified in the Retry-After header, then retry | true |
Where to Configure
Rate limit settings are per-endpoint and configured in the endpoint's test panel:
- Select an endpoint
- Open the test configuration
- Set the delay and retry-after options
- Settings are saved with the connector test data
How It Works During Tests
Delay Between Requests
When delayMs is set, the test runner waits the specified time between each API request:
Request 1 → wait 500ms → Request 2 → wait 500ms → Request 3 → ...
During the wait, a persistent rate limit bar appears in the progress modal showing the countdown.
Respect Retry-After
When enabled and the API returns a 429 response:
- The test reads the
Retry-Afterheader - Waits the specified duration
- Retries the same request
- The rate limit bar shows the wait time
This is useful for APIs that provide explicit rate limit guidance.
Connector-Level Rate Limits
Separately from test-time rate limiting, each endpoint can define production rate limits:
{
"rateLimit": {
"requests": 100,
"windowSeconds": 60
}
}
These limits are enforced during actual data collections (not during test runs). They define how many requests can be made within a time window.
See Endpoint Configuration for details.
Rate Limit Progress Bar
During streaming tests (Full Collection and Iterate):
- A persistent bar appears at the top of the progress modal when rate limiting is active
- Shows the countdown timer for the current delay
- Indicates whether the delay is from configured
delayMsor aRetry-Afterresponse - Disappears when the next request begins
Finding the Right Delay
Start Conservative
Begin with a higher delay and reduce it:
- Start with
1000ms(1 second between requests) - Run a test and check for 429 errors
- If no errors, try
500ms - Keep reducing until you find the sweet spot
Check API Documentation
Most APIs document their rate limits:
- Requests per minute: Divide 60000 by the limit (e.g., 100 req/min = 600ms delay)
- Requests per second: Use 1000ms / limit as the delay
- Burst limits: Some APIs allow bursts — you may not need constant delays
Common Delay Values
| API Rate Limit | Suggested Delay |
|---|---|
| 1000 req/min | 60ms |
| 100 req/min | 600ms |
| 30 req/min | 2000ms |
| 10 req/min | 6000ms |
Best Practices
- Always enable Respect Retry-After — It's the safest option for unknown rate limits
- Start with a delay for unfamiliar APIs — Better to be slow than to get blocked
- Monitor 429 responses — If you see them during tests, increase the delay
- Different endpoints may need different limits — Heavy endpoints may need longer delays than lightweight ones
- Account for iteration count — An iterate test with 100 values and 500ms delay takes ~50 seconds
Troubleshooting
"Still getting 429 errors with delay configured"
- Increase the delay — the API's rate limit may be stricter than expected
- Enable
respectRetryAfterto automatically handle 429 responses - Check if the API has per-endpoint rate limits (some endpoints have lower limits)
"Test is very slow"
- The delay applies between every request
- For iterate tests: total time ≈ iterations × (response time + delay)
- Consider reducing the delay or testing with a subset of values first
"Rate limit bar not showing"
- The bar only appears when
delayMs > 0or when a 429 response is being waited out - Verify rate limit settings are saved (check the endpoint configuration)
Related Documentation
- Test Modes - How rate limiting integrates with streaming tests
- Endpoint Configuration - Production rate limits
- Testing Connectors - General testing guide