Back to the guides

PRACTICAL SOFTWARE GUIDE

n8n Loop Over Items: when batching actually helps

For builders adding loops to every workflow or sending too many requests at once.

SOURCE-BASED ANALYSIS · NO HANDS-ON RATING

Check whether you need a loop at all

n8n usually processes incoming items without an explicit loop, although documented node and operation exceptions exist. Use Loop Over Items when you need controlled batches; batch size 1 processes an item individually. A Wait node can slow the flow between batches. The Loop Over Items node finishes after it has passed through its incoming batches.

Begin by writing down the actual reason for batching. It might be a provider request allowance, a small destination capacity or a requirement to review progress between groups. If the only reason is that you have multiple records, ordinary item processing may already cover the requirement. Inspect your node's documented behavior before adding feedback connections.

A 120-record planning exercise

Assume a fictional destination accepts individual record updates and your team chooses groups of 10 for observability. With 120 input records, there are 12 full groups. If each record causes one update, there are still 120 update requests. Grouping does not turn them into 12 bulk API requests unless you deliberately call a bulk endpoint that supports that contract.

For a proposed five-second pause between groups, 11 gaps contribute 55 seconds of waiting if there is no initial or final pause. That arithmetic excludes request time, retries and any actual node scheduling behavior. Measure the real flow in an isolated trial rather than presenting 55 seconds as a runtime prediction.

Build a request-budget worksheet

Input assumptionExample valueWhat to verify
Records120Unique IDs after filtering
Group size10Actual items passed downstream
Writes per record1Searches and follow-ups may add calls
Retry allowanceNot yet assignedProvider policy and side-effect safety

The example values are assumptions, not recommended universal settings. Check whether the provider counts requests per credential, application or account and whether other workflows share that allowance. A local pause in one workflow cannot by itself coordinate every process using the same external account.

Configuration and trial sequence

  1. Start with synthetic IDs and a non-production destination. Confirm ordinary processing handles every expected item.
  2. If explicit batches are necessary, add Loop Over Items and choose a small, explainable batch size.
  3. Connect the batch-processing path back as required by the node's workflow pattern and keep final reporting on the completion path.
  4. Add a Wait between groups if your design requires pacing. Verify where the pause occurs rather than assuming its position from the drawing.
  5. Trial empty input, one record, one exact group and a partial final group.
  6. Interrupt a controlled run and reconcile which IDs already reached the destination before restarting.

Keep batching separate from pagination

Batching divides records already available to a workflow. Pagination retrieves additional result pages from a source API. If the first source response contains 100 of 235 records, looping over those 100 cannot discover the missing 135 by itself. Complete and reconcile the read stage, or design a deliberate page-by-page pipeline with explicit progress tracking.

Choose the simplest adequate design

Use ordinary item processing when it meets the node's contract and the destination's constraints. Choose explicit batches when you can name the control they provide and prove the completion path handles the last group. Prefer a documented bulk operation only when its partial-failure response can be reconciled. Keep a per-ID outcome ledger for writes that would be costly to repeat. This is design guidance and a proposed validation plan; no live service throughput has been measured.

Sources and verification

Official documentation checked on 2026-10-28. Worked examples are hypothetical planning exercises, not measured product benchmarks.

Continue your evaluation