A few of my stories call external APIs that have rate limits, and I’ve run into failures when processing high volumes. I’m curious how others manage this. Is there a built-in way to handle rate limiting in Tines, or is it more about designing the story carefully to avoid hitting limits in the first place?
There are a few approaches depending on the situation. For predictable rate limits, introducing a Throttle mode Event Transform Action after each API call (especially within an Explode loop) is a simple and effective way to pace requests. You set the throttle to match the rate limit requirements of the API you’re calling. Alternatively, you could set a failure path for an Action and introduce a Delay before looping back to the original HTTP Request Action.
For APIs that return a 429 response (or any response for that matter!), you can enable the “Retries” option and/or the “Retry on status” option on an HTTP Request. While “Retries” allows you to specify the number of times to reprocess a failed action, “Retry on status” allows you specify specific status codes to rerun an action if you encounter a failure. This keeps your story adaptive rather than relying on a fixed wait time.
It’s also worth checking if the API you’re using has a bulk or batch endpoint. Replacing many individual calls with a single batched request is often the cleanest solution when it’s available.