用 n8n API 接入 Narwhal API

用 n8n 配合 Narwhal API,可以把节假日、发布日期、经济数据、大宗商品、外汇和预测市场赔率拉进工作流。HTTP Request 节点用你的 API 密钥获取数据,Schedule Trigger 可以按间隔启动工作流。

你将完成的设置

n8n 用于连接工作流节点,这套设置会得到一个可以送往表格或邮件等目的地的数据请求。你会把 Narwhal API 密钥保存到凭据中,为所需数据配置 HTTP Request 节点,并把响应列表拆成每行一个条目。REST 和 MCP 共用同一个密钥,因此你的 n8n 请求与它们使用相同的密钥。

设置你的 API 密钥

  1. 创建免费密钥 在 narwhalapi.com/signup 创建账户并获取免费 API 密钥。Narwhal API 用一个账户、一个密钥覆盖全部数据 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。你连接的每个领域各用一个 HTTP Request 节点,配上对应的 URL 和响应处理。这些节点的 Header Auth 设置都相同。

  1. 添加 HTTP Request 节点 把方法设为 GET,并填入你想拉取的领域的 URL。请求使用 Header Auth 凭据;下面各领域的示例也使用相同的认证设置。
  2. 添加查询参数 查询参数要放进节点的查询参数列表;发布日期请使用日历 URL,并带上 countries、start_date、end_date 和 limit,用于 2026 年 11 月的发布日历。countries 填 USA,start_date 填 2026-11-01,end_date 填 2026-11-30,limit 填 100。
  3. 拆分响应列表 当响应包含列表时,在 HTTP Request 之后添加 Split Out 节点。按请求把字段设为 holidays、releases、observations、rates 或 meetings,即可得到每行一个条目。
  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 列表,每次发布读取一个条目。响应字段包括 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,每条观测值得到一个条目,再读取它的 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 请求以 USD 计价的 Brent 现货价格。该响应是单个对象:用示例中的表达式直接读取 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 中使用外汇

在 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 错误。

发布于。

后续步骤