Starting June 1st, 2019, Populi will be tightening the rate-limiting for the API:
- The new limits will be
- 3AM-7PM Pacific: 50 requests per minute per API user.
- 7PM-3AM Pacific: 100 requests per minute per API user.
- There will be additional limits for certain high-intensity API calls, as well as per-IP and per-college limits.
- If you pass your limit, Populi will return HTTP response code 429 (Too Many Requests).
We're doing this in order to keep the API responsive for all users. Although most users won't notice the change, you may be affected if you use the API for bursts of small, fast API calls.
Handling 429 response codes by exponentially backing off
If your app exceeds its rate limit, you should pause for just over a minute before sending additional requests (that way you'll be guaranteed that the timer has been re-set). However, it's much more efficient to design your app to stay below the limit and avoid 429 responses altogether! You could do this by placing a small delay between calls.
- If your app is making API requests from multiple threads, you'll need to make sure all threads are backing off when receiving 429 responses.
Best practices to avoid 429 responses in the first place
We recommend the following practices to reduce interruptions and provide the best experience:
- Avoid constant polling.
- Add a small delay between rapid API calls.
- Cache your own data when you need to store specialized values or rapidly query large data sets.
- Only pull the data you need (set
If you have any questions about the upcoming changes, please contact Populi customer support!