API rate limit issues when using Looping by Zapier
Hi there, I am running into issues where the “Looping by Zapier” action is running the zap iterations in parallel at the exact same time leading to rate limit issues in the API that I am using (100 requests per 20 seconds).
The “Delay After Queue” action seems to be working but the issue is that the minimum delay is 1 minute which means that it will take 60+ mins for the 60 runs of this zap that are needed.
Is there any other way to do throttling/rate limiting with the “Looping by Zapier” action without having such long delays?
Ideally looping by Zapier would perform the loop iterations in serial rather than in parallel, it would be nice to have this option in the setup of the looping by zapier action.
I could revert to doing the looping using webhooks on either end of the zap instead of using looping by Zapier but I would like to use looping by Zapier because it is cleaner.
Page 1 / 1
Hi @tpretori
Check out this help article:
The same concept can be applied to a Delay After Queue step within the Looping app in a Zap.
NOTE: I’ve previously submitted a ticket to Zapier Support with a feature request to have an option within the Looping app to run loops sequentially rather than in parallel for this exact use case.
Thanks Troy, good to know that the delay can be changed. Zapier should really update that help text.
Also great to hear that you submitted a request for sequential looping.
I ended up reverting to using webhooks to do the looping sequentially because even with the Delay After Queue set to 1 minute I was running into rate limit issues.
Daily Quota: Subscriptions are allocated 50,000 API calls per day (which resets daily at 12:00AM CST). You can increase your daily quota through your account manager.
Rate Limit: API access per instance limited to 100 calls per 20 seconds.
Concurrency Limit: Maximum of 10 concurrent API calls.
Hey @tpretori ,
There is a way where you can delay an execution dynamically. Loops by Zapier action gives iteration number which you can use in delay action.
For Eg - Lets assume you are looping in an array with vales A,B,C
If you want to delay dynamically, you can can give the input of Loop Iteration from Step 2.
So how this will work is, Loops will execute all the 3 array values together, But it will delay action for 1st value for 1 minutes, 2nd value for 2 minutes and so on. This will solve your problem of rate limits. Now you can use this same which@Troy Tessalone suggested in first answer, to delay in seconds.
Hope this solves your problem.
Thanks @jayeshkumarbhatia I think this could work!