Resources · n8n integration

n8n Loop Over Items (Split in Batches) nodeConfigure Loop Over Items (Split in Batches) in n8n.

Most n8n nodes already handle a list of items on their own. The n8n Loop Over Items (Split in Batches) node earns its place when they don't: it sends a fixed number of items through the loop output on each pass, then releases everything through done. Two parameters, version 3.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the n8n Loop Over Items (Split in Batches) node actually do?

Loop Over Items splits the data arriving from the previous node into batches and iterates over them. It keeps the original incoming data in memory, returns a predefined amount of it through the loop output on every iteration, and once the execution completes it combines all the processed data and returns it through the done output. The node name in a workflow file is n8n-nodes-base.splitInBatches.

Start with the question the docs ask first: do you need it at all? By default n8n nodes are built to process a list of input items, so a hundred rows go through a single node run without any loop. Reach for Loop Over Items when that default breaks down, and leave it out otherwise. A workflow with a loop wrapped around something that already loops is slower and harder to read.

The first real case is a node that only handles the first item it receives. Reading two RSS sources is the example the docs walk through: a Code node emits two items carrying a url field, Loop Over Items sits between them with Batch Size at 1, and the RSS Feed Read node gets each URL in turn through the expression {{ $json.url }}, an expression being the way a node reads a field from the item it just received.

The second is rate limiting. Batching requests keeps a workflow from firing everything at an API at once, which matters when the loop wraps a HTTP Request call, a Gmail send or a write to Google Sheets. The third is pagination against a service whose page count nobody knows in advance: the loop queries one page, processes it, increments the page number, and an If node decides whether to go round again.

That third case is also where the node bites. The docs are blunt about it: a loop like that needs a valid termination condition, and if the condition never matches, the execution gets stuck in an infinite loop. Two expressions help you watch what is happening. {{$("Loop Over Items").context["noItemsLeft"]}} returns a boolean, false while data remains and true once it is done, and {{$("Loop Over Items").context["currentRunIndex"];}} gives the index of the current run.

Nothing here is specific to one tool, which is the point: the same two parameters sit between a Slack post and a spreadsheet read just as well. If you want the wider picture of the platform before wiring this in, the n8n review covers it, and the n8n training goes through flow logic hands on.

Parameters

Which parameters does Loop Over Items expose?

The Loop Over Items (Split in Batches) node has 2 parameters. For each one: the node as you configure it in n8n, what the parameter changes, and our field notes.

01

Batch Size

batchSize

What you see in n8n

Notes & use cases

Sets the number of items to return with each call, so it decides how much data leaves the loop output per iteration and how many iterations the node will run in total.

Key parameters

  • Batch Size: a number field, entered directly in the panel. At 1 the downstream branch sees a single item per pass, which is what the RSS example uses so the reader node gets one feed URL at a time.
Use cases
feeding a node that only processes the first item it receives, or slicing a long list into calls small enough for an API that rate limits you.
02

Options

options

What you see in n8n

Notes & use cases

A collection opened with Add option. Nothing inside it applies until you add it, and options left out keep their default value. One option is available on this node.

Key parameters

  • Reset: a boolean. Turned on, the node starts again from the beginning of the input items and treats incoming data as a new set rather than a continuation of the previous items. Switch the parameter from Fixed to Expression and the result of that expression decides when the reset happens.
Use cases
querying a paginated service page by page with an If node holding the exit condition, which only works if that condition really can match.
Need help

Need help automating Loop Over Items (Split in Batches) with n8n?

A person reads every message.

FAQ

Loop Over Items, questions people ask

01Is the Loop Over Items node included with n8n?
Yes. It is a core node shipped with n8n, so there is nothing to install and no extra cost on the n8n side. It behaves the same on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance installed through Docker or npm under the Community Edition and its Sustainable Use license. A workflow built in one place runs the same in the other, which means a loop you test locally moves to Cloud untouched. The node is listed under Core Nodes in the panel, next to the other flow logic nodes.
02What do you need to set up before using it?
Nothing on the account side. This node has no credential and no Authentication selector, so there is no key to paste, no scope to grant and no connection to approve before it runs. What it does need is data in front of it. Loop Over Items does not open a workflow on its own, so a trigger has to come first, a Schedule Trigger, a Webhook or the trigger of whichever tool you are pulling from. After that the only decisions are the batch size and whether the Reset option belongs in your loop.
03What are the limits of the n8n Loop Over Items (Split in Batches) node?
The node exposes two parameters, Batch Size and the Options collection with its single Reset option, and that is the whole surface. It has no built in stop condition, so a loop that reprocesses its input needs a termination condition of your own, usually an If node, or the execution runs forever. The page describes version 3, the highest in the catalog. An older workflow can still show an earlier version with fewer options, and a node never upgrades itself, so check the version shown in the panel before hunting for a setting that is not there.
04When should you add this node instead of letting n8n loop by itself?
Only when the default fails you. n8n nodes are designed to process a list of input items, so most of the time the items flow through without any help and adding a loop just slows the workflow down. Three situations justify it. A node that handles only the first item it receives, like the RSS Feed Read node in the documented example. An API that rate limits you, where batching the calls spreads them out. And pagination where the number of pages is unknown until you get there, which is the case the Reset option was built for.
05n8n or Make for looping over a list?
Both do it, and the choice rarely comes down to the loop itself. Make is a hosted automation platform with no self-hosting option and billing per operation, so a loop running many small iterations is a cost line you can predict but not avoid. n8n runs on Cloud or on your own servers, which is what matters when the data passing through the batches cannot leave your infrastructure, and the pricing model is not counted per iteration. Judge on hosting, data control, the cost model and which visual logic you read faster.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.