Rate Limiting
The RIPE Atlas API applies rate limiting to protect the service and ensure fair usage across all users.
Overview
Rate limits are in place across all API endpoints. Normal, non-excessive usage is generally not affected. The measurement creation API has stricter limits than read-only endpoints, reflecting the higher cost of creating and running measurements.
Response Code
When you exceed the rate limit, the API returns:
- HTTP 429 Too Many Requests
This indicates that you have sent too many requests in a given time window. Wait a few seconds or minutes before retrying.
Best Practices
To stay within rate limits and use the API efficiently:
- Avoid tight polling loops. Do not repeatedly request the same endpoint in rapid succession. Space out your requests and only poll when you expect data to have changed.
- Use a reasonable
page_size. Fetching more objects per page (up to the maximum of 500) reduces the total number of requests needed to retrieve a full result set. - Cache results client-side. If your application displays data that does not change frequently, cache API responses locally and refresh them at a sensible interval.
- Use the Streaming API for real-time data. If you need measurement results as they arrive, use the Streaming API instead of polling the REST API. The Streaming API pushes results to your client in real time, eliminating the need for repeated requests.
- Respect retry timing. When you receive a 429 response, back off before retrying. Implementing exponential backoff is a good practice.