List all central bank meetings in one list

Every central bank with an event in the prediction topics has a decision date you can list soonest first with one request for the topic list and one per bank. On 24 October 2026 the soonest were Bank of Canada, the Federal Reserve and the Reserve Bank of New Zealand on 28 October 2026, then the European Central Bank on 29 October and the Bank of Japan on 30 October.

Do it with the API

Use the prediction topics in the central_banks group to build a list across banks. The script keeps topics whose titles end in rate decision, reads their events, and prints the earliest future date for each bank. Each output row contains a UTC date followed by the bank name.

The event field to use is resolves_at. The when function reads its timestamp and handles the Z suffix as a UTC offset. An event needs that field and a timestamp later than the script’s starting time to enter the bank’s sorted list. If several future events belong to the same bank, only the earliest enters the combined output. The final sort happens after the script has collected the banks, so dates from separate topics appear together in order.

  1. Get an API key Create a free key and keep it in an environment variable called NARWHAL_API_KEY. The script reads that variable and sends the key in the Authorization: Bearer YOUR_KEY header to https://api.narwhalapi.com.
  2. Read the central bank topics Start with GET /v1/predictions/topics?group=central_banks to get the topic list, then use GET /v1/predictions/topics/{topic_id} for each bank. Getting the list first gives the script the topic IDs it needs for the event requests.
  3. Run the Python script The script reads each event’s resolves_at, keeps timestamps after the time it starts, and sorts those timestamps within each bank’s events. It takes the earliest future timestamp for that bank, converts it to a date, and adds the date and bank name to the output.
    Python, next decision for every central bank
    import os
    from datetime import datetime, timezone
    import requests
    
    HEADERS = {"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}
    BASE = "https://api.narwhalapi.com/v1/predictions"
    
    def get(path, **params):
        r = requests.get(f"{BASE}{path}", params=params, headers=HEADERS, timeout=10)
        r.raise_for_status()
        return r.json()
    
    now = datetime.now(timezone.utc)
    
    def when(text):
        return datetime.fromisoformat(text.replace("Z", "+00:00"))
    topics = [t for t in get("/topics", group="central_banks")["topics"] if t["title"].endswith("rate decision")]
    
    rows = []
    for topic in topics:
        events = get(f"/topics/{topic['topic_id']}")["events"]
        upcoming = sorted(when(e["resolves_at"]) for e in events if e.get("resolves_at") and when(e["resolves_at"]) > now)
        if upcoming:
            rows.append((upcoming[0].date().isoformat(), topic["title"].removesuffix(" rate decision")))
    
    for day, bank in sorted(rows):
        print(day, bank)
  4. Read the dates in order The final loop sorts the combined rows so the soonest date comes first, with banks that share a date grouped together. A bank appears only when its topic has an event with a future resolves_at; the script leaves out topics without one.

Find meeting dates without code

Open the central bank meetings guide to read meetings by month. It covers the Federal Reserve, European Central Bank, Bank of England, Bank of Japan, Bank of Canada, Reserve Bank of Australia and SNB. Each bank’s rate-odds page is another no-code route to its meeting events.

Use the monthly guide when you want to read dates for the banks it covers. Use a bank’s rate-odds page when your question concerns that bank. For a combined list of every bank in the prediction topics with a future event, use the script and read its date-sorted output.

Which option to use when

SituationBest optionWhy
Read meeting dates by monthCentral bank meetings guideGroups the covered banks’ meetings by month
List every bank with a future decision datePrediction topics scriptCombines each bank’s earliest future event in date order
Read exact decision timesEconomic calendar entries with topic == "policy_rate"Includes exact times for USA, AUS, BRA and MEX in the 24 October to 31 December 2026 window, as listed on 24 October 2026

The date list and the economic calendar answer different scheduling questions. Use the prediction topics to collect the banks’ decision dates into the same output. Use the calendar’s policy_rate entries when the clock time is part of what you need to read.

Why are some banks missing from the economic calendar?

The economic calendar has decision times for fewer countries than the prediction topics cover. On 24 October 2026, its policy_rate entries for 24 October to 31 December 2026 covered USA, AUS, BRA and MEX, with eight decisions in that window.

The prediction topics cover more banks and give a meeting date, though they do not always give the clock time. A bank’s absence from those calendar entries therefore does not mean its decision date is absent from the prediction topics. Read the bank’s topic events for the date used by the script.

Are these dates official?

These are prediction-market meeting-event dates from resolves_at, which follow each bank’s published schedule; the bank has the final word. The script converts that timestamp to a UTC date for the combined list. Read the resulting row as the date attached to the bank’s meeting event.

Do the topic IDs change?

Fetch the topic IDs from GET /v1/predictions/topics?group=central_banks each time you build the list. Use the returned topic_id values for the individual event requests, as the script does, instead of hard-coding IDs. The title filter selects the rate-decision topics from that group before the script requests their events.

Worked example: the week of 26 October 2026

The figures are from 24 October 2026. Take the earliest future decision date for each bank and sort the dates together. The resulting list has eleven banks with a future decision event; the UTC dates are:

UTC decision dateBank
2026-10-28Bank of Canada
2026-10-28Federal Reserve
2026-10-28Reserve Bank of New Zealand
2026-10-29European Central Bank
2026-10-30Bank of Japan
2026-11-03Reserve Bank of Australia
2026-11-04Central Bank of Brazil
2026-11-05Bank of England
2026-11-05Bank of Mexico
2026-11-18Bank Indonesia
2026-12-18Bank of Russia

Each row represents a bank’s earliest future event in the 24 October 2026 figures. Count the banks whose dates fall in the requested week, then add the daily counts. Keep the later rows in the full list when you also need the decision dates after that week.

To count the decisions in the week of 26 October 2026, keep the rows dated within that week. In the 24 October 2026 figures, Wednesday 28 October has Bank of Canada, the Federal Reserve and the Reserve Bank of New Zealand. Thursday 29 October has the European Central Bank, and Friday 30 October has the Bank of Japan.

Day in the week of 26 October 2026Decisions in the 24 October 2026 figures
Wednesday 28 October3
Thursday 29 October1
Friday 30 October1
Total for the week3 + 1 + 1 = 5 of 11

Published .