What does this node do?
The Loop node processes arrays by repeating a sequence of nodes for each item. It’s essential for batch operations like scraping multiple URLs, processing spreadsheet rows, or handling API response lists. Common uses:- Process a list of URLs
- Iterate through spreadsheet rows
- Handle API response arrays
- Batch process data items
Quick setup
1
Add the Loop node
Find it in Tools → Loop
2
Connect your data source
Connect a node that outputs an array
3
Add nodes inside the loop
These will run for each item
4
Set loop limits
Configure max iterations and delays
Configuration
Required fields
The array to iterate over.Examples:
- From Sheets:
{{GoogleSheets_0.data}} - From API:
{{HTTP_0.body.results}} - Manual:
["url1", "url2", "url3"]
Optional fields
Maximum number of iterations to prevent runaway loops.Always set this as a safety measure.
Delay in milliseconds between iterations.Recommended:
- API calls: 1000-2000ms
- Web scraping: 2000-3000ms
- No external calls: 0ms
Loop variables
Inside a loop, access these special variables:| Variable | Description | Example |
|---|---|---|
{{Loop_0.currentItem}} | Current item | "https://example.com" |
{{Loop_0.index}} | Current index (0-based) | 0, 1, 2… |
{{Loop_0.totalItems}} | Total item count | 10 |
Accessing item properties
If items are objects:Output
After completion, the loop provides:{{Loop_0.results}}
Examples
Scrape multiple URLs
Input: List of URLs from Google Sheets Configuration:- Items:
{{GoogleSheets_0.data}} - Max iterations: 50
- Delay: 2000ms
- Web Scraper URL:
{{Loop_0.currentItem.url}}
Process API results
Input: API response with array of records Configuration:- Items:
{{HTTP_0.body.results}}
Email multiple recipients
Input: Contact list Inside loop:- Email to:
{{Loop_0.currentItem.email}} - Name variable:
{{Loop_0.currentItem.name}}
Nested loops
Process multi-dimensional data: Configuration:- Outer loop:
{{categories}} - Inner loop:
{{OuterLoop_0.currentItem.products}}
Best practices
Always set max iterations
Prevent infinite or runaway loops:Add delays for external calls
When calling APIs or scraping:Handle errors in the loop
Add error handling for each iteration: Use Conditional nodes to check for failures.Batch large datasets
For thousands of items:- Split into batches of 50-100
- Process each batch in a loop
- Add delays between batches
- Track progress in a log
Use meaningful node names
Inside loops, rename nodes clearly:Common patterns
Collect and aggregate
Filter while processing
Progress tracking
Common issues
Loop runs too long
Loop runs too long
- Reduce max iterations
- Add shorter delays
- Process in smaller batches
- Check for infinite loop conditions
Rate limited by API
Rate limited by API
- Increase delay between iterations
- Reduce batch size
- Implement exponential backoff
- Check API rate limits
Some items fail
Some items fail
- Add Conditional node to handle errors
- Log failed items for review
- Use retry logic for transient failures
Results array is empty
Results array is empty
- Ensure nodes inside loop produce output
- Check that results are being collected
- Verify input array has items

