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.
- 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 theAuthorization: Bearer YOUR_KEYheader tohttps://api.narwhalapi.com. - Read the central bank topics Start with
GET /v1/predictions/topics?group=central_banksto get the topic list, then useGET /v1/predictions/topics/{topic_id}for each bank. Getting the list first gives the script the topic IDs it needs for the event requests. - 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 bankimport 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) - 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
| Situation | Best option | Why |
|---|---|---|
| Read meeting dates by month | Central bank meetings guide | Groups the covered banks’ meetings by month |
| List every bank with a future decision date | Prediction topics script | Combines each bank’s earliest future event in date order |
| Read exact decision times | Economic 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 date | Bank |
|---|---|
| 2026-10-28 | Bank of Canada |
| 2026-10-28 | Federal Reserve |
| 2026-10-28 | Reserve Bank of New Zealand |
| 2026-10-29 | European Central Bank |
| 2026-10-30 | Bank of Japan |
| 2026-11-03 | Reserve Bank of Australia |
| 2026-11-04 | Central Bank of Brazil |
| 2026-11-05 | Bank of England |
| 2026-11-05 | Bank of Mexico |
| 2026-11-18 | Bank Indonesia |
| 2026-12-18 | Bank 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 2026 | Decisions in the 24 October 2026 figures |
|---|---|
| Wednesday 28 October | 3 |
| Thursday 29 October | 1 |
| Friday 30 October | 1 |
| Total for the week | 3 + 1 + 1 = 5 of 11 |
Published .
