API · /bankofcanada-api

Bank of Canada API

healthy 3,789 Subscribers

Live official central-bank data from the Bank of Canada's public Valet API — no key, nothing cached. The Bank of Canada is the only major central bank with a fully open data API, and this exposes the three things markets watch. The fx endpoint returns the official daily exchange rates for 24 currencies against the Canadian dollar — USD/CAD, EUR/CAD, GBP/CAD, JPY/CAD and more — each in both directions (Canadian dollars per unit and units per Canadian dollar) with the observation date; these are the Bank's official published reference rates, not a retail aggregator (USD/CAD resolves to about 1.39). The rates endpoint returns the Bank's policy interest rate — the overnight target that sets the price of money in Canada — plus CORRA, the Canadian Overnight Repo Rate Average benchmark, with recent history so you can see the last moves. The yields endpoint returns the Government of Canada benchmark bond-yield curve (2, 3, 5, 7, 10-year and long) with the 10y-2y spread. This is the official-rates layer for any forex, fixed-income, treasury, research or macro app that needs authoritative Canadian central-bank numbers. Live from the Bank of Canada, nothing stored. Distinct from ECB-based FX and US-Treasury yield APIs — this is the Bank of Canada's own data. 4 endpoints.

api.oanor.com/bankofcanada-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/bankofcanada-api/openapi.json
/api/bankofcanada-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
366 ms
Server probes · 24h
Subscribers
3,789
active
Total calls
20
last 7 days
status Full status page → · 8 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 12,000 calls / month
  • 3 requests / second
  • Hard cap (429 above quota, no overage)
  • 12,000 calls/month
  • 3 req/sec
  • Official FX, policy rate & yields
  • No credit card
Sign in to subscribe

Starter

€8.00 /month

  • 145,000 calls / month
  • 8 requests / second
  • Hard cap (429 above quota, no overage)
  • 145,000 calls/month
  • 8 req/sec
  • 24 currencies, CORRA, GoC curve
  • Email support
Sign in to subscribe

Pro

€22.00 /month

  • 660,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 660,000 calls/month
  • 15 req/sec
  • Forex, fixed-income & macro pipelines
  • Priority support
Sign in to subscribe

Scale

€53.00 /month

  • 3,300,000 calls / month
  • 30 requests / second
  • Hard cap (429 above quota, no overage)
  • 3,300,000 calls/month
  • 30 req/sec
  • Central-bank-data scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

NBKR Kyrgyzstan FX API

Live official foreign-exchange reference rates from the National Bank of the Kyrgyz Republic (NBKR), read straight from the bank's published fixing — no key on the data, nothing cached, nothing stored. Get every currency the NBKR fixes against the Kyrgyzstani som (KGS) for the day, each normalized to a clean per-unit rate; look one currency up on its own; pull the separate weekly accounting rates (valid for seven days); or convert any amount between two listed currencies by crossing through the som. The som is the base and rates carry the NBKR fixing date. This is the Kyrgyzstan national-central-bank feed specifically — a distinct official source, separate from the other FX, central-bank and market APIs in the catalogue, so treasury, invoicing, payroll and accounting workflows that need the legally-referenced KGS rate can read it directly.

api.oanor.com/nbkr-api

Chile Economy API

Live Chilean economic indicators from mindicador.cl (Banco Central de Chile data). Chile runs on indicators no other currency uses: the UF (Unidad de Fomento) is an inflation-indexed unit that prices mortgages, rents and contracts, and the UTM (Unidad Tributaria Mensual) is the tax unit — both quoted in pesos and updated daily. The feed also carries the observed dollar and euro, the IPC inflation index, the IMACEC activity index, the central bank policy rate (TPM), the copper price (Chile is the world's top copper exporter) and unemployment. The indicators endpoint returns every indicator's latest value; the indicator endpoint returns one with its recent series; the history endpoint returns a full year of daily values; the convert endpoint converts amounts between the peso, UF, UTM, dollar and euro. Read live, nothing stored. This is Chile's own UF/UTM, FX, rate and copper indicator layer — distinct from generic FX feeds.

api.oanor.com/chile-api

Central Bank of Türkiye FX API

Live official exchange-rate data for the Turkish lira (TRY) from the Central Bank of the Republic of Türkiye (TCMB) — straight from its public daily rate XML as clean JSON. Unusually, the TCMB publishes four rates per currency: forex buying, forex selling, banknote buying and banknote selling. Get all of these for every published currency against the lira, for the latest or any past business day, normalised to one unit; pull a single currency's four rates, mid and the inverse; convert an amount between any two published currencies (including TRY) at the forex mid rate; or list the quoted currencies. Read live from the TCMB, nothing cached. This is the official Turkish-lira central-bank rate, with the forex/banknote split few other feeds expose — distinct from the ECB, BCRA, BCRP, NRB and other central-bank feeds and from market mid-rates: the TCMB's own lira rates.

api.oanor.com/tcmb-api

Nepal Rastra Bank FX API

Live official exchange-rate data for the Nepalese rupee (NPR) from Nepal Rastra Bank (NRB), the central bank of Nepal — straight from its public Foreign Exchange Rate API as clean JSON. Get the NRB's official buy and sell rate for every published currency against the rupee for the latest (or any past) day, normalised to one unit; pull a single currency's buy, sell and mid rate and the inverse; retrieve a currency's daily NRB buy/sell rate over a date range; convert an amount between any two quoted currencies (including NPR) at the NRB's mid rate; or list the NRB's quoted currencies. Read live from the NRB, nothing cached. Note the NRB quotes both a buy and a sell rate, and some currencies (such as the Indian rupee) are quoted per 100 units — every rate is also normalised to one unit for you. This is the official Nepalese-rupee central-bank rate — distinct from the ECB, BCRA, BCRP and other central-bank feeds and from market mid-rates: the NRB's own published rupee buy/sell rates.

api.oanor.com/nrb-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Bank of Canada API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Bank of Canada API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Bank of Canada API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Bank of Canada API cost?
Bank of Canada API has a free tier with 100 calls / month. Paid plans start at €8.00 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Bank of Canada API GDPR-compliant?
All requests to Bank of Canada API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/bankofcanada-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/bankofcanada-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/bankofcanada-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/bankofcanada-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.