SourceFinch Verified · Banking & financial statistics
Bank of Canada policy interest rate and Bank Rate, daily
The Bank of Canada's target for the overnight rate (the policy interest rate) and the Bank Rate for the 30 most recent business days, in percent, one record per day.
- Healthy · 100% of observed runs successful
- Banking & financial statistics
- Bank of Canada
- Canada
- Publisher's public API
- 3 typed fields
At a glance
- Publisher
- Bank of Canada · homepage
- Category
- Banking & financial statistics
- Jurisdiction
- Canada
- Publisher updates
- Each business day
- SourceFinch checks
- Daily by default
- Records per run
- 32 in the latest run
- Record key
date- Acquired from
- Publisher's public API:
https://www.bankofcanada.ca/valet/observations/V39079,V39078/json?recent=30 - Recipe
- v1.0.0, approved October 12, 2026
- Verified since
- October 12, 2026
- Last green run
- October 12, 2026
What the data contains
The Bank of Canada sets the target for the overnight rate, its policy interest rate, on eight fixed announcement dates a year; the Bank Rate is the rate it charges on overnight loans to financial institutions and sits at the top of the operating band, normally 25 basis points above the target. The Bank publishes both as business-daily series through its keyless Valet data service. This source asks Valet for the 30 most recent observations of each series on every daily run and makes one record per business day, keyed by the date, with both rates as numbers in percent. A monitor reports each new business day and, more usefully, the first day a new policy rate takes effect. The data describes monetary policy and contains no personal data. SourceFinch is independent of the Bank of Canada.
Fields and types
Every record has these fields. The key field date identifies a record across runs, so changes are reported field by field.
| Field | Type | Description |
|---|---|---|
datekey | date | Business day the rates apply to (YYYY-MM-DD). The record key. |
policy_rate | number, nullable | Target for the overnight rate (the policy interest rate), in percent (Valet series V39079). |
bank_rate | number, nullable | Bank Rate, in percent (Valet series V39078). |
Sample output
The first 5 of 32 records from SourceFinch's own run on October 12, 2026, exactly as delivered.
| Field | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 |
|---|---|---|---|---|---|
date | 2026-10-09 | 2026-10-08 | 2026-10-07 | 2026-10-06 | 2026-10-05 |
policy_rate | 2.25 | 2.25 | 2.25 | 2.25 | 2.25 |
bank_rate | 2.5 | 2.5 | 2.5 | 2.5 | 2.5 |
Sample as JSON
[
{
"date": "2026-10-09",
"bank_rate": 2.5,
"policy_rate": 2.25
},
{
"date": "2026-10-08",
"bank_rate": 2.5,
"policy_rate": 2.25
},
{
"date": "2026-10-07",
"bank_rate": 2.5,
"policy_rate": 2.25
},
{
"date": "2026-10-06",
"bank_rate": 2.5,
"policy_rate": 2.25
},
{
"date": "2026-10-05",
"bank_rate": 2.5,
"policy_rate": 2.25
}
]Evidence behind every value
- Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash
e1087ca2a4b7ad0548532ccb7e073f833e473d2dc8674a611f58161a53d87fe6. - Every value records where it came from in that response: a JSON Pointer into the retained capture.
- Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is
ca699e57e7174670a02aa28d847a2550b7a5aea7c86f326d7ec7d571cc0ec68b, timestamped October 12, 2026. - The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
- Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch:
sourcefinch verify-bundle run.wacz.
Terms posture and usage rights
- Terms
- Automated access permitted · publisher's terms
- robots.txt
- Allows this path · SHA-256
32a514576e8373e3… - AI-preference signals
- None observed at review
- Public record
- No
- Reviewed
- October 12, 2026; next review April 12, 2027
- Licence basis
- Publisher's terms of use
- Commercial use
- Allowed
- Redistribution
- Allowed
- Attribution
- Required (text below)
The Bank of Canada's terms of use permit anyone to freely use, copy, distribute and transmit its website content, with attribution to the Bank of Canada and an indication of changes, in a way that does not suggest the Bank endorses the user; bank note images, the Bank's logo and third-party content are excepted. Users must not circumvent request limits on the Valet API. www.bankofcanada.ca/robots.txt allows the Valet path, and Valet needs no key.
Source: Bank of Canada (target for the overnight rate, series V39079, and Bank Rate, series V39078), reformatted by SourceFinch. SourceFinch is independent of and not endorsed by the Bank of Canada.
Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.
Reliability
- Runs, last 30 days
- 1
- Green
- 100%
- Failed
- 0
- Median run time
- 0.8 s
- Latest run
- success, October 12, 2026
Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 12, 2026. A new recipe has only the history collected since that date; this is not a 30-day uptime guarantee.
Use it
Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).
Console
Open this recipe in the console: it preserves the reviewed URL, fields and record key. Review the latest captured sample, confirm source rights, and choose a schedule before creating your monitor.
Portable recipe
Copy into the console's Import or share a recipe panel to customize fields, types and schedules. This configuration contains no captured records or workspace IDs.
{
"schema": "sourcefinch/source@1",
"name": "Bank of Canada policy interest rate and Bank Rate, daily",
"url": "https://www.bankofcanada.ca/valet/observations/V39079,V39078/json?recent=30",
"recipe": {
"mode": "http",
"format": "json",
"items": "observations[*]",
"fields": {
"date": "d",
"bank_rate": "V39078.v",
"policy_rate": "V39079.v"
},
"required": [
"date"
],
"types": {
"bank_rate": "number",
"date": "date",
"policy_rate": "number"
}
},
"schedule": "daily",
"key_field": "date"
}source.json
The request body used by the API, CLI and SDK examples.
{
"name": "Bank of Canada policy interest rate and Bank Rate, daily",
"url": "https://www.bankofcanada.ca/valet/observations/V39079,V39078/json?recent=30",
"recipe": {
"mode": "http",
"format": "json",
"items": "observations[*]",
"fields": {
"date": "d",
"bank_rate": "V39078.v",
"policy_rate": "V39079.v"
},
"required": [
"date"
],
"types": {
"date": "date",
"bank_rate": "number",
"policy_rate": "number"
}
},
"key_field": "date",
"schedule": "daily",
"rights": true,
"catalog": {
"slug": "bank-of-canada-policy-interest-rate",
"version_id": "66eda8b6-4b42-4ae2-82d5-d11454494b80"
}
}REST API
Create an API key under Console → API keys. Reference: /docs/api.
# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/bank-of-canada-policy-interest-rate -H "Authorization: Bearer $SOURCEFINCH_API_KEY"
# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @source.json
# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"CLI
The sourcefinch CLI is not on npm yet; see /docs/cli.
sourcefinch login
sourcefinch catalog get bank-of-canada-policy-interest-rate --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_IDTypeScript SDK
The SDK is not on npm yet; see /docs/sdk.
import { SourceFinch } from "@sourcefinch/sdk";
const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("bank-of-canada-policy-interest-rate");
const source = await sf.sources.create({
catalog: { slug: entry.slug, version_id: entry.recipe.version_id },
name: entry.name.slice(0, 100),
url: entry.acquisition_path.endpoint,
recipe: entry.recipe.definition,
key_field: entry.recipe.key_field,
schedule: entry.recipe.schedule,
rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);MCP
Remote MCP server with OAuth; see /docs/mcp.
claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp
# then ask your agent:
"Use SourceFinch to monitor Bank of Canada policy interest rate and Bank Rate, daily: get_catalog_source bank-of-canada-policy-interest-rate,
then create_source with its create_source_args (dry run first), then run_source."Pricing
Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.
Guides using this source
Related sources
More from Bank of Canada and in banking & financial statistics.
SourceFinch is independent and is not affiliated with or endorsed by Bank of Canada. This page describes bank of canada policy interest rate and bank rate, daily as SourceFinch acquires it.