Hi guys,
I use the “S3 node” (version 1) to search for the existence of files in an R2 storage (Cloudflare) using prefixes.
I have several items that are sent to the “S3 node” to search for files corresponding to these items. Naively, I thought that, like all other nodes, the “S3 node” would run once for each item? But apparently, that’s not what happens, and I don’t understand why…
For example, if the prefixes of my 3 item files are:
- 2025/08/25/1234.md
- 2025/08/25/1235.md
- 2025/08/25/1236.md
Then the node output displays:
[
{
"Key": "2025/08/25/1234.md",
"Size": "2710",
"LastModified": "2025-08-25T15:14:47.176Z",
"ETag": "\"...\"",
"StorageClass": "STANDARD"
},
{
"Key": "2025/08/25/1234.md",
"Size": "2710",
"LastModified": "2025-08-25T15:14:47.176Z",
"ETag": "\"...\"",
"StorageClass": "STANDARD"
},
{
"Key": "2025/08/25/1234.md",
"Size": "2710",
"LastModified": "2025-08-25T15:14:47.176Z",
"ETag": "\"...\"",
"StorageClass": "STANDARD"
}
]
This is a problem because in the rest of the workflow, it makes me think that all three files have been found, when only the first one (2025/08/25/1234.md) exists in R2…
Am I required to use a “Loop Over Items (Split in Batches) node”? What am I missing?
Information on your n8n setup
- n8n version: Version 1.107.4
- Database (default: SQLite): postgres

