← 노드 한 장 전체#10 · Loop Over Items
Loop Over Items
한꺼번에 말고 3개씩 나눠 보내기
이 글은 이런 분께요청 제한이 있는 API에 항목을 몇 개씩 나눠 보내야 하는 분

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요
요청 12개, 한 번에 보내도 될까요?
많은 API엔 "1초에 몇 번까지" 같은 제한이 있어요. 그럴 땐 Loop Over Items 노드로 나눠 보내면 됩니다.
먼저 결과부터
Loop Over Items는 항목을 묶음으로 나눠 처리한다. 요청 제한이 있을 때만 필요하고, 12개 도시를 3개씩 4번 + Wait 1초.
우리가 실제로 돌린 기록 · 실행 #71365 · 2026-10-24
우리가 실제로 돌린 기록 · 실행 #71365 · 2026-10-24
- Batch Size = 3 → 12개 도시를 3개씩 4번
- 묶음 사이엔 Wait 1초
- loop 출구는 묶음마다, done 출구는 다 끝나면 한 번
- 실제 실행: 7.0초, 12곳 날씨 전부 수신


따라 하기
아래 설정값은 이 영상에 나온 워크플로우 JSON에서 그대로 가져왔어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 실제로 넣은 값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.
Step 1. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 2. Code 노드 추가이름: 12 cities
| JavaScript | const cities = [
['Seoul',37.57,126.98],['Tokyo',35.68,139.69],['Beijing',39.90,116.41],
['Singapore',1.35,103.82],['Mumbai',19.08,72.88],['Dubai',25.20,55.27],
['London',51.51,-0.13],['Paris',48.86,2.35],['Berlin',52.52,13.40],
['New York',40.71,-74.01],['Sao Paulo',-23.55,-46.63],['Sydney',-33.87,151.21],
];
return cities.map(([city, lat, lon]) => ({ json: { city, lat, lon } })); |
Step 3. Loop Over Items 노드 추가이름: Loop Over Items
| Batch Size | 3 |
Step 4. Code 노드 추가이름: All done
| JavaScript | const rows = $input.all().map(i => i.json);
const hot = rows.reduce((a, b) => (b.temp_c > a.temp_c ? b : a));
const cold = rows.reduce((a, b) => (b.temp_c < a.temp_c ? b : a));
return [{ json: { cities: rows.length, hottest: `${hot.city} ${hot.temp_c}°C`, coldest: `${cold.city} ${cold.temp_c}°C` } }]; |
Step 5. HTTP Request 노드 추가이름: Get weather
| URL | https://api.open-meteo.com/v1/forecast?latitude={{ $json.lat }}&longitude={{ $json.lon }}¤t=temperature_2m |
Step 6. Edit Fields (Set) 노드 추가이름: Keep city + temp
| 필드 1 | city · string · {{ $('Loop Over Items').item.json.city }} |
| 필드 2 | temp_c · number · {{ $json.current.temperature_2m }} |
| 필드 3 | checked_at · string · {{ $now.setZone('Asia/Seoul').toFormat('HH:mm:ss') }} |
Step 7. Wait 노드 추가이름: Wait 1s
| Wait Amount | 1 |
| Wait Unit | Seconds |
가져와서 쓸 때 확인할 것
- YOUR_… 표시를 내 값으로 바꾸고, 계정이 필요한 서비스 노드만 자격 증명을 연결하세요. 그런 칸이나 노드가 없는 예제는 추가 계정 없이 실행할 수 있어요.
노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.