BYTETOOLS

Bank of Canada Valet API

Free Bank of Canada Valet API with no key: official exchange rates, interest rates, bond yields and economic series with decades of history. Tested example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the Bank of Canada Valet API?

The Bank of Canada Valet API is a free, key-free official API providing Canadian economic data — daily exchange rates, policy interest rates, bond yields and inflation series — with decades of historical coverage.

This is central bank data published directly by the Bank of Canada, which makes it authoritative for anything involving official Canadian exchange rates — the figures used for tax and accounting purposes.

The series-based model is worth understanding: everything is a named time series such as FXUSDCAD for the US dollar rate. You look up the series name once, then request observations, optionally as JSON, XML or CSV.

Quick facts

Base URL
https://www.bankofcanada.ca/valet
Authentication
No API key required.
Rate limit
No published hard limit; fair use expected.
Pricing
Free official central bank data.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Bank of Canada Valet API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch the latest USD/CAD exchange rate

GET https://www.bankofcanada.ca/valet/observations/FXUSDCAD/json?recent=1

curl
curl 'https://www.bankofcanada.ca/valet/observations/FXUSDCAD/json?recent=1'
JavaScript (fetch)
const res = await fetch("https://www.bankofcanada.ca/valet/observations/FXUSDCAD/json?recent=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.bankofcanada.ca/valet/observations/FXUSDCAD/json?recent=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "terms": {
    "url": "https://www.bankofcanada.ca/terms/"
  },
  "seriesDetail": {
    "FXUSDCAD": {
      "label": "USD/CAD",
      "description": "Daily average exchange rate: daily value of the US dollar expressed in Canadian dollars, for 1 unit of US dollar",
      "dimension": {
        "key": "d",
        "name": "Date"
      }
    }
  },
  "observations": [
    {
      "d": "2026-08-19",
      "FXUSDCAD": {
        "v": "1.3824"
      }
    }
  ]
}

Parameters

ParameterTypeRequiredDescription
observations/<series>/jsonpathRequiredSeries name and output format. observations/FXUSDCAD/json
recentintegerOptionalNumber of most recent observations. 10
start_date / end_datestringOptionalDate range as YYYY-MM-DD. 2026-01-01
lists/series/jsonpathOptionalList every available series. lists/series/json

Response fields

terms.urlstring
Link to the terms of use.
seriesDetailobject
Metadata for each requested series — label, description, dimensions.
observationsarray
The data points.
observations[].dstring
Observation date.
observations[].<SERIES>.vstring
The value, as a string — parse before use.

What you can build with the Bank of Canada Valet API

  • Convert currencies using official Bank of Canada rates for accounting
  • Chart Canadian interest rate and bond yield history
  • Support Canadian tax and compliance reporting
  • Analyse long-run Canadian economic trends

Common errors and how to fix them

404

Unknown series name.

Fix: Series names are specific codes like FXUSDCAD. Request /lists/series/json to find valid names.

Values are strings

Observation values are returned as JSON strings.

Fix: Parse explicitly, and use decimal arithmetic for financial calculations.

No observation for a date

Rates publish on business days only.

Fix: Weekends and Canadian holidays have no observation — read the date field rather than assuming continuity.

Bank of Canada Valet API — frequently asked questions

Is the Bank of Canada API free?

Yes, completely free with no API key. It is official central bank data.

Which series should I use for USD to CAD?

FXUSDCAD gives the daily average US dollar to Canadian dollar rate. Request /lists/series/json to browse the full catalogue.

Are these rates suitable for accounting?

Yes — Bank of Canada rates are the official reference used for Canadian tax and accounting purposes, which is their main advantage over commercial FX APIs.

Why are some dates missing?

Rates are published on business days only, so weekends and Canadian public holidays have no observation.

Tools that pair with this API

Bank of Canada Valet is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.