n8n API 連携で Narwhal API を使う

n8n と Narwhal API を組み合わせると、祝日、発表日、経済データ、コモディティ、FX、予測市場のオッズをワークフローに取り込めます。HTTP Request ノードが APIキーを使ってデータを取得し、Schedule Trigger が一定の間隔でワークフローを開始できます。

セットアップする内容

n8n はワークフローのノードをつなぎます。この設定を使うと、シートやメールなどの宛先に渡せるデータリクエストができあがります。Narwhal の APIキーを認証情報に保存し、必要なデータ用に HTTP Request ノードを設定し、レスポンスのリストを行ごとの項目に分割します。REST と MCP は同じキーを共有するため、n8n のリクエストもそれらと同じキーを使います。

APIキーを設定

  1. 無料キーを作成する narwhalapi.com/signup でアカウントを作成し、無料の APIキーを取得します。Narwhal API は1つのアカウントと1つのキーでデータ API 全体を利用できるので、n8n で接続するどの分野にも同じキーを使います。
  2. キーを保存する キーは NARWHAL_API_KEY という環境変数に保存します。n8n の認証情報を設定するときは、Bearer YOUR_KEY の YOUR_KEY の部分にそのキーを使います。
  3. Header Auth を設定する HTTP Request ノードで、Authentication を Generic Credential Type にして Header Auth を使います。名前は Authorization、値は Bearer YOUR_KEY にします。キーは認証情報に保存されます。
    Header Auth 認証情報
    Authentication: Generic Credential Type > Header Auth
                    (name Authorization, value Bearer YOUR_KEY)

コードなしでデータを取得する

ベース URL は https://api.narwhalapi.com で、各サンプルにはノードに入力する完全な URL が含まれています。接続する分野ごとに、対応する URL とレスポンスの処理を設定した HTTP Request ノードを別に使います。Header Auth の設定は、これらのノードすべてで同じです。

  1. HTTP Request ノードを追加する メソッドは GET にして、取得したい分野の URL を入力します。リクエストには Header Auth 認証情報を使います。以下の各分野のサンプルでも、同じ認証設定を使います。
  2. クエリパラメーターを追加する クエリパラメーターはノードのクエリパラメーター一覧に入力します。発表日の場合は、2026年11月の発表カレンダー用に、カレンダーの URL に countries、start_date、end_date、limit を付けます。countries には USA、start_date には 2026-11-01、end_date には 2026-11-30、limit には 100 を入力します。
  3. レスポンスのリストを分割する レスポンスにリストが含まれる場合は、HTTP Request の後に Split Out ノードを追加します。リクエストに応じて、フィールドに holidays、releases、observations、rates、meetings のいずれかを設定すると、1行につき1項目が得られます。
  4. 宛先をつなぐ できあがった項目を、設定に合わせてシートやメールなどの宛先ノードにつなぎます。対応するサンプルに示されたフィールドを読み取ってください。Brent の場合は、単一のレスポンスオブジェクトから {{ $json.price }} を読み取ります。

スケジュールで実行する

Schedule Trigger ノードを追加して、たとえば毎日 07:00 のように一定の間隔でワークフローを開始します。トリガーがデータリクエストを開始するよう、HTTP Request の前に置きます。リストを返すレスポンスの場合の流れは、Schedule Trigger、HTTP Request、Split Out、そして宛先ノードです。

リクエストする分野に合う Split Out のフィールドを使います。Brent のレスポンスは単一のオブジェクトなので、その price フィールドを宛先に渡します。スケジュールされたリクエストについては、毎日のデータ取得をスケジュールするも参照してください。

n8n で祝日を扱う

2026年の米国の祝日をリクエストし、holidays リストを分割します。各祝日には date と name があり、宛先をつなぐときに各項目からそれらのフィールドを読み取ります。URL には国と年の両方が含まれ、Split Out ノードにはリクエストが返したリストのフィールドを使います。宛先がシートの場合は、祝日の日付に {{ $json.date }}、名前に {{ $json.name }} を使います。

祝日のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

Holidays   GET https://api.narwhalapi.com/v1/calendars/holidays/USA/2026
           Split Out field: holidays            read: {{ $json.date }}, {{ $json.name }}

n8n で発表日を扱う

カレンダーのリクエストとそのクエリパラメーターで、2026年11月の米国の経済指標の発表日を取得します。releases リストを分割して、発表ごとに1項目を読み取ります。レスポンスのフィールドには at、period、topic、status があり、サンプルでは宛先用に at と topic を読み取ります。Split Out の後は、発表時刻に {{ $json.at }}、トピックに {{ $json.topic }} を使います。

発表日のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

Releases   GET https://api.narwhalapi.com/v1/economics/calendar
           query: countries=USA, start_date=2026-11-01, end_date=2026-11-30, limit=100
           Split Out field: releases            read: {{ $json.at }}, {{ $json.topic }}

n8n で経済データを扱う

Narwhal の経済データには CPI、インフレ、GDP、利回りが含まれます。米国の経済データには CPI 観測値のリクエストを使い、クエリパラメーター一覧に start=2025-09 を入れます。observations を分割して観測値ごとに1項目を取得し、その period と value を読み取ります。各観測値が日付の目安を保てるよう、宛先でも期間を値と一緒に保持してください。

CPI のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

Economics  GET https://api.narwhalapi.com/v1/economics/USA/cpi/observations
           query: start=2025-09
           Split Out field: observations  read: {{ $json.period }}, {{ $json.value }}

n8n でコモディティを扱う

コモディティの URL で、Brent のスポット価格を USD で取得します。このレスポンスは単一のオブジェクトなので、サンプルの式で price を直接読み取ります。スポットコードには、たとえば XAU、XAG、XPT、XPD、XCU、BRENT、WTI があります。ここでのリクエストは、URL に BRENT と USD を使います。

Brent のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

Commodity  GET https://api.narwhalapi.com/v1/commodities/spot/BRENT/USD
           read: {{ $json.price }}

n8n で FX を扱う

URL に USD、クエリパラメーター一覧に currencies=EUR,IDR を指定して、為替レートを取得します。返された rates リストを分割し、各項目から currency と rate を読み取ります。各行にレートと並べて通貨も入れたい場合は、両方のフィールドを宛先に送ります。リクエストする通貨は EUR と IDR で、基準通貨は USD です。

FX のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

FX         GET https://api.narwhalapi.com/v1/fx/rates/USD
           query: currencies=EUR,IDR
           Split Out field: rates  read: {{ $json.currency }}, {{ $json.rate }}

n8n で予測データを扱う

連邦準備制度の政策パスの予測を取得し、meetings リストを個別の項目に分割します。各会合には resolves_at、p_cut、p_hold、p_hike があります。サンプルは resolves_at と p_hold を読み取るので、それらの式を使って会合の決定時刻とホールド確率を宛先に渡します。利下げの確率が必要なら p_cut、利上げの確率が必要なら p_hike を読み取り、宛先に渡します。

予測のリクエストとフィールド
Authentication: Generic Credential Type > Header Auth
                (name Authorization, value Bearer YOUR_KEY)

Predictions GET https://api.narwhalapi.com/v1/predictions/policy-paths/federal-reserve
           Split Out field: meetings  read: {{ $json.resolves_at }}, {{ $json.p_hold }}

APIキーを URL に入れてもよいですか?

キーは Header Auth 認証情報に保存してください。リクエストの URL はエンドポイント用で、認証情報が Authorization: Bearer YOUR_KEY をヘッダーとして付けます。クエリパラメーターは、各リクエストのノードのクエリパラメーター一覧に入れます。

429 はどう処理しますか?

HTTP Request ノードで Retry On Fail をオンにし、Retry-After の値に従います。このレスポンスとキャッシュの詳細は、レスポンスをキャッシュして 429 エラーに対処するを参照してください。

公開。

次のステップ