SpeedVitals API has a rate limit to protect our service from attacks and ensure its stability. For normal use case, the limits are quite high and wouldn't cause any issue.
There are primarily two rate limits:
- Global rate limit: The global rate limit is the maximum number of requests that can be made in a given time period across all API endpoints. The global rate limit is 120 requests in a minute. When this exceeds, the 429 Status Code will show up along with the rate limit headers, as described in the table.
- Concurrency limit: This rate limit applies on the number of tests running in parallel. The concurrency limit is 2 for single lighthouse test and 1 for batch lighthouse test. When this exceeds, the 429 Status Code will be returned and new test won't start until current tests finishes.
If you are facing any issues regarding rate limits, please Contact Us.
List of response headers when global rate limit exceeds:
Header | Description |
---|---|
Retry-After | The minimum time to wait in seconds before making next request |
X-RateLimit-Limit | The maximum number of requests available in the current time window. |
X-RateLimit-Remaining | The number of remaining requests in the current time window |
X-RateLimit-Reset | The time at which the current rate limit window resets in UTC epoch seconds |