🌐
n8n HTTP Request・API連携
n8nのHTTP Requestノードで任意のREST/GraphQL APIを呼び出す方法。認証設定・ページネーション・レスポンス処理の実践的な使い方を解説。
HTTP Requestノードとは
n8nに専用ノードがないサービスでも、HTTP Requestノードで直接API呼び出しができる。REST・GraphQL・SOAPに対応。
基本設定
| 設定項目 | 説明 |
|---|---|
| Method | GET / POST / PUT / PATCH / DELETE |
| URL | エンドポイントURL(式で動的指定可) |
| Authentication | 認証方式(後述) |
| Headers | HTTPヘッダー |
| Body | リクエストボディ(JSON / Form Data / Binary) |
| Query Parameters | URLクエリパラメータ |
認証設定
n8nのCredential(認証情報)を使い、シークレットをワークフローに直書きしない。
| 認証方式 | 設定内容 |
|---|---|
| None | 認証不要 |
| Generic Credential Type → Header Auth | Authorization: Bearer {token} |
| Generic Credential Type → Basic Auth | ユーザー名/パスワード |
| OAuth2 | クライアントID・シークレット・スコープ |
| Predefined Credential | n8n組み込みの認証(GitHub, Slack等) |
GraphQL APIの呼び出し
Method: POST
URL: https://api.github.com/graphql
Headers:
Authorization: Bearer {{ $credentials.githubToken }}
Content-Type: application/json
Body (JSON):
{
"query": "query { repository(owner: \"n8n-io\", name: \"n8n\") { stargazerCount } }"
}
ページネーション処理
大量データを持つAPIのページネーションを自動処理できる。
設定:
Pagination:
Pagination Mode: Update a Parameter
Next URL: {{ $response.body.next_page_url }}
Complete When: next_page_url is empty
レスポンスの扱い
| 設定 | 説明 |
|---|---|
| Response Format | JSON / Text / File / Auto-detect |
| Put Output in Field | レスポンスを格納するフィールド名 |
| Split Into Items | 配列レスポンスをitemに展開 |
エラーレスポンスの処理
デフォルトでは4xx/5xxエラー時にワークフローが停止する。
Settings → On Error: Continue → 後続ノードでstatusCodeを確認
またはIF分岐で {{ $response.statusCode }} を条件に使う。
ユースケース
| ユースケース | 説明 | リンク |
|---|---|---|
| REST API→DB保存 | 外部APIデータを取得してDBへ | → doc |
| GraphQL×GitHub | IssueをGraphQLで取得・加工 | → doc |
| 認証付きAPI同期 | Bearer認証APIを呼び出す | → doc |
公式ドキュメント
- 1. 🔄n8n概要 - ワークフロー自動化プラットフォーム
- 2. ⚙️n8nワークフローの基本(ノード・コネクション・実行)
- 3. ⚡n8nトリガーの種類(Webhook・スケジュール・イベント)
- 4. 🔀n8nロジック制御(フィルター・条件分岐・ループ・マージ)
- 5. 🌐n8n HTTP Request・API連携
- 6. 🔗n8n主要インテグレーション(Slack・Gmail・GitHub)
- 7. 🛡️n8nエラーハンドリング・デバッグ
- 8. 🤖n8n AI・LLMエージェント(Chain・Agent)
- 9. 💻n8n Codeノード・カスタム処理
- 10. 🏢n8nエンタープライズ機能(ソース管理・シークレット・チーム管理)
- 11. 🌤️毎朝SlackにAIで天気・ニュースを通知する
- 12. 📊GitHubのPRをGoogleシートに自動記録する
- 13. 📧新規ユーザー登録時にWelcomeメールを自動送信する
- 14. 💳StripeのWebhookで決済完了を検知して処理する
- 15. 📈スケジュールトリガーで週次レポートを自動生成する
- 16. 🎫Gmailトリガーでサポートメールを自動Notionチケット化する
- 17. 🎯条件分岐でリード属性に応じて担当者を振り分ける
- 18. 📨ループ処理でリストを走査し一括メール送信する
- 19. 📋複数APIのデータをマージして統合レポートを作成する
- 20. 🗄️外部REST APIからデータを取得してDBに保存する
- 21. 🔍GraphQL APIでGitHubのIssueを取得・加工する
- 22. 🔐Bearer認証付きAPIを呼び出してデータ同期する
- 23. ✅SlackとNotionを連携したチームタスク管理フロー
- 24. 🤝GmailとHubSpotを連携したCRM自動化フロー
- 25. 🚀GitHubデプロイイベントをSlackに通知する
- 26. 🚨APIエラー発生時にSlackへアラートを送る
- 27. 🔁リトライ付きの堅牢なデータ同期フローを構築する
- 28. 📝エラーログをAirtableに自動記録する
- 29. 🤖LLMを使ったカスタマーサポート自動応答ボット
- 30. 🔎ドキュメントRAG検索システムを構築する
- 31. 📬AIでメール内容を自動分類・ルーティングする
- 32. 🔧JavaScriptで複雑なデータ変換処理を実装する
- 33. 📄npmライブラリを使ったPDF自動生成フロー
- 34. ✔️カスタムバリデーションロジックをCodeノードで実装する
- 35. 🗂️Gitでワークフローをバージョン管理する
- 36. 🌍環境変数で本番・ステージングを切り替える
- 37. 👥チームでのワークフロー共同管理フロー
- 38. 📋AIで履歴書を自動スクリーニング・スコアリングする
- 39. 🧾請求書PDFをOCRで自動データ入力・会計ソフト登録する
- 40. 📱ブログ記事→SNS自動投稿パイプラインを構築する
- 41. 📦Shopify注文処理を完全自動化する(在庫・配送・顧客通知)
- 42. 🔔予約リマインダーを自動送信してノーショーを削減する
- 43. 📊経営ダッシュボードを毎朝Slackに自動配信する
- 44. 🔭競合情報を自動収集してWeeklyレポートにまとめる
- 45. 🎉新入社員オンボーディングを完全自動化する
出典: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/