Skip to main content
Best answer

Looping large dataset with Delay step

  • November 26, 2025
  • 4 replies
  • 26 views

Forum|alt.badge.img

I’m trying to pull a large amount of data - it’s an API call to get roughly 9000 employees. I then run through a number of steps that include filtering out by specific details and then manipulating data before passing each employee through another API endpoint. My zap triggers on a schedule and then I am using Loop from Numbers to cycle through the API pagination to get all workers (25 at time to avoid throttling). I tried to add a Delay After Queue for 1 Minute after all the filter steps and right before the API call at the end, but I found that the delay release time was taking into account all the records, not just the filtered ones. 

 

Any suggestions on how to handle the pagination through all these records and not throttle the API call at the end? 

Best answer by melissa.hunchuck

My boss came up with a working solution for this so I’m posting for future reference.

Rather than using Looping, we are using Webhooks. 

1 Zap to schedule a Webhook - this Zap only has the schedule trigger to run daily and then a Webhook POST step to trigger the 2nd Zap. In the Webhook settings, we set it to JSON and set the data to iteration = 0 and max_iteration = 10000. Since my API endpoint has a pagination max of 100, we’ll iterate starting at 0 then increase 100 at a time until we reach 10000. 

The 2nd Zap then starts with a Catch Webhook trigger. The next step is Paths - the first path executes the actions but the other path is used to retrigger the Webhook. There is a 1 Minute Delay step to give the API calls the break I need so I didn’t get throttled. Then there is a Filter to check for the current iteration count, then a Formatter step to use math to add the next 100 to the iteration before ending the path with a Webhook step to POST to same Webhook as the start of the 1st Zap (there’s a message when saving that even states that the Zap will loop because of it). 

4 replies

Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • November 26, 2025

Hi ​@melissa.hunchuck 

Depends on the app API limits and app API endpoints you are trying to use.

For us to have more context, post screenshots showing how your Zap steps are outlined and configured.

 

You can use a Code step to make API requests and handle the data.

Looping Zap app has a limit of 500 iterations.

You can Delay for less than 1 minute: 

 

Help links for using Looping and Delay: 

https://zapier.com/apps/looping/integrations#help

https://zapier.com/apps/delay/integrations#help

 

If you are looking to hire help, there is a directory of Zapier Partners: https://zapier.com/experts


Sparsh from Automation Jinn
Forum|alt.badge.img+6

Hey ​@melissa.hunchuck,

I thinks it’s happening because Looping Step run in parallel rather than sequentially.

A big Code Step might also result in a timeout error as the limit for processing is only 30 seconds for professional and team plan. On enterprise plans the limit is 2 minutes.

You will probably have to use Looping with it as well if you decide to use that but it will only work if the iterations are less than 500. You can make the time shorter for delays in seconds by using the Code by Zapier. 

Another logic could be to run the code by Zapier to do one batch api call and save the next pagination details in Zapier tables/ Google Sheets to be triggered next. Hope it helps!

PS: If you need more active help, I’m happy to connect through my Zapier Solution Partner page if you’d like to reach out here- https://zapier.com/partnerdirectory/automation-jinn


Forum|alt.badge.img

My boss came up with a working solution for this so I’m posting for future reference.

Rather than using Looping, we are using Webhooks. 

1 Zap to schedule a Webhook - this Zap only has the schedule trigger to run daily and then a Webhook POST step to trigger the 2nd Zap. In the Webhook settings, we set it to JSON and set the data to iteration = 0 and max_iteration = 10000. Since my API endpoint has a pagination max of 100, we’ll iterate starting at 0 then increase 100 at a time until we reach 10000. 

The 2nd Zap then starts with a Catch Webhook trigger. The next step is Paths - the first path executes the actions but the other path is used to retrigger the Webhook. There is a 1 Minute Delay step to give the API calls the break I need so I didn’t get throttled. Then there is a Filter to check for the current iteration count, then a Formatter step to use math to add the next 100 to the iteration before ending the path with a Webhook step to POST to same Webhook as the start of the 1st Zap (there’s a message when saving that even states that the Zap will loop because of it). 


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • December 3, 2025

Awesome work here ​@melissa.hunchuck! 🙌 Thanks so much for sharing details of the clever solution you and your boss implemented. Really appreciate you taking the time to give back to the community like this 🤗 I’m sure there are plenty of folks looking to pull large amounts of data that would find your approach useful. 

And thank you to ​@Troy Tessalone and ​@Sparsh from Automation Jinn for jumping in to help out - love to see it! 🧡