Hi ! I have an HTTP Request node calling the Claude API. When multiple items arrive, they all hit Claude at the same time and I get 429 rate limit errors.
My nodes before Claude API: HTTP Request → Claude API (HTTP Request)
What is the best way to make items arrive one by one to the Claude API node?
Thanks
per right.
If your question hasn’t been asked before, please follow the template below. Skip the questions that are not relevant to you. →
Describe the problem/error/question
What is the error message (if any)?
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
Add a Loop Over Items node (batch size = 1) before your Claude HTTP Request, then a Wait node after it (e.g., 2 seconds delay). Connect the Wait output back to the Loop input, and use the Done output for your next steps. This processes one item at a time with delays between calls.
Alternatively, Ainoflow Guard handles rate limiting with one HTTP check before Claude - set your limit (e.g., 50 calls/min), it returns 200 to continue or 429 to wait.
yeah dmitrijz’s approach is the way to go. the root cause is n8n’s default parallel execution, all items hit the node at once. loop over items forces sequential, which is exactly what you need here. rate limiter node is another option if you want something more flexible than a fixed wait delay
The easiest way is actually built into the HTTP Request node itself, no extra nodes needed. Click on your Claude API HTTP Request node, go to Add Option → Batching, set Items per Batch to 1 and Batch Interval to something like 1500ms. Thatll send them one at a time with a delay between each call which should keep you under the rate limit.
nice, didn’t know about the batching option directly on the node — that’s cleaner than adding loop + wait nodes. loop over items still makes sense if you need to inspect or transform results between requests, but for pure rate limiting this is way less setup