Concepts and conventions
The Podio API only allows you to make a certain amount of API calls each hour. The general limit is 5,000 API calls per hour, but if the API call is marked as "Rate limited" in the API reference the call is deemed resource intensive and a lower rate of 1000 calls per hour is enforced. If you hit the rate limits the API will begin returning 420 HTTP error codes for all API calls. Rate limits are per user per API key.
You can monitor your current status by examining two HTTP headers that are returned with each request you make:
X-Rate-Limit-Limit: The ceiling for the request you just made X-Rate-Limit-Remaining: The number of requests you have left for the current 1 hour window
You cannot currently see when your rate limit counter is reset.
If you have a project that requires a higher rate limit contact firstname.lastname@example.org with a brief description of your project, your estimated usage and the client_id of the API key you are using.
Tips for reducing API usage
- Avoid making API requests inside loops. Instead of fetching individual objects inside a loop, fetch a collection of objects in one API operation. E.g. filter items
- Cache results whenever possible. This is especially true when you are displaying data to the public (i.e. every sees the same output).
- Don't poll for changes. Instead of polling Podio to see if your content has changed use webhooks or push to receive a notification.
- Use logging to see how many requests you're making
- Bundle responses with "fields" parameter