HTTP Request 노드로 GET/POST 요청을 보내고, API Key·Bearer Token 인증을 설정해 외부 API를 n8n 워크플로우에 연동한다.
🎯 학습 목표
이 강을 마치면 다음을 할 수 있습니다.
- HTTP Request 노드로 GET/POST 요청을 보내고 응답을 받을 수 있습니다.
- API Key와 Bearer Token 두 가지 인증 방식을 설정할 수 있습니다.
- JSON 응답을 파싱해 다음 노드에서 사용 가능한 형태로 만들 수 있습니다.
- 공식 노드가 없는 서비스도 HTTP Request로 연동할 수 있습니다.
💡 HTTP Request 노드가 왜 중요한가
이 섹션에서는 HTTP Request 노드의 역할과 위상을 살펴보겠습니다.
n8n에는 400개 이상의 공식 노드가 있지만, 세상의 모든 API를 공식 노드로 제공하는 것은 불가능합니다. 이때 등장하는 것이 HTTP Request 노드입니다. REST API 인터페이스를 제공하는 서비스라면 어디든 이 노드 하나로 연동할 수 있습니다. n8n을 사용하다 보면 자연스럽게 HTTP Request 노드가 가장 많이 쓰이는 노드 중 하나가 됩니다.
REST API란 HTTP 프로토콜을 통해 데이터를 주고받는 방식입니다. 주소(URL)에 요청을 보내면 JSON 형식으로 데이터를 돌려주는 구조입니다. 예를 들어 날씨 API에 오늘 서울의 날씨를 요청하면, API는 온도·습도·날씨 상태가 담긴 JSON을 응답합니다. HTTP Request 노드는 이 과정을 시각적으로 설정할 수 있게 해주는 도구입니다.
🔧 기본 설정 — URL·Method·Headers
이 섹션에서는 HTTP Request 노드의 핵심 설정 항목들을 살펴보겠습니다.
HTTP Request 노드를 캔버스에 추가하면 설정 패널이 열립니다. 가장 먼저 설정해야 할 세 가지는 Method(메서드), URL, Headers(헤더)입니다.
Method는 요청의 종류를 지정합니다. 가장 흔한 메서드는 다음 두 가지입니다. GET은 서버에서 데이터를 가져올 때 사용합니다. 검색, 조회, 목록 가져오기가 이에 해당합니다. POST는 서버에 데이터를 보낼 때 사용합니다. 새 항목 생성, 메시지 전송, 폼 제출이 이에 해당합니다. 그 외에도 PUT(전체 수정), PATCH(부분 수정), DELETE(삭제) 메서드가 있습니다.
URL은 요청을 보낼 API 엔드포인트 주소입니다. 고정 URL을 입력하거나, 표현식을 사용해 동적으로 URL을 생성할 수 있습니다. 예를 들어 https://api.example.com/users/{{ $json.userId }}처럼 이전 노드의 데이터를 URL에 삽입하는 것이 가능합니다.
Headers는 HTTP 요청에 함께 보내는 메타 정보입니다. 대부분의 API는 Content-Type 헤더를 요구합니다. JSON 데이터를 보낼 때는 Content-Type: application/json을 설정해야 합니다. 인증 정보도 헤더를 통해 전달하는 경우가 많습니다.
🌐 GET 요청 실습 — 공개 API 호출
이 섹션에서는 실제 공개 API를 호출하는 GET 요청 예제를 살펴보겠습니다.
JSONPlaceholder(jsonplaceholder.typicode.com)는 개발·테스트용으로 무료로 제공되는 가짜 REST API입니다. 인증 없이 바로 사용할 수 있어 API 연동 연습에 최적입니다. 다음 설정으로 게시물 목록을 가져오는 GET 요청을 만들어 보겠습니다.
- Method: GET
- URL:
https://jsonplaceholder.typicode.com/posts
워크플로우를 실행하면 100개의 게시물 데이터가 담긴 JSON 배열이 응답됩니다. n8n은 이 JSON 배열을 자동으로 100개의 아이템 배열로 변환해 다음 노드로 전달합니다. 각 아이템은 userId, id, title, body 필드를 가집니다.
특정 게시물만 가져오려면 URL에 ID를 지정합니다. https://jsonplaceholder.typicode.com/posts/1은 ID가 1인 게시물 하나만 반환합니다. 쿼리 파라미터를 추가하려면 URL 뒤에 ?userId=1처럼 붙이거나, 설정 패널의 Query Parameters 섹션에 키-값 쌍으로 입력합니다.
📮 POST 요청 — 데이터 전송
이 섹션에서는 서버에 데이터를 보내는 POST 요청 설정 방법을 살펴보겠습니다.
POST 요청은 서버에 새 데이터를 생성할 때 사용합니다. HTTP Request 노드에서 Method를 POST로 바꾸면 Body(바디) 설정 옵션이 나타납니다. Body는 서버에 전송하는 실제 데이터입니다. Body Content Type을 JSON으로 설정하고, 전송할 데이터를 JSON 형식으로 입력합니다.
{
"title": "n8n 학습 노트",
"body": "오늘 HTTP Request 노드를 배웠습니다.",
"userId": 1
}
이전 노드의 데이터를 Body에 동적으로 포함시키려면 표현식을 사용합니다. 예를 들어 { "title": "{{ $json.title }}" }처럼 작성하면 이전 노드에서 전달된 title 필드 값이 자동으로 삽입됩니다. 이 패턴을 활용하면 앞 노드에서 생성하거나 변환한 데이터를 API에 자동으로 전송하는 파이프라인을 만들 수 있습니다.
🔐 인증 설정 — API Key와 Bearer Token
이 섹션에서는 보호된 API에 접근하기 위한 인증 설정 방법을 살펴보겠습니다.
대부분의 실무 API는 인증을 요구합니다. HTTP Request 노드의 Authentication 설정에서 인증 방식을 선택할 수 있습니다. 두 가지 대표 방식을 알아보겠습니다.
첫째, API Key 인증입니다. API Key는 서비스가 발급해주는 고유 문자열로, 요청 시 헤더나 쿼리 파라미터로 전달합니다. HTTP Request 노드에서 Authentication → Predefined Credential Type → 해당 서비스 선택, 또는 Generic Credential Type → API Key를 선택합니다. API Key를 Headers에 포함할지 Query Parameters에 포함할지는 해당 서비스의 문서를 확인합니다.
둘째, Bearer Token 인증입니다. OAuth2나 JWT 기반 서비스는 Bearer Token 방식을 사용합니다. Headers에 Authorization: Bearer {토큰값}을 추가하는 방식입니다. n8n에서는 Authentication → Header Auth → Name: Authorization, Value: Bearer {{ $json.token }}으로 설정합니다. 토큰은 n8n Credentials에 안전하게 저장하고 참조하는 것을 권장합니다. 워크플로우 JSON에 토큰을 직접 하드코딩하면 보안 위험이 생깁니다.
📝 핵심 요약
| 설정 항목 | 역할 | 주요 값 |
|---|---|---|
| Method | 요청 종류 | GET(조회), POST(생성), PUT(수정), DELETE(삭제) |
| URL | API 엔드포인트 | 고정값 또는 표현식으로 동적 생성 |
| Headers | 요청 메타 정보 | Content-Type, Authorization |
| Body | POST 시 전송 데이터 | JSON 형식, 표현식으로 동적 삽입 |
| 인증 | 보호된 API 접근 | API Key, Bearer Token, Basic Auth |
다음 강에서는 n8n의 데이터 모델과 표현식 시스템을 깊이 살펴봅니다. JSON 구조를 이해하고 표현식으로 데이터를 동적으로 다루는 능력이 n8n 숙련도를 결정하는 핵심 역량입니다.
관련 주제
- HTTP Request 노드
- GET POST 요청
- API Key 인증
- Bearer Token
- REST API 연동
- JSON 응답 파싱
- AI 기술
- AI 기술 강의
- n8n + AI 워크플로우 설계법 20강
- 무료강의
- 무료 온라인 강의
- NUGUNA
- 누구나
