下一次美国消费者价格数据将于2026年11月10日星期二 13:30 UTC 发布,数据所属期为2026年10月。经济日历列出计划发布的数据及其确切 UTC 时间,请从中筛选消费者价格主题。
使用 API 完成操作
使用 GET /v1/economics/calendar 请求指定国家和日期范围的发布时间表。请求不支持主题筛选,因此 Python 代码会从日历响应中选取消费者价格数据发布。省略国家参数时,筛选出的消费者价格数据发布可能来自多个国家,因此需要美国时间表时,请保留 countries=USA。
- 获取密钥 获取免费 API 密钥,并将其保存在名为
NARWHAL_API_KEY的环境变量中。请求发送至https://api.narwhalapi.com,密钥放在Authorization: Bearer YOUR_KEY请求头中;脚本从环境中读取该密钥。 - 选择国家和日期范围 查询美国日历时,将
countries设为USA,并用start_date和end_date定义请求范围;脚本使用运行当天的日期和 120 天后的结束日期。查询多个国家时,可重复传入参数,如countries=USA&countries=GBR,也可省略countries以返回所有国家的数据发布。 - 筛选计划中的消费者价格数据发布 请求日历后,保留
topic为consumer_prices、status为scheduled且有at值的数据发布。脚本从匹配项中选择at最早的一项,并输出其数据所属时期、UTC 发布时间和发布机构的时区。import os from datetime import date, timedelta import requests r = requests.get( "https://api.narwhalapi.com/v1/economics/calendar", params={ "countries": "USA", "start_date": date.today().isoformat(), "end_date": (date.today() + timedelta(days=120)).isoformat(), "limit": 100, }, headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}, timeout=10, ) r.raise_for_status() cpi = [ x for x in r.json()["releases"] if x.get("topic") == "consumer_prices" and x["status"] == "scheduled" and "at" in x ] nxt = min(cpi, key=lambda x: x["at"]) print(nxt["period"], nxt["at"], nxt["timezone"]) - 读取数据发布字段 每次数据发布都有
release_id、country、name和topic,其中period标识数据所属月份,status描述计划发布的状态。对于美国消费者价格,series_id为usa-consumer-prices;若存在,at提供 UTC 时刻,timezone提供发布机构的 IANA 时区America/New_York。 - 继续读取其余分页 每页最多包含 100 次数据发布,脚本读取当前响应页中的数据发布。如果响应包含
next_cursor,请使用它读取其余分页,再从全部日历结果中选择最早的匹配项;日历端点详情请见经济数据发布 API 文档。
请求超时时间为 10 秒。脚本在读取 JSON releases 数组前调用 raise_for_status(),因此 HTTP 错误会在筛选消费者价格数据发布之前中止该流程;筛选逻辑从响应数组中读取数据发布字段。
无需代码查找日期
打开经济数据页面,在相应国家的通胀页面查看即将发布的消费者价格数据。各国通胀页面包含下一次发布日期,经济日历页面则按国家列出即将发布的数据。
如果只想查看日期,无需将日历请求接入模型或仪表盘,可以使用国家页面。先按国家缩小时间表范围,再结合数据所属月份查看发布日期,以区分数据对应的月份和计划发布的日期。
如需在手机上接收提醒,请使用日历订阅。订阅源将数据发布安排添加到 Google Calendar、Outlook 或 Apple Calendar;具体操作请参阅经济数据发布提醒指南。
不同情况应选哪种方法
| 情况 | 最合适的方法 | 原因 |
|---|---|---|
| 查看单个日期 | 该国的经济数据页面 | 通胀页面包含下一次发布日期 |
| 模型或仪表盘需要日期 | API 调用 | 响应包含数据所属时期和计划发布的 UTC 时间 |
| 手机提醒 | 日历订阅 | 订阅源将数据发布安排添加到日历 |
CPI 发布日期已确定吗?
数据发布前保持 status: scheduled,其 at 时间可能变动。在模型、仪表盘或使用计划发布时间的提醒中采用该日期前,请重新读取日历。
Basic 和 Pro 的 webhook 通过 release.rescheduled 事件通知时间表变更。需要计划发布的确切时刻时,仍应读取日历的 at 字段获取 UTC 发布时间,timezone 则标识发布机构的 IANA 时区。
为什么数据所属月份早于发布月份?
period 是数据所属月份,因此计划于 2026 年 11 月 10 日发布的数据对应 2026 年 10 月。其 period 为 2026-10,尽管发布日期在 11 月。
使用 period 确定 CPI 数据所属月份,使用 at 确定计划发布时间。分别读取这些字段,可在将发布日期接入模型或仪表盘时保留数据对应的月份。
如果数据发布没有具体时间怎么办?
当发布条目只有 date 时,将其视为日期。有些日历发布条目只有日期,没有时间,或只有日期范围,因此并非每个日历条目都有精确的 UTC 发布时间。
Python 筛选要求条目包含 at,因此这些条目不会被选中。如果需要只有日期或范围的发布条目,请将它们与有精确时间的条目分开读取;仅凭日期无法确定可转换到其他时区的时刻。
示例:2026年10月美国 CPI
对于2026年10月美国 CPI 发布,先查看 period: 2026-10。计划的 at 值为 2026-11-10T13:30:00Z,发布方时区为 America/New_York。
该 UTC 值表示2026年11月10日星期二的 13:30。纽约在11月使用 EST,即 UTC-5,因此从 13:30 减去五小时,得到同一天的 08:30。
对于2026年10月参考期,输出值依次为参考期、计划的 UTC 时间戳和发布方时区:
2026-10 2026-11-10T13:30:00Z America/New_York| 字段或换算 | 数值 |
|---|---|
| 参考期间 | 2026-10 |
| 计划的 UTC 时间 | 2026-11-10T13:30:00Z |
| 发布方的 IANA 时区 | America/New_York |
| 纽约时间换算 | 13:30 减去 5 小时 = 2026年11月10日星期二 08:30 EST |
2026年11月参考期的数据计划于2026年12月10日 13:30 UTC 发布。2026年12月参考期的数据计划于2027年1月13日 13:30 UTC 发布。
发布于。
后续步骤
创建免费密钥,在自己的代码中调用 API。 获取免费 API 密钥
