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.

Monitor this sourceAPI, CLI, SDK and MCP

At a glance

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.

FieldTypeDescription
datekeydateBusiness day the rates apply to (YYYY-MM-DD). The record key.
policy_ratenumber, nullableTarget for the overnight rate (the policy interest rate), in percent (Valet series V39079).
bank_ratenumber, nullableBank 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.

FieldRecord 1Record 2Record 3Record 4Record 5
date2026-10-092026-10-082026-10-072026-10-062026-10-05
policy_rate2.252.252.252.252.25
bank_rate2.52.52.52.52.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_ID

TypeScript 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

All guides

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.